ดาวโหลด บทความ สถิติผู้ใช้ เกี่ยวกับเรา ติดต่อเรา
HomeAndroid

วงจรชีวิตของ App

App ในมือถือ เมื่อเราคลิกเปิด มันจะลุกขึ้นมาทำงาน (Start)
ระหว่าง App กำลังทำงานอยู่ หากมีสายโทรเข้า App นั้นจะอยู่ในสถานะพักไว้ก่อน (Pause)
เมื่อวางสายแล้ว App จะถูกเรียกมาแสดงอีกครั้ง เรียกว่าสถานะกลับมาทำงานต่อ (Resume)
จนเราใช้เสร็จ กด Exit , App ถึงจะหยุดการทำงาน (Stop)

เมื่อเราเปิด App ส่วนที่ลุกมาทำงานนี้แหล่ะ เรียกว่า Activity
ในบทนี้เราจะแสดงให้เห็นวงจรชีวิตของ Activity

จากตัวอย่างที่ผ่านมา ใน eclipse ในช่อง Package Explorer ให้คลิก 1 ครั้งที่
MyApp > src > com.example.myapp > MainActivity.java

แล้วคลิกเมนู
Source > Override/Implement Methods

แล้วติ๊กถูกที่ช่อง onDestroy, onPause, onResume, onRestart, onStop
จะเห็น Code เพิ่มขึ้นมา
แก้ Code ตามนี้แล้วคลิก Run
package com.example.myapp;

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

	int iStart = 0;
	int iResume = 0;

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        iStart +=1;
		Toast.makeText(this, "onCreate " + iStart, 1).show();

		Button btn = (Button) findViewById(R.id.button1);
        btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	Toast.makeText(MainActivity.this, "กดเบาๆ ", Toast.LENGTH_LONG).show(); 
            }
        });   
    }

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		Toast.makeText(this, "onPause", 1).show();
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Toast.makeText(this, "onDestroy", 1).show();
	}

	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
		Toast.makeText(this, "onRestart", 1).show();
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		iResume+=1;
		Toast.makeText(this, "onResume "+ iResume, 1).show();
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		Toast.makeText(this, "onStop", 1).show();
	}
    
}
เมื่อรัน App จะเห็นคำว่า onCreate 1
ให้กดล็อคหน้าจอ แล้วกดปลดล็อค จะเห็นคำว่า onResume 2
กดปุ่ม Home แล้วเปิด My App อีกครั้ง จะเห็นคำว่า onResume 3
กดปุ่ม Back เพื่อปิด App
แล้วเปิด My App อีกครั้ง จะเห็นคำว่า onCreate 1

อ้างอิง : บทความนี้ศึกษาจาก http://www.ebooks.in.th/ebook/4188/
ขอบคุณเจ้าของบทความที่เขียนเข้าใจง่ายครับ

28 ธ.ค. 55
© 2000 - 2024 palthai.com. All rights reserved.