Thứ Hai, 24 tháng 12, 2018

Lập trình Android - Hoạt động

Một hoạt động biểu thị 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 hoạt động Java. Học lập trình 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 phải thấy rằng chương trình của bạn bắt đầu từ hàm main () .

Rất giống với cách này, hệ thống Android khởi tạo 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 () . 

Học lập trình Android
Học lập trình Android

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á bỏ một hoạt động như trong sơ đồ vòng đời Hoạt động dưới đây: ( hình ảnh lịch sự: Android )

Lớp Activity định nghĩa các cuộc gọi trở lại tức 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 gọi lại.

Tuy nhiên, điều quan trọng là bạn phải hiểu từng người và thực hiện những điều đảm bảo ứng dụng của bạn hoạt động theo cách người dùng mong đợi.

Không.Gọi lại & Mô tả
1onCreate ()
Đây là cuộc gọi lại đầu tiên và được gọi khi hoạt động được tạo lần đầu tiên.
2băt đâu()
Cuộc gọi lại này được gọi khi hoạt động hiển thị cho người dùng.
3onResume ()
Điều này được gọi khi người dùng bắt đầu tương tác với ứng dụng.
4onPause ()
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.
5dừng lại()
Cuộc gọi lại này được gọi khi hoạt động không còn hiển thị.
6trênDestroy ()

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

Cuộc gọi lại này được gọi khi hoạt động khởi động lại sau khi dừng nó.
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 của ứng dụng Android. Thực hiện theo các bước sau để sửa đổi ứng dụng Android mà chúng tôi đã tạo trong chương Ví dụ Hello World

Bậc thangSự miêu tả
1Bạn sẽ sử dụng studio Android để tạo một ứng dụng Android và đặt tên làHelloWorld theo gói com.example.helloworld như được giải thích trongchương Ví dụ Hello World .
2Sửa đổi tệp hoạt động chính MainActivity.java như được giải thích bên dưới. Giữ phần còn lại của các tập tin không thay đổi.
3Chạy ứng dụng để khởi chạy trình giả lập Android và xác minh kết quả của những thay đổi được thực hiện trong ứng dụng.
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / com.example.helloworld / MainActivity.java . Học lập trình Android Tập tin này bao gồm mỗi phương pháp vòng đời cơ bản. Phương thức Log.d () đã được sử dụng để tạo thông điệp tường trình
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 UI 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 UI 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 với <bộ lọc ý định> bao gồm hành động MAIN 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 danh mục hành động CHÍNH hoặ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 đã được sửa đổi của chúng tôi ! ứng dụng chúng tôi vừa sửa đổi. Tôi giả sử bạn đã tạo AVD của mình trong khi thực hiện thiết lập môi trường.

Để chạy ứng dụng từ studio Android, 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ụ.

Học lập trình Android studio cài đặt ứng dụng trên AVD của bạn và khởi động 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ổ Trình mô phỏng và bạn sẽ thấy các thông báo nhật ký sau trong cửa sổ LogCat trong studio Android

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
Chúng ta hãy thử bấm vào nút khóa màn hình 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ổ LogCat trong studio Android:

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 thử 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ổ LogCat trong studio Android:

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

Tiếp theo, chúng ta hãy thử bấm vào nút Quay lại 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ổ LogCat trong studio Android và điều này hoàn thành Vòng đời hoạt động cho Ứng dụng Lập trình Android.

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

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...