Pages

Thứ Ba, 18 tháng 6, 2019

Android Activity

Activity trong Android

Một Activity đại diện cho một màn hình với một giao diện người dùng.Giống như window hay Frame trong Java, Bạn có thể đặt các Widget vào một màn hình đơn giản.

Ví dụ: Một ứng dụng Email sẽ có một Activity để hiển thị tất cả các Email, một Activity khác để để soạn Email, một Activity khác để đọc Email. Nếu một ứng dụng có nhiều hơn 1 Activity thì một trong số chúng sẽ được đánh dấu là Activity hiển thị đầu tiên khi ứng dụng khởi chạy.

Vòng đời của một Activity

Vòng đời của một Activity trong Android gồm có 7 phương thức, mỗi phương thức thể hiện hành vi khác nhau của Activity.

Nếu bạn đã từng lập trình với ngôn ngữ C, C++, Java thì bạn cũng biết rằng chương trình bắt đầu chạy từ hàm main(), theo cách tương tự thì Android cũng khởi đầu bởi 1 activity được đánh dấu là khởi đầu bằng cách gọi phương thức onCreate(). Có một chuỗi các phương thức được gọi để bắt đầu một activity và một chuỗi các phương thức khác để hủy 1 activity, như hình bên dưới:

Phương thức Ý nghĩa
onCreate() Nó là phương thức đầu tiên được gọi dùng để tạo một activity vào lần đầu tiên activity được gọi.
onStart() Sẽ được gọi khi nó hiện hữu với người dùng.
onResume() Sẽ được gọi khi người dùng tương tác với các ứng dụng.
onPause() Tạm dừng một activity, không nhận dữ liệu do người dùng nhập vào và không thế thực thi lệnh nào. Phương thức này được gọi khi activity hiện tại đang được tạm dừng, và activity trước đó đang được tiếp tục.
onStop() Được gọi khi một activity đã không được nhìn thấy trong thời gian dài.
onRestart() Được gọi khi activity cần được dùng trở lại sau khi bị gọi onStop();
onDestroy() Được gọi trước khi hệ thống hủy activity.

Ví dụ: Đây là ví dụ đơn giản về vòng đời của một activity. Trong ví dụ này chúng ta hiển thị nội dung thông báo vào logcat

Tạo project với name: LifeCircle

File: src/com.example.lifecircle/MainActivity.java:

  package com.example.lifecircle;    import android.app.Activity;  import android.os.Bundle;  import android.view.Menu;  import android.view.MenuItem;    public class MainActivity extends Activity {    	@Override  	protected void onDestroy() {  		// TODO Auto-generated method stub  		super.onDestroy();  	}    	@Override  	protected void onPause() {  		// TODO Auto-generated method stub  		super.onPause();  	}    	@Override  	protected void onRestart() {  		// TODO Auto-generated method stub  		super.onRestart();  	}    	@Override  	protected void onResume() {  		// TODO Auto-generated method stub  		super.onResume();  	}    	@Override  	protected void onStart() {  		// TODO Auto-generated method stub  		super.onStart();  	}    	@Override  	protected void onStop() {  		// TODO Auto-generated method stub  		super.onStop();  	}    	@Override  	protected void onCreate(Bundle savedInstanceState) {  		super.onCreate(savedInstanceState);  		setContentView(R.layout.activity_main);  	}    	  }  

Cách thêm các phương thức nhanh trong Eclipse IDE:

Click - Right trên trình soạn thảo ---> chọn Source---> chọn Override / Implement Methods:

Chọn các phương cần thêm vào :


Download ví dụ


Kết quả: Bạn cần mở logcat để xem các phương thức được gọi

Trong màn hình logcat chúng ta sẽ thấy các phương được gọi: onCreate, onStart và onResume

Bây giờ click HOME . Phương thức onPause sẽ được gọi:

Sau vài giây phương thức onStop được gọi:

Bây giờ nhìn vào máy ảo, có nút Home, Click vào nút Center để mở lại app

Click vào icon LifeCircle

Bây trong màn hình logcat: phương thức onRestart, onStart and onResume.

Trên máy ảo xuất hiện lại app

Bây giờ click vào Button Back, bạn sẽ thấy phương thức onPause được gọi

Vài giây sau bạn sẽ thấy phương thức onStop onDestroy được gọi:

 

Chú ý: Phương thức onCreate() và onDestroy() được gọi một lần trong suốt vòng đời của Activity

 



Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com