Tạo mới một Activity như thế nào

Code: Default | Auth: 03cd82

Cách 1: Tạo mới một Activity bằng công cụ Android Studio

Kích phải chuột lên thư mục code java --> new --> Activity --> Empty Activity (có nhiều loại nhưng dùng cái empty cho đơn giản) 

Tạo activity bằng android studio

Màn hình thứ 2 xuất hiện, bạn thiết lập như ảnh dưới đây

Tạo activity bằng android studio

Sau khi hoàn thành, bạn đã có thêm một activity mới trong ứng dụng.

Android Studio sẽ tạo cho bạn 2 file là ActivitySo2.java và  file layout res/layouts/activity_so2.xml. Sau đó, Android Studio đăng ký activity trong file AndroidManifest.xml.

Thêm activity trong mainifest.xml

Trong layout của activity số 2 bạn tạo thêm 1 cái TextView để phân biệt lúc chạy nhé (cho vào giữa thẻ mở và thẻ đóng của layout nhé)

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Đây là activity số 2"
        tools:ignore="MissingConstraints" />

Công việc còn lại bạn chỉ viết lệnh gọi Activity ra để dùng.

Trường hợp 1: Nếu ở bước tạo số 2 bạn có chọn Launcher Activity

thì sau khi bạn tạo xong chạy ứng dụng bạn sẽ thấy biểu tượng activity mới ở trong điện thoại và bấm vào chạy luôn, không cần viết code.

trong AndroidMainifest.xml sẽ tự có thêm khai báo activity như sau: 

        <activity android:name=".ActivitySo2">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

 

Khi bạn chạy sẽ có biểu tượng của activity mới trong danh sách ứng dụng. Bạn có thể đặt label để nó hiển thị tên khác với tên ứng dụng mặc định. Tôi đặt thêm thuộc tính label cho activity này như sau:

android:label="Acvitity Số 2"
        <activity android:name=".ActivitySo2" android:label="Acvitity Số 2">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

Kết quả chạy

Chạy ứng dụng có activity mới

 

 

 

Trường hợp 2: Nếu bạn không chọn Launcher Activity ở bước số 2

thì bạn viết thêm code để gọi activity số 2 ra. Cách làm đơn giản như sau:
 

// trong hàm onCreate của MainActivity bạn viết thêm 2 lệnh này vào dưới dòng code setContentView...
 
Intent intent = new Intent(getBaseContext(), ActivitySo2.class);
 startActivity(intent);

 

Kết quả chạy như sau:

Chạy activity mới


Cách 2: Tự tạo code từng file

Bạn sẽ phải tạo từng file và viết code cho từng file riêng. Có 3 file bạn cần thao tác:

1. File code java
2. File layout
3. Đăng ký vào Mainifest

Bước 1: Kích phải chuột lên thư mục code java --> new --> Java Class --> nhập tên cho class:  ActivitySo3 và bấm Enter.

Bước 2: Sửa code file java vừa tạo cho kế thừa lớp activity, ở đây tôi cho kế thừa theo lớp AppCompatActivity.

package com.spx.myapp01;

import androidx.appcompat.app.AppCompatActivity;

public class ActivitySo3 extends AppCompatActivity {
}

Bước 3: Sửa tiếp code file java bạn viết overwrite hàm onCreate của activity. Thao tác như trong ảnh dưới đây

Tạo phương thức onCreate cho activity

 

Bước 4: Tạo 1 file layout cho activity này theo thứ tự như ảnh dưới

Tạo file layout xml

Tạo file layout xml

Bạn thêm vào trong code layout một TextView để phân biệt như sau:

<TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Đây là activity 3"
         />

Đây là code đầy đủ của layout vừa tạo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Đây là activity 3"
         />

</LinearLayout>

Bước 5: Bạn setContentView cho activity để activity nhận file layout

Bạn cho dòng code sau vào trong hàm onCreate của activity vừa tạo

setContentView(R.layout.activity_so3);

Toàn bộ code java như sau

package com.spx.myapp01;

import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class ActivitySo3 extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_so3);
    }
}

 

Bước 6: Bạn đăng ký activity vào AndroidMainifest.xml

- Trường hợp 1: Nếu muốn cho activity 3 là launcher thì bạn đăng ký theo kiểu dưới đây

        <activity android:name=".ActivitySo3" android:label="Acvitity Số 3">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

- Trường hợp 2: Không muốn làm launcher thì bạn dùng code dưới đây

<activity android:name=".ActivitySo3"></activity>

với trường hợp 2 thì code ít hơn nhiều.

trong ví dụ này tôi sẽ làm demo bằng trường hợp 1, tạo launcher.

khai báo activity 3 trong mainifest

Kết quả chạy như sau:

 

activity số 3

Vậy là bạn đã biết cách tạo activity rồi nhé.