Saturday, November 28, 2020

Activity trong Android | Android Cơ bản

 Một Activity đại diện cho một màn hình duy nhất với giao diện người dùng giống như cửa sổ hoặc khung của Java. Hoạt động của Android là lớp con của lớp ContextThemeWrapper

Nếu bạn đã làm việc với ngôn ngữ lập trình C, C ++ hoặc Java thì bạn hẳn đã thấy rằng chương trình của bạn bắt đầu từ hàm main (). Tương tự như vậy, hệ thống Android khởi chạy chương trình của nó trong một Activity 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 chia nhỏ một hoạt động như được hiển thị trong biểu đồ vòng đời Hoạt động của Activity bên dưới: 

Lớp Activity định nghĩa lệnh gọi lại sau, tức là các sự kiện. Bạn không cần phải triển khai tất cả các phương thức gọi lại. Tuy nhiên, điều quan trọng là bạn phải hiểu từng cái và triển khai những cái đó để đảm bảo ứng dụng của bạn hoạt động theo cách mà người dùng mong đợi.

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.

onStart (): Lệnh gọi lại này được gọi khi hoạt động hiển thị với người dùng.

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

onPause (): Hoạt động bị tạm dừng không nhận được đầu vào 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 đang bị tạm dừng và hoạt động trước đó đang được tiếp tục.

onStop (): Lệnh gọi lại này được gọi khi hoạt động không còn hiển thị nữa.

onDestroy (): Lệnh gọi lại này được gọi trước khi hoạt động bị phá hủy bởi hệ thống.

onRestart (): Lệnh gọi lại này được gọi khi hoạt động khởi động lại sau khi dừng nó.

Sau đây là nội dung của tệp hoạt động chính đã sửa đổi src / com.example.helloworld / MainActivity.java. Tệp này bao gồm từng phương pháp cơ bản của vòng đời. Phương thức Log.d () đã được sử dụng để tạo thông báo nhật ký

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ả 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);

 Một ứ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 mình phải được khai báo trong tệp AndroidManifest.xml 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 bằng một <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> 

No comments:

Post a Comment