본문 바로가기
[Android/안드로이드] 액티비티 생명주기. ( Activity Life cycle ) 안녕하세요. 돼지왕 왕돼지입니다. 오늘은 안드로이드 component 중 가장 많이 사용하는 Activity. 이 액티비티의 생명주기에 대해 알아보겠습니다. 요 그래프만 제대로 이해해도, 생명주기를 이해할 수 있습니다. onCreate 액티비티를 초기화하는 데 사용된다. 특정 조건 ( Orientation 변화 등 )으로 중지했다 재시작하는 경우라면 액티비티의 이전 상태 정보인 Bundle이 전달된다. 물론 onSaveInstanceState() 에서 상태 정보를 저장해야 하지만 말이다. onRestart Activity가 재시작될 때 호출된다. onStart 액티비티가 사용자에게 보이기 진적에 호출된다. onResume 사용자와 상호작용을 하기 진적에 호출. 이 단계에서 스택의 제일 위로 올라온다. o.. 2012. 2. 19.
[Android/안드로이드] Activity의 상태 저장 ( SharedPreference와 Bundle 을 이용하는 빙법) 안녕하세요. 돼지왕 왕돼지입니다. 오늘은 Activity 의 상태를 저장하는 두가지 방법에 대해 알아보겠습니다. 두 가지 방법은 SharedPreference 와 Bundle 을 이용한 방법입니다. SharedPreference & Bundle 을 이용한 상태 저장 방법. int x, y; public void onCreate (Bundle savedInstanceState){ super.onCreate(savedInstanceState); if (savedInstanceState == null){ x = 50; } x = saveInstanceState.getInt("x"); } SharedPreferences pref = getSharedPreferences("savestate", 0); y = pr.. 2012. 2. 19.
[Android/안드로이드] Activity 의 상태 저장. Object 형태로. ( Serializable 과 Parcelable 을 이용한 방법 ) 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Activity 의 상태 저장 중 Object 를 저장하는 방법에 대해 알아보겠습니다. 저장은 Serializable 과 Parcelable 을 이용한 방법, 이 두가지 방법이 있는데 모두 알아보겠습니다. 2012/01/25 - [프로그래밍 놀이터/안드로이드] - [Android/안드로이드] Serializable이 뭔가요? Serializable class 를 만들 때 serial Version UID 가 필요한 이유를 아시나요? 2012/01/25 - [프로그래밍 놀이터/안드로이드] - [Android/안드로이드] IPC( 프로세스간 통신 ) 을 위한 Parcelable Object 만들기. 어렵지 않아요. 함께 만들어봐요. Serializable 을 이용하는 .. 2012. 2. 19.
[Android/안드로이드] Tab Activity 의 모든 것. 안녕하세요. 돼지왕 왕돼지입니다. 오늘은 Tab Activity 의 모든 것. 이라는 주제로 이야기해보겠습니다. TabHost 를 이용한 탭 구현. TabHost getTabHost() void addTab(TabHost.TabSpec tabSpec) TabHost.TabSpec TabHost.newTabSpec (String tag) TabHost.TabSpec setIndicator (CharSequence label [, Drawable icon]) TabHost.TabSpec setContent(int viewId) TabHost.TabSpec setContent (TabHost.TabContentFactory contentFactory) TabHost.TabSpec setContent (Inte.. 2012. 2. 18.
[Android/안드로이드] Dialog 에 대한 모든 것. 안녕하세요. 돼지왕 왕돼지입니다. 오늘은 Dialog에 대한 모든 것이라는 주제로 한번 이야기해보겠습니다. Dialog 생성 ( 대화상자 생성 ) AlertDialog.Builder(Context ocntext) AlertDialog.Builder setMessage (CharSequence message) AlertDialog.Builder setTitle (CharSequence title) AlertDialog.Builder setIcon (int iconId) AlertDialog show() AlertDialog create() setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener) setNeutralButto.. 2012. 2. 18.
[Android/안드로이드] Custom Dialog & Popup Window. 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Custom Dialog 와 Popup Window 에 대해 알아보겠습니다. Custom Dialog ( 커스텀 대화 상자 ) setView(View view) // custom view 설정 final LinearLayout linear = (LinearLayout) View.inflate(.this, R.layout.layout, null); new AlertDialog.Builder(.this) .setTitle("Input the information") .setIcon(R.drawable.icon) .setView(linear) .setPositiveButton("OK", new DialogInterface.OnClickListener(){ public v.. 2012. 2. 18.
[Android/안드로이드] Looper 에 대해 알아봅시다. 안녕하세요. 돼지왕 왕돼지입니다. 오늘은 루퍼 ( Looper ) 에 대해 한번 알아보겠습니다. 루퍼가 뭔가요? : 메세지는 스레드간의 신호이므로 handler에 보낸다고 해서 곧바로 처리되는 것이 아닙니다. 동시다발적으로 메세지가 발생할 수 있기 때문에 메세지 큐(Message Queue)에 쌓았다가 처리합니다. 큐(Queue)에 들어있는 내용을 하나하나 꺼내 처리하는 놈이 바로 루퍼입니다. 메인 쓰레드가 looper를 가지고 있으며 무한 루프를 돌며 큐의 내용을 처리합니다. APIs. static void prepare() static void loop() void quit() Thread getThread() // 루퍼와 연결된 쓰레드 구하기. static Looper getMainLooper() .. 2012. 2. 18.
[Android/안드로이드] Handler 사용하기. 안녕하세요. 돼지왕 왕돼지입니다. 오늘은 Handler 를 사용하는 방법에 대해 알아보겟습니다. Handler 를 왜 사용하나요? 안드로이드의 기본 정책으로 Main Thread 가 아닌 thread 에서는 UI 를 건들 수 없습니다. 그래서 Handler 를 통해서 thread 간의 Communication을 하는 것입니다. 핸들러는 핸들러를 생성한 Thread 에서 기본적으로 동작하기 때문에 UI 를 건들 수 있습니다. APIs public void Handler.handleMessage( Message msg ) -> Looper 가 Message Queue에서 Message 하나를 꺼내 이 함수에 전달해줍니다. 2012/02/18 - [프로그래밍 놀이터/안드로이드] - [Android/안드로이드].. 2012. 2. 18.
[Android/안드로이드] ANR 에 대해 알아봅시다. 안녕하세요. 돼지왕 왕돼지입니다. 오늘은 ANR ( Application Not Responding ) 에 대해 알아보죠. ANR 이 뭔가요? ANR (Application Not Responding) 은 어플리케이션이 응답하지 않는다는 에러입니다. 어떤 상황에 발생할까요? 1. 응용 프로그램이 5초 이상 사용자의 입력에 반응하지 않을 때 2. 브로드캐스트 리시버(BR)가 10초 내로 리턴하지 않을 때 위 두가지 경우에 대해 OS가 관여하여 ANR 대화상자를 띄우며 이 대화상자를 통해 프로그램 강제종료가 가능합니다. 그럼 어떻게 해야해요? 장시간 걸리는 작업은 스레드로 분리하며, 작업이 끝난 후 할 일은 핸들러에서 처리하도록 분리합니다. [android/안드로이드] 응답성을 고려한 설계 ( ANR 을 피.. 2012. 2. 18.
반응형