[Android/안드로이드] Calendar Provider 기본 정보들. http://developer.android.com/guide/topics/providers/calendar-provider.html - SyncAdapter 는 provider 의 data 를 server 의 data 와 sync 시키는데 쓰인다. 예를 들어 Google Calendar 와 Calendar App 의 data 동기화에 쓰인다. - CalendarProvider 의 Calendars 와 Events 에는 sync adpater 가 쓰기 위한 column 들이 있고 이 녀석들은 함부로 건들면 안된다. - CalendarProvider 를 쓰기 위해서는 다음과 같은 권한들이 필요하다. android.permission.READ_CALENDAR android.permission.WRITE_CA.. 2012. 5. 22. [Android/안드로이드] Bound Services 고급정보, http://developer.android.com/guide/topics/fundamentals/bound-services.html - Local Binding 을 위해서는 Binder 를 상속하는 class 를 만들고 이 class 의 instance 를 return 해주면 된다. - Global Binding 을 위한 방법은 aidl 외에도 Messenger 를 이용하는 방법도 있다. 이 방법에서 service 는 Handler 를 만들고 다른 종류의 Message object 를 handle 해준다. 그리고 client 에서도 Messenger 를 구현해서 Message 를 받는다. 결국 go and back 이 Message object 다. ( 이녀석은 Parcelable ) Messenger.. 2012. 5. 21. [Android/안드로이드] Service 고급정보. http://developer.android.com/guide/topics/fundamentals/services.html - Service 는 특별히 명시하지 않는 한 Main Process 의 Main Thread 에서 돌기 때문에 Service 내에서 thread 관리를 해주어야 함. - Service 는 할 일이 끝나면, stopSelf() 나 stopService() 를 통해 종료를 해주어야 한다. ( bind 시에는 고려대상이 아니다. ) - 안드로이드 시스템에 메모리가 부족할 경우, Service 를 죽일 수 있다. 현재 user focus 를 가진 activity 가 이 service 와 연결되어 있다면, 죽을 확률은 현저히 떨어지고, 만약 service 가 run in foreground.. 2012. 5. 21. [Android/안드로이드] Messenger 를 이용한 IPC.( Service binding ) 다른 process 에서 돌고 있는 service와 통신할 때는 Messenger를 이용하는 방법이 있다. Activity SIde 먼저 Activity에서의 bindService 방법까지는 AIDL 과 같다. 단, ServiceConection class의 onServiceConnected 내용이 바뀌게 된다. 왜냐? 전달되어오는 IBinder 가 Messenser.getBinder() 를 통해 얻어진 객체이기 때문이다. 따라서 Messenser mService = new Messenger( service ); 로 service를 받아와야 한다. Messege를 보낼 때는, Messenger.send( Message ) 를 이용하며, 돌아오는 messege 를 handling 해줄 다른 Messenge.. 2012. 5. 21. [Android/안드로이드] Task & Back Stack. http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html - manifest 에 Activity B 를 정의할 때 launch 모드를 함께 정의했고, Activity A 가 B 를 call 할 때 다른 launch mode 를 준다면(launch mode 와 관련된 flag 를 준다면) call 하는 intent option 이 우선한다. Manifest 에는 기술할 수 있지만, flag 로는 설정 못하는 option 도 있고, 반대로 몇개는 flag 로는 설정될 수 있지만, manifest 에서는 설정 안 되는 것들도 있다. - singleTop 인 Activity 가 Stack 의 Top 에 위치해있을 때, Int.. 2012. 5. 21. [Android/안드로이드] Loader ( HoneyComb 부터 도입된 api. ) http://developer.android.com/guide/topics/fundamentals/loaders.html - Activity 의 onCreate() 나 Fragment 의 onActivityCreated() 함수에서 다음과 같이 loader 를 초기화합니다. // start new one or reconnect existing one.getLoaderManager().initLoader(0, null, this); // id, constructor, callback - id 가 이미 존재하는 녀석이면, 기존에 생성한 녀석을 재사용한다. 만약 id 가 존재하지 않는 녀석이라면, LoaderCallbacks 의 onCreateLoader() 를 호출하며, 새로 생성한다. - 만약 기존의 녀석.. 2012. 5. 18. [Android/안드로이드] Fragment 에 대하여. [Android/안드로이드] Fragment 에 대하여. http://developer.android.com/guide/topics/fundamentals/fragments.html - Fragment 는 Activity에 포함 가능한 sub activity로 볼 수 있는데, Activity 의 life cycle 과 비슷한 cycle 을 타고 간다. Fragment 도 Activity 처럼 extends 를 해서 작성 및 사용한다. - Fragment 는 Xml 에서도 정의 가능한데 태그를 사용한다. - Fragment 는 Back Stack 을 가지고 있다. 이것은 system 에서 관리해주는 activity back stack 과는 다르며, activity 에 유지되는, programmer 가 관리.. 2012. 5. 18. [Android/안드로이드] Activity 생명주기 관련된 고급정보들. http://developer.android.com/guide/topics/fundamentals/activities.html - Activity 가 stop 된 상태에서는 WindowManager 에서 detach 된 상태. - system 이 메모리가 없어서 process를 죽일 때, onPause() 는 반드시 불리지만, onStop() 이나 onDestory() 는 불린다는 보장이 없다. 따라서 onPause()에서 isFinish() 를 통해 해당 앱이 실제 종료되는건지, 잠시 pause 되는건지, 확인해주는 작업이 필요할 수 있다. - onSaveInstanceState() 는 activity 종료전에 반드시 불리지 않을 수도 있다. 예를 들어 유저가 Back button 을 눌러서 나갈 때에.. 2012. 5. 17. [Android/안드로이드] Android Application 기본에서 놓치기 쉬운 고급정보들. http://developer.android.com/guide/topics/fundamentals.html "Application Fundamentals" 라는 제목의 위 글을 읽으며, 기본인데도 빼먹거나 모르기 쉬운 정보들을 정리해보았습니다. UID ( User ID ) - 각각의 application 은 각각 다른 user 로 구분됨. - System은 각각의 application 에 Unix User ID 를 부여. 해당 UID ( permission 으로 작용 ) 를 가진 application 만 해당 Sandbox resource 에 접근할 수 있음. - 다른 app 또는 system service 와 data 나 resource 공유하는 방법. 1. 두 app 이 같은 UID 를 share 하.. 2012. 5. 17. 반응형 이전 1 ··· 93 94 95 96 97 98 99 ··· 125 다음