본문 바로가기

나 어제 배웠다/Android

Android Activity Life Cycle

▣ Android Activity Life Cycle(상태 : 메소드)

종류 : ..let, Thread

구체적인 환경

소스의 간결함이 목적

 

 C-S-R-P-S-D

 

1. 프로젝트 생성

 

 

2. main.xml 버튼 추가

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
   
 <TextView 
     style="@style/perperty"                                    //Style적용 함
     android:text="Main-Activity"        
     />
 <Button
   android:id="@+id/b01"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="to Sub-Activity"
   />
 <Button
   android:id="@+id/b02"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="Show Dialog"
   />
  
</LinearLayout> 

 

※ styles.xml

 

 

 

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <style name="perperty">
  <item name="android:layout_width">fill_parent</item>  
  <item name="android:layout_height">wrap_content</item>
  <item name="android:textSize">12pt</item>
  <item name="android:typeface">sans</item>  
 </style> 
</resources>


 

3.LifeCycleTestActivity.java 변경

 

 package com.pns.hjh.elements.activity;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class LifeCycleTestActivity extends Activity {
    /** Called when the activity is first created. */
 private static final String KIND = "Main-Activity";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       

        Log.i("KIND : ", onCreate()"+KIND);
       

        //Widget Call
        Button b01 = (Button)findViewById(R.id.b01);
        Button b02 = (Button)findViewById(R.id.b02);

        
                
        b02.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    AlertDialog.Builder builder= new AlertDialog.Builder(LifeCycleTestActivity.this);
    builder.setTitle("LifeCycle");
    builder.setMessage("알러창이 잘뜨는가?");
    builder.setNegativeButton("닫기", new DialogInterface.OnClickListener() {
     
     public void onClick(DialogInterface dialog, int which) {
      // TODO Auto-generated method stub
      //닫기만 하려면 내용을 기술 하지 않아도 됨
      //닫기 이벤트 작성
     }
    });
    builder.show();
   }
  });
       
       
    }
   
    @Override
    public void onStart(){
     super.onStart();
     Log.i("KIND : ", onStart()"+KIND);
    }
    public void onResume(){
     super.onResume();
     Log.i("KIND : ", onResume()"+KIND);
    }
    public void onPause(){
     super.onPause();
     Log.i("KIND : ", onPause()"+KIND);
    }
    public void onStop(){
     super.onStop();
     Log.i("KIND : ", onStop()"+KIND);
    }
    public void onRestart(){
     super.onRestart();
     Log.i("KIND : ", onRestart()"+KIND);
    }
    public void onDestory(){
     super.onDestroy();
     Log.i("KIND : ", onDestory()"+KIND);
    }
   
}

 

3. 실행결과