Activity trong Android là gì
Các giai đoạn trong vòng đời của Android Activity Show Giới thiệu lớp Activity trong AndroidLớp Activity là thành phần quan trọng nhất của ứng dụng Android, cách mà chúng hoạt động tạo thành nền tảng cơ bản của mô hình lập trình ứng dụng. Khi một Activity chỉ định là Activity chính, nó sẽ là màn hình đầu tiên khi khởi chạy ứng dụng. Một Activity này lại có thể gọi và kích hoạt một Activity khác. Activity chịu trách nhiệm chuyển giao sự kiện cho các view trong nó và quản lý vòng đời của nó. Một ứng dụng Android có thể có một hoặc nhiều Activity. Một class được gọi là Activity khi nó extend (kế thừa) từ những class cha như : AppCompatActivity, Activity, FragmentActivity Để tạo một Activity thì bạn phải tạo ra một lớp kế thừa lớp Activity, sau đó triển khai tối thiểu phương thức onCreate(Bundle savedInstanceState), sau đó tùy ngữ cảnh mà khi Activity hoạt động vòng đời của nó diễn ra như mô tả ở hình sau:
Trong vòng đời của ứng dụng Android bạn cần phân biệt 2 loại sau: Visible Lifetime và Foreground Lifetime
DemoTrên đây chúng ta đi cùng nhau tìm hiểu lý thuyết. Tiếp theo sẽ đi vào phần thực hành để cùng hiểu vòng đời trong Android là cái gì. Ví dụ: public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e(TAG, "onCreate: "); findViewById(R.id.btn_nav).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(MainActivity.this, OtherActivity.class)); } }); } @Override protected void onStart() { super.onStart(); Log.e(TAG, "onStart: "); } @Override protected void onRestart() { super.onRestart(); Log.e(TAG, "onRestart: "); } @Override protected void onResume() { super.onResume(); Log.e(TAG, "onResume: "); } @Override protected void onPause() { super.onPause(); Log.e(TAG, "onPause: "); } @Override protected void onStop() { super.onStop(); Log.e(TAG, "onStop: "); } @Override protected void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy: "); } }Giờ các bạn chạy logcat để xem kết quả. Từ khi kích hoạt ứng dụng, đến khi xuất hiện giao diện để tương tác xảy ra các sự kiện onCreate onStart onResumeKhi ứng dụng đang chạy, quay ngang màn hình thấy xảy ra một loạt sự kiện như sau: onPause onStop onDestroy onCreate onStart onResumeHy vọng bài hôm nay sẽ giúp các bạn hiểu rõ hơn về vòng đời của Activity. 2020-10-11 928 lượt xem hùng đẹp trai đọc dữ liệu hộ bố tôi thích vậy đó hùng ebudezain hùng đẹp trai Activity trong Android là gì?hùng ebudezain đọc dữ liệu hộ bố Activity trong Android được xem là một màn hình tương tác trong ứng dụng Android. Activity chịu trách nhiệm chuyển giao sự kiện cho các view trong nó và quản lý vòng đời (LifeCycle) của nó. Một ứng dụng Android có thể có một hoặc nhiều Activity. Và những Activity này có vòng đời độc lập với nhau và được duy trì trong Activity BackStack. đọc dữ liệu hộ bố tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng thông minh lắm hùng thông minh lắm Vòng đời của Activityhùng đẹp trai tôi thích vậy đó hùng thông minh lắm hùng đẹp trai hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ Trước tiên chúng ta sẽ cùng nhau tìm hiểu vòng đời của Activity sau đó sẽ đi đến phần thực hành để hiểu rõ hơn. đọc dữ liệu hộ bố bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng đẹp trai ahihi đồ ngốc trương thanh hùng nè hùng đẹp trai đọc dữ liệu hộ bố Sơ đồ mô tả vòng đời của ứng dụng Android. hùng ebudezain bài viết được viết bởi trương thanh hùng https://ebudezain.com/ 1. onCreate()đọc dữ liệu hộ bố tôi thích vậy đó tôi thích vậy đó Phương thức callback này được gọi khi ứng dụng mới start, nhưng chưa có thể tương tác với người dùng. Ở trong phương thức này chúng ta thường sử dụng để setContentView(), khởi tạo cái view, inflate view từ xml đăng kí event cho view, khởi tạo Adapter cho ListView, RecyclerView… tôi thích vậy đó 2. onStart()bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng thông minh lắm ahihi đồ ngốc trương thanh hùng nè hùng đẹp trai tôi thích vậy đó hùng thông minh lắm bài viết được viết bởi trương thanh hùng https://ebudezain.com/ 3. onResume()hùng thông minh lắm hùng ebudezain Phương thức này được gọi ngay sau khi onStart() được gọi. Ở phương thức này chúng ta có thể tương tác được với UI. bài viết được viết bởi trương thanh hùng https://ebudezain.com/ 4. onPause()hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ ahihi đồ ngốc trương thanh hùng nè bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng ebudezain hùng đẹp trai bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng thông minh lắm tôi thích vậy đó ahihi đồ ngốc trương thanh hùng nè 5. onStop()hùng thông minh lắm hùng ebudezain đọc dữ liệu hộ bố đọc dữ liệu hộ bố bài viết được viết bởi trương thanh hùng https://ebudezain.com/ Phương thức callback này có thể được gọi ngay sau khi phương thức onPause được gọi. Phương thức này được gọi khi chúng ta nhấn nút home app. hùng đẹp trai hùng thông minh lắm tôi thích vậy đó bài viết được viết bởi trương thanh hùng https://ebudezain.com/ 6. onRestart()bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng ebudezain tôi thích vậy đó ahihi đồ ngốc trương thanh hùng nè đọc dữ liệu hộ bố bài viết được viết bởi trương thanh hùng https://ebudezain.com/ hùng đẹp trai ahihi đồ ngốc trương thanh hùng nè Phương thức callback này gọi khi activity đã stoped, gọi trước khi bắt đầu start lại Activity. hùng ebudezain ahihi đồ ngốc trương thanh hùng nè 7. onDestroy()ahihi đồ ngốc trương thanh hùng nè Phương thức này đợc gọi khi chúng ta nhấn back từ activity, hoặc call method finish() của activity. public class MainActivity extends AppCompatActivity { private final String TAG = getClass().getSimpleName(); private Button btn_login; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e(TAG, "onCreate: "); setContentView(R.layout.activity_main); btn_login = (Button)findViewById(R.id.btn_login); btn_login.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, LoginActivity.class); Log.d(TAG, "onClick: " + LoginActivity.class); startActivity(intent); } }); } @Override protected void onStart() { super.onStart(); Log.e(TAG, "onStart: "); } @Override protected void onRestart() { super.onRestart(); Log.e(TAG, "onRestart: "); } @Override protected void onResume() { super.onResume(); Log.e(TAG, "onResume: "); } @Override protected void onPause() { super.onPause(); Log.e(TAG, "onPause: "); } @Override protected void onStop() { super.onStop(); Log.e(TAG, "onStop: "); } @Override protected void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy: "); } } |