[Android] EventBus

EventBus is a publish/subscribe event bus optimized for Android.EventBus-Publish-Subscribe

EventBus…

  • simplifies the communication between components
    • decouples event senders and receivers
    • performs well with Activities, Fragments, and background threads
    • avoids complex and error-prone dependencies and life cycle issues
  • makes your code simpler
  • is fast
  • is tiny (~50k jar)
  • is proven in practice by apps with 100,000,000+ installs
  • has advanced features like delivery threads, subscriber priorities, etc.

 

EventBus in 3 steps

  1. Define events:
  2. Prepare subscribers: Register your subscriber (in your onCreate or in a constructor):
  3. Declare your subscribing method:
  4. Post events:

Gradle:

 

License

Copyright (C) 2012-2016 Markus Junginger, greenrobot (http://greenrobot.org)

EventBus binaries and source code can be used according to the Apache License, Version 2.0.

[Android] Notification 설정

알림 작업

선택 항목이기는 하지만 알림에 작업을 하나 이상 추가해야 합니다. 작업은 사용자가 알림에서 애플리케이션의 Activity 바로 있게 하고, 여기에서 사용자는 하나 이상의 이벤트를 보거나 많은 작업을 있습니다.

하나의 알림은 여러 개의 작업을 제공할 있습니다. 사용자가 알림을 클릭했을 트리거되는 작업을 항상 정의해야 합니다. 일반적으로 작업은 애플리케이션의 Activity 엽니다. 또한, 알람 다시 알림이나 텍스트 메시지에 즉시 답장 등과 같은 추가 작업을 수행하는 알림 버튼을 추가할 있습니다. 기능은 Android 4.1부터 사용할 있습니다. 추가 작업 버튼을 사용할 경우, 앱의 Activity에서 해당 기능을 사용할 있게 해야 합니다. 자세한 정보는 처리 호환성 섹션을 참조하십시오.

Notification에서 작업 자체는 애플리케이션에서 Activity 시작하는 Intent 포함된 PendingIntent 정의합니다. PendingIntent 동작과 연관시키려면NotificationCompat.Builder 적절한 메서드를 호출합니다. 예를 들어, 사용자가 알림 창의 알림 텍스트를 클릭했을 Activity 시작하려면,setContentIntent() 호출하여 PendingIntent 추가합니다.

사용자가 알림을 클릭했을 Activity 시작하는 동작이 가장 보편적인 작업 시나리오입니다. 또한, 사용자가 알림을 무시했을 Activity 시작할 수도 있습니다. Android 4.1 이후부터는 Activity 작업 버튼에서 시작할 있습니다.

 

HTTP Method 역할

POST, GET, PUT, DELETE 4가지에 대해서 간략히 정리

Method 역할
POST POST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
GET GET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
PUT PUT를 통해 해당 리소스를 수정합니다.
DELETE DELETE를 통해 리소스를 삭제합니다.




HTTP 응답 상태 코드

대표적인 HTTP 상태 코드를 정리해보자

상태코드 원인
200 클라이언트의 요청을 정상적으로 수행함
201 클라이언트가 어떠한 리소스 생성을 요청 해당 리소스가 성공적으로 생성됨(POST를 통한 리소스 생성 작업 시)
상태코드 원인
400 클라이언트의 요청이 부적절 할 경우 사용하는 응답 코드
401 클라이언트가 인증되지 않은 상태에서 보호된 리소스를 요청했을 때 사용하는 응답 코드
(로그인 하지 않은 유저가 로그인 했을 때 요청 가능한 리소스를 요청했을 때)
403 유저 인증상태와 관계 없이 응답하고 싶지 않은 리소스를 클라이언트가 요청했을 때 사용하는 응답 코드
(403 보다는 400이나 404를 사용할 것을 권고 403 자체가 리소스가 존재한다는 뜻이기 때문에)
405 클라이언트가 요청한 리소스에서는 사용 불가능한 Method를 이용했을 경우 사용하는 응답 코드
상태코드 원인
301 클라이언트가 요청한 리소스에 대한 URI가 변경 되었을 때 사용하는 응답 코드
(응답 시 Location header에 변경된 URI를 적어 줘야 합니다.)
500 서버에 문제가 있을 경우 사용하는 응답 코드




Google TensorFlow

TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google’s Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.




[Android] Action Bar 에서 Title 가운데 정렬하기

간단하게 정리하면

In Activity, in onCreate() method:

In XML, (abs_layout.xml)

참고 사이트 : http://stackoverflow.com/questions/12387345/how-to-center-align-the-actionbar-title-in-android

Google I/O 2016

지난 Google I/O 2016 에서 발표된 내용 중 웹과 관련된 주요 세션을 골라 한글 자막과 함께 제공해 드립니다.
아직 Google I/O 2016 세션을 보지 못하신 분들이나, 다시 한번 확인하고 싶은 분들께서는 한글 자막과 함께 시청해 보시기 바랍니다.

http://googledevkr.blogspot.kr/2016/08/google-io-2016-web-korean-subtitle.html