Nếu bạn đã làm việc với ngôn ngữ lập trình android cùng với 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 () . Một cách rất tương tự, hệ thống Android khởi động chương trình của nó bằng một Hoạt động bắt đầu bằng một cuộc gọi trên phương thức gọi lại onCreate () . Có một chuỗi các phương thức gọi lại khởi động một hoạt động và một chuỗi các phương thức gọi lại để phá vỡ một hoạt động như được hiển thị trong sơ đồ vòng đời hoạt động bên dưới: ( image courtesy: android.com )
![]() |
| ảnh minh họa |
Lớp Activity xác định các sự kiện gọi lại sau đây là các sự kiện. Bạn không cần phải thực hiện tất cả các phương thức callbacks. Tuy nhiên, điều quan trọng là bạn hiểu từng cái và triển khai những ứng dụng đảm bảo ứng dụng của bạn hoạt động theo cách người dùng mong đợi.
| Sr.No | Gọi lại & Mô tả |
|---|---|
| 1 | onCreate () Đây là lần gọi lại đầu tiên và được gọi khi hoạt động được tạo lần đầu tiên. |
| 2 | băt đâu() Gọi lại này được gọi khi hoạt động hiển thị cho người dùng. |
| 3 | onResume () Điều này được gọi khi người dùng bắt đầu tương tác với ứng dụng. |
| 4 | onPause () Hoạt động bị tạm dừng không nhận được dữ liệu nhập của người dùng và không thể thực thi bất kỳ mã nào và được gọi khi hoạt động hiện tại bị tạm dừng và hoạt động trước đó đang được tiếp tục. |
| 5 | dừng lại() Gọi lại này được gọi khi hoạt động không còn hiển thị nữa. |
| 6 | onDestroy () Gọi lại này được gọi trước khi hoạt động bị hệ thống phá hủy. |
| 7 | onRestart () Gọi lại này được gọi khi hoạt động khởi động lại sau khi dừng lại. |
Thí dụ
Ví dụ này sẽ đưa bạn qua các bước đơn giản để hiển thị vòng đời hoạt động ứng dụng Android. Làm theo các bước sau để sửa đổi ứng dụng Android mà chúng tôi đã tạo trong chương Hello World
Example
| Bậc thang | Sự miêu tả |
|---|---|
| 1 | Bạn sẽ sử dụng Android studio để tạo một ứng dụng Android và đặt tên nó là HelloWorld trong một gói com.example.helloworld như được giải thích trong chương Hello World Example . |
| 2 | Sửa đổi tệp hoạt động chính MainActivity.java như được giải thích bên dưới. Giữ nguyên các tệp còn lại. |
| 3 | Chạy ứng dụng để khởi chạy trình giả lập Android và xác minh kết quả của các thay đổi được thực hiện trong ứng dụng. |
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 hoạt động tải tất cả các thành phần giao diện người dùng bằng cách sử dụng tệp XML có sẵn trong thư mục res / layout của dự án. Câu lệnh sau tải các thành phần giao diện người dùng từ tệp res / layout / activity_main.xml :
setContentView(R.layout.activity_main);Ứng dụng có thể có một hoặc nhiều hoạt động mà không có bất kỳ hạn chế nào. Mọi hoạt động bạn xác định cho ứng dụng của bạn phải được khai báo trong tệp Android Manifest.xml của bạn và hoạt động chính cho ứng dụng của bạn phải được khai báo trong tệp kê khai với <intent-filter> bao gồm hành động CHÍNH và danh mục LAUNCHER như sau:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.tutorialspoint7.myapplication"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>Nếu hành động CHÍNH hoặc danh mục LAUNCHER không được khai báo cho một trong các hoạt động của bạn thì biểu tượng ứng dụng của bạn sẽ không xuất hiện trong danh sách ứng dụng của Màn hình chính.
Hãy thử chạy Hello World đã sửa đổi của chúng ta ! ứng dụng chúng tôi vừa sửa đổi. Tôi cho rằng bạn đã tạo AVD của mình trong khi thiết lập môi trường. Để chạy ứng dụng từ Android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.
Android studio cài đặt ứng dụng trên AVD của bạn và bắt đầu nó và nếu mọi thứ đều ổn với thiết lập và ứng dụng của bạn, nó sẽ hiển thị cửa sổ Emulator và bạn sẽ thấy các thông điệp tường trình sau trong cửa sổ LogCat trong Android studio
08-23 10:32:07.682 4480-4480/com.example.helloworld D/Android :: The onCreate() event 08-23 10:32:07.683 4480-4480/com.example.helloworld D/Android :: The onStart() event 08-23 10:32:07.685 4480-4480/com.example.helloworld D/Android :: The onResume() event
| ảnh minh họa |
08-23 10:32:53.230 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:32:53.294 4480-4480/com.example.helloworld D/Android :: The onStop() event
Hãy để chúng tôi một lần nữa cố gắng mở khóa màn hình của bạn trên trình giả lập Android và nó sẽ tạo ra các thông báo sự kiện sau trong cửa sổ LogCattrong Android studio:
08-23 10:34:41.390 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:34:41.392 4480-4480/com.example.helloworld D/Android :: The onResume() event
08-23 10:37:24.806 4480-4480/com.example.helloworld D/Android :: The onPause() event 08-23 10:37:25.668 4480-4480/com.example.helloworld D/Android :: The onStop() event 08-23 10:37:25.669 4480-4480/com.example.helloworld D/Android :: The onDestroy() event

Không có nhận xét nào:
Đăng nhận xét