Facebook Facebook Facebook Facebook

Activity trong Android


ảnh minh họa - Học lập trình androidNếu bạn đã từng làm việc với tiếng nói lập trình C, C++ hoặc Java thì bạn phải thấy rằng chương trình của bạn bắt đầu từ hàm main(). hao hao, hệ điều hành Android khởi tạo chương trình của nó bên trong một Activity bắt đầu với một lời gọi trên phương thức callback là onCreate(). Có một dãy các phương thức callback mà phát động một Activity và một dãy phương thức callback khác sẽ hủy một Activity như sau trong lược đồ vòng đời của Activity. (image courtesy : android.com )   Lớp Activity định nghĩa các callback như events, … Bạn không cần triển khai tất phương thức này. Tuy nhiên, điều quan trọng là bạn hiểu từng phương thức và triển khai chúng để sao cho áp dụng của bạn vận hành theo cách người dùng chờ mong. 

Callbacktả

onCreate()Đây là phương thức callback trước nhất và được gọi khi Activity được tạo trước hết

onStart()Phương thức callback này được gọi khi Activity trở nên nhìn thấy tới người dùng

onResume()Được gọi khi người dùng bắt đầu tương tác với ứng dụng

onPause()Activity tạm dừng không nhận input từ người dùng và không thể thực thi bất cứ code nào và được gọi khi activity ngày nay đang được dừng và activity trước đó đang được phục hồi

onStop()Callback này được gọi trươc skhi activity bị hủy bởi hệ thống

onDestroy()Callback này được gọi trươc skhi activity bị hủy bởi hệ thống

onRestart()Được gọi khi activity tái phát động sau khi dừng nó



thí dụ

Ví dụ này đưa bạn qua các bước đơn giản để minh họa vòng đời của Activity trong áp dụng Android. Bạn theo các bước sau để sửa đổi ứng dụng Android mà chúng ta đã tạo trong chương Ví dụ Hello World


Bướctrình bày

1Bạn sẽ sử dụng Eclipse IDE để tạo một vận dụng Android và đặt tên nó làHelloWorld dưới một package là com.example.helloworld như đã giảng giải trong chương tỉ dụ Hello World

2Sửa đổi MainActivity.java như dưới đây. Phần còn lại không thay đổi

3Chạy vận dụng để chạy Android Emulator và thẩm tra kết quả các đổi thay đã thực hành trong ứng dụng này

  Dưới đây là nội dung của main activity đã sửa đổi src/com.example.helloworld/MainActivity.java. File này bao gồm các phương thức nền móng. Phương thức Log.d() đã được dùng để tạo thông tin log:

 package com.example.helloworld; import android.os.Bundle; import android.app.Activity; import android.util.Log; public class MainActivity extends Activity  String msg = "Android : "; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState)  super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(msg, "The onCreate() event");  /** Called when the activity is about to become visible. */ @Override protected void onStart()  super.onStart(); Log.d(msg, "The onStart() event");  /** Called when the activity has become visible. */ @Override protected void onResume()  super.onResume(); Log.d(msg, "The onResume() event");  /** Called when another activity is taking focus. */ @Override protected void onPause()  super.onPause(); Log.d(msg, "The onPause() event");  /** Called when the activity is no longer visible. */ @Override protected void onStop()  super.onStop(); Log.d(msg, "The onStop() event");  /** Called just before the activity is destroyed. */ @Override public void onDestroy()  super.onDestroy(); Log.d(msg, "The onDestroy() event");  

Một lớp Activity tải cả thảy thành phần UI bởi dùng XML file có sẵn trong thư mục res/layout của project. Lệnh sau tải các thành phần UI từ res/layout/activity_main.xml file:

 setContentView(R.layout.activity_main);

Một vận dụng có thể có một hoặc nhiều Activity mà không có bất kỳ giới hạn nào. Mỗi Activity bạn định nghĩa cho vận dụng của bạn phải được khai báo trongAndroidManifest.xml file và main activity cho vận dụng phải được khai báo trong manifest với một mà bao MAIN action và LAUNCHER category, như sau:

          

 


Nếu hoặc MAIN hoặc LAUNCHER không được khai báo, thì tượng trưng vận dụng sẽ không xuất hiện trong danh sách vận dụng của màn hình Home.

Giờ bạn thử chạy vận dụng Hello World! đã được sửa đổi. ví thử bạn đã tạo AVDtrong khi cài đặt. Để chạy áp dụng từ Eclipse, mở activity file của project và nhấn biểu tượng Run
từ thanh phương tiện. Eclipse sẽ đặt áp dụng trên AVD và bắt đầu nó và nếu mọi thứ là ổn, nó sẽ hiển thị cửa sổ Emulator và bạn sẽ thấy thông báo log sau trong cửa sổ LogCat trong Eclipse IDE.

 

 

 07-19 15:00:43.405: D/Android :(866): The onCreate() event 07-19 15:00:43.405: D/Android :(866): The onStart() event 07-19 15:00:43.415: D/Android :(866): The onResume() event


 



Bạn thử nhấn nút Red 
 trên Android Emulator và nó sẽ tạo thông báo event sau trong cửa sổ LogCat trong Eclipse IDE.

 

 

 07-19 15:01:10.995: D/Android :(866): The onPause() event 07-19 15:01:12.705: D/Android :(866): The onStop() event 


Bạn thử nhấn nút Menu 
 trên Android Emulator và nó sẽ tạo thông tin event sau trong cửa sổ LogCat trong Eclipse IDE:

 

 

 07-19 15:01:13.995: D/Android :(866): The onStart() event 07-19 15:01:14.705: D/Android :(866): The onResume() event 


Tiếp theo, bạn thử nhấn nút Back  trên Android Emulator và nó sẽ tạo thông tin event sau trong cửa sổ LogCat trong Eclipse IDE và đến đây là kết thúc vòng đời của Activity cho một vận dụng Android.

 

 

 07-19 15:33:15.687: D/Android :(992): The onPause() event 07-19 15:33:15.525: D/Android :(992): The onStop() event 07-19 15:33:15.525: D/Android :(992): The onDestroy() event 

 

0 nhận xét:

Đăng nhận xét

 
Khóa Học IOT © 2011 Design by ocsenden