http://vietjack.com/android/index.jsp Copyright © vietjack.com Activity Android Một Activity biểu diễn hình với giao diện UI giống Window Frame Java.Android activity, mà lớp lớp ContextThemWrapper Nếu bạn làm việc với ngôn ngữ lập trình C, C++ Java bạn phải thấy chương trình bạn hàm main() Tương tự, hệ điều hành Android khởi tạo chương trình bên Activity bắt đầu với lời gọi phương thức callback onCreate() Có dãy phương thức callback mà khởi động Activity dãy phương thức callback khác hủy Activity sau sơ đồ vòng đời Activity (image courtesy : android.com ) http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Lớp Activity định nghĩa callback events, … Bạn không cần triển khai tất phương thức Tuy nhiên, điều quan trọng bạn hiểu phương thức triển khai chúng để cho ứng dụng bạn vận hành theo cách người dùng mong đợi Callback Miêu tả onCreate() Đây phương thức callback gọi Activity tạo onStart() Phương thức callback gọi Activity trở nên nhìn thấy tới người dùng onResume() Được gọi 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 thực thi code gọi activity dừng activity trước phục hồi onStop() Callback gọi trươc skhi activity bị hủy hệ thống onDestroy() Callback gọi trươc skhi activity bị hủy hệ thống onRestart() Được gọi activity tái khởi động sau dừng Ví dụ Ví dụ đưa bạn qua bước đơn giản để minh họa vòng đời Activity ứng dụng Android Bạn theo bước sau để sửa đổi ứng dụng Android mà tạo chương Ví dụ Hello World Bước Miêu tả Bạn sử dụng Eclipse IDE để tạo ứng dụng Android đặt tên làHelloWorld package com.example.helloworld giải thích chương Ví dụ Hello World http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Sửa đổi MainActivity.java Phần lại không thay đổi Chạy ứng dụng để chạy Android Emulator kiểm tra kết thay đổi thực ứng dụng Dưới nội dung main activity sửa đổisrc/com.example.helloworld/MainActivity.java File bao gồm phương thức tảng Phương thức Log.d() sử dụng để tạo thông báo 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 tất thành phần UI sử dụng XML file có sẵn thư mụcres/layout project Lệnh sau tải thành phần UI từ res/layout/activity_main.xml file: setContentView(R.layout.activity_main); Một ứng dụng có nhiều Activity mà khơng có giới hạn Mỗi Activity bạn định nghĩa cho ứng dụng bạn phải khai báo trongAndroidManifest.xml file main activity cho ứng dụng phải khai báo manifest với mà bao MAIN action LAUNCHER category, sau: Nếu MAIN LAUNCHER không khai báo, biểu tượng ứng dụng khơng xuất danh sách ứng dụng hình Home Giờ bạn thử chạy ứng dụng Hello World! sửa đổi Giả sử bạn tạo AVDtrong cài đặt Để chạy ứng dụng từ Eclipse, mở activity file project nhấn biểu tượng Run từ công cụ Eclipse đặt ứng dụng AVD bắt đầu thứ ổn, hiển thị cửa sổ Emulator bạn thấy thông báo log sau cửa sổ LogCat 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 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Bạn thử nhấn nút Red Android Emulator tạo thơng báo event sau cửa sổ LogCat 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 Android Emulator tạo thơng báo event sau cửa sổ LogCat 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 Android Emulator tạo thơng báo event sau cửa sổ LogCat Eclipse IDE đến kết thúc vòng đời Activity cho ứng dụng Android http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com 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 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 ... 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...