Tổng quan một số thành phần trong code android
File code java MainActivity.java
package com.spx.myapp01;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity { // (1)
@Override
protected void onCreate(Bundle savedInstanceState) { // (2)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // (3)
}
}
Trong code trên có 3 mục
(1). Lớp MainActivity được kế thừa từ một lớp Activity để có một số phương thức khởi chạy
(2). Phương thức onCreate là phương thức khởi chạy của activity. Bạn muốn khai báo cái gì hoặc làm việc gì khi ứng dụng bắt đầu chạy thì viết ở đây. Tuy nhiên còn một số phương thức khác tùy theo tình huống viết code sẽ sử dụng đến.
(3). Hàm setContentView dùng thiết lập layout hiển thị cho activity hiện tại. Với mỗi activity sẽ là một màn hình nên cần có layout.
R.layout.activity_main là tham chiếu tới file layout activity_main.xml nằm trong thư mục res/layout.
Cấu trúc file res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Chào mừng bạn đến với SNVN.NET"
android:textColor="#4CAF50"
android:textSize="30dp"
android:gravity="center"
android:layout_marginTop="30dp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/website_snvn"
android:gravity="center"
android:layout_marginTop="10dp"
/>
</LinearLayout>
Các file layout viết theo chuẩn XML, về cách viết cũng giống HTML. Quan trọng là bạn nhớ nguyên tắc lồng ghép thẻ và cách viết các thuộc tính nhé.
Có mấy kiểu layout: ContraintLayout, LinearLayout, RelativeLayout... tùy theo từng nhu cầu mà bạn sử dụng các kiểu layout khác nhau. Các bài viết tiếp theo sẽ nói sâu hơn về các layout này nhé.
Bạn mới làm quen thì dùng LinearLayout sẽ dễ sắp xếp các phần tử trong giao diện hơn.
Layout này có thuộc tính android:orientation="vertical" là sắp xếp hiển thị các phần tử con theo chiều dọc
Ở phần TextView thứ 2 có một thuộc tính là android:text="@string/website_snvn". Giá trị text không viết trực tiếp mà thông qua @string/website_snvn. Đây là tham chiếu tới giá trị chuỗi được khai báo trong file res/values/strings.xml. Sau này bạn viết ứng dụng nên khai báo các chuỗi text vào trong file xml để điều khiển dễ dàng và dễ chỉnh sửa hơn.
Cấu trúc file res/values/strings.xml
<resources>
<string name="app_name">MyApp01</string>
<string name="website_snvn">https://zezo.dev</string>
</resources>
Khi sử dụng sẽ truy cập thông qua thuộc tính name của từng phần tử. Bạn có thể định nghĩa thêm và chỉnh sửa toàn bộ.
Ngoài ra còn có một số thành phần khác bạn có thể xem ở các bài viết tiếp theo như menu....