일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ios
- ios9
- Push
- 배포
- Android
- Android O Preview
- Google Cloud Messasing
- service
- 트위터
- unreal
- gradle
- NSURLConnection
- Google Cloud Messasging
- BLOCK
- AccountManager
- Unchecked Exception
- 카카오톡
- contentprovider
- 데이터 공유
- Android O
- In-app Billing
- 페이스북
- signing
- android studio
- xcode
- HTTP
- 안드로이드 개발 레벨업 교과서
- Activity 수명 주기
- GCM
- 다른 앱에서 열기
- Today
- Total
목록프로그래밍 (56)
노블의 개발이야기
1.2.1 안드로이드 스튜디오로 실용적인 개발 환경을 구축하자 Find Action : [Command + Shift + A] 이 커맨드로 안드로이드 스튜디오의 거의 모든 기능에 접근할 수 있습니다. 코딩 환경 [Preferences] -> [Editor] -> [Gerneral] -> [Appearance] Show line numbers : 소스 코드의 라인 번호를 보여줍니다. Show method separators : 메서드가 어디서 나뉘는지 보여줍니다. Show whitespaces : 공백과 탭이 구분됩니다. 1.2.2 단축키를 이용해 코드를 빠르게 입력하자 기본 자동 완성: Basic Completion [Ctrl + Space] 문자열을 바탕으로 예측하는 일반적인 자동 완성 기능입니다. 현..
앱이 SYSTEM_ALERT_WINDOW 권한을 사용하고 다음과 같은 창 유형 중 하나를 사용하여 다른 앱 및 시스템 창 위에 경고 창을 표시하려고 할 경우 TYPE_PHONE TYPE_PRIORITY_PHONE TYPE_SYSTEM_ALERT TYPE_SYSTEM_OVERLAY TYPE_SYSTEM_ERROR 이런 창은 항상 TYPE_APPLICATION_OVERLAY 창 유형을 사용하는 창 아래에 나타납니다. Android O를 대상으로 하는 앱의 경우, 위와 같은 창 유형을 사용할 수 없으며 TYPE_APPLICATION_OVERLAY 창 유형을 사용하여 경고 창을 표시합니다. TYPE_APPLICATION_OVERLAY TYPE_APPLICATION_OVERLAY 창 유형의 다음 특징을 염두에 두..
런처에 바로가기 아이콘을 생성하기 위해서 com.android.launcher.action.INSTALL_SHORTCUT 브로드 캐스트를 사용합니다. 그러나 Android O에서는 com.android.launcher.action.INSTALL_SHORTCUT 브로드캐스트는 암시적 브로드캐스트이므로 더 이상 앱에 아무런 영향을 주지 못합니다. 대신, ShortcutManager 클래스에서 requestPinShortcut() 메서드를 사용하여 앱 단축키를 만들어야 합니다. Pinning shortcuts (고정 단축키) 앱 단축키와 유사한 Pinning shortcuts를 사용하면 앱의 특정 기능을 빠르게 시작할 수 있습니다. 고정 단축키는 별도의 아이콘으로 런처에 표시됩니다. Note: 지원되는 런처로..
앱이 백그라운드 상태일 때 위치 업데이트가 매시간 단 몇 차례만 업데이트 받도록 제한됩니다. 이 변경사항은 Google Play Service를 포함한 위치 업데이트를 수신하는 모든 앱에 영향을 미칩니다. 위치 제한 대응 방법 앱을 포그라운드로 가져옵니다. 앱에서 포그라운드 서비스를 사용합니다. 이 서비스가 활성일 때 앱은 알림 영역에 진행 중인 알림을 표시해야 합니다. GeofencingApi 인터페이스와 같이, 전력 사용량 최소화를 위해 최적화된 API 요소를 사용합니다. 관련 API FLP (Fused Location Provider) 앱이 백그라운드에서 실행 중인 경우 매시간 몇 차례만 위치 업데이트를 받을 수 있습니다. 앱이 포어그라운드에 있을 경우 문제 없습니다. GeofencingApi 앱이..
2장 객체의 생성과 삭제 규칙 1. 생성자 대신 정적 팩터리 메서드를 사용할 수 없는지 생각해 보라 장점 생성자와는 달리 정적 팩터리 메서드에는 이름(name)이 있다. 생성자와는 달리 호출할 때마다 새로운 객체를 생성할 필요는 없다. 생성자와는 달리 반환값 자료형의 하위 자료형 객체를 반환할 수 있다. 형인자 자료형(parameterized type) 객체를 만들 때 편하다. 단점 public이나 protected로 선언된 생성자가 없으므로 하위 클래스를 만들 수 없다. 정적 팩터리 메서드가 다른 정적 메서드와 확연히 구분되지 않는다. 규칙 2. 생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라 점층적 생성자 패턴은 잘 동작하지만 인자 수가 늘어나면 클라이언트 코드를 작성하기 어려워지고, 무..
Android Application Component 안드로이드 어플리케이션을 구성하는 4가지 컴포넌트 Activity Broadcast Receiver Content Provider Service 모든 컴포넌트들은 Main Thread 에서 실행됩니다. 따라서 Service 사용시 Thread 작업이 필요한 경우 별도의 작업 Thread를 만들어 사용해야 합니다. Service 란? Service는 Android Application을 구성하는 4가지 Component 중 하나입니다.Activity 처럼 사용자와 상호작용하는 컴포넌트가 아니고 Background에서 동작하는 컴포넌트입니다.Activity 화면에서의 동작 뿐만 아니라 Acitivity가 종료되어 있는 상태에서도 동작하기 위해 사용되는 컴..
Service 액티비니와 프래그먼트는 화면에 표시되는 동안은 생존하지만 표시되지 않게 되면 onStop이나 onDestroy가 호출되어 폐기될 가능성이 있습니다.백그라운드 처리를 위해 준비된 컴포넌트가 Service 입니다. 3.3.1 Service의 종류와 수명주기를 이해하자 Service의 종류 1. 백그라운드에서 동작하는 Service Context.startService()를 호출해 시작되는 서비스입니다. 2. Binder 를 통해 바인드하는 Service Context.bindService()를 호출해서 Service에 바인드하는 종류의 서비스입니다. 3. AIDL로 앱을 연계할 수 있는 Service AIDL(Android Interface Definition Language: 안드로이드 인터..
어떤 이벤트가 발생한 사실을 앱에 알리고 싶을 때 BroadcastReceiver에 통지한다.단말기 전원이 들어왔거나 디스크 용량 부족 등 시스템의 이벤트를 앱에 알리거나, 앱간의 연계를 위해 이벤트를 알리고 싶을 때 이용한다. 3.2.1 BroadcastReceiver의 기본을 이해하자 BroadcastReceiver는 브로드캐스트 Intent를 받았을 때의 처리를 onReceive에서 구현한다.어느 브로드 캐스트 Intent를 받을 지는 IntentFilter로 정의한다. public abstract void onReceive(Context context, Intent intent); 두 번째 인수로 전달되는 Intent는 Context.sendBroadcast() 등에서 보내진 블로드캐스트 Inte..
어떤 이벤트가 발생한 사실을 앱에 알리고 싶을 때 BroadcastReceiver에 통지한다.단말기 전원이 들어왔거나 디스크 용량 부족 등 시스템의 이벤트를 앱에 알리거나, 앱간의 연계를 위해 이벤트를 알리고 싶을 때 이용한다. 3.2.1 BroadcastReceiver의 기본을 이해하자 BroadcastReceiver는 브로드캐스트 Intent를 받았을 때의 처리를 onReceive에서 구현한다.어느 브로드 캐스트 Intent를 받을 지는 IntentFilter로 정의한다. public abstract void onReceive(Context context, Intent intent); 두 번째 인수로 전달되는 Intent는 Context.sendBroadcast() 등에서 보내진 블로드캐스트 Inte..
ContentProvider를 공부하던 중 UriMatcher를 보게되었다. UriMatcher란? 두 개의 Uri를 비교하여 해당하는 값을 출력해주는 기능을 하는 class 이다. URI 구성 content://com.androidhuman.phoneprovider/phones/lg/3 URI는 크게 authority와 path로 구성되어 있다. Description content:// 컨텐트 프로바이더에 의해 제공되는 데이터임을 알린다. 이부분은 변하지 않는다. com.androidhuman.phoneprovider 컨텐트 프로바이더의 authority 부분이다. 각 컨텐트 프로바이더의 고유 이름이다. phones/lg 컨텐트 프로바이더의 path 부분이다. 어떤 데이터를 변환할지를 이 부분을 통해 ..