Mang đến cho bạn hành trang là Kiến thức và Kinh nghiệm

Lựa chọn chủ đề bạn quan tâm

Cùng nhau thảo luận về các vấn đề

Hãy theo dõi chúng tôi nếu bạn thấy bổ ích

  1. Hỏi đáp IT
  2. Hỏi nhanh

Cách xây dựng thiết kế giao diện Android

907 Lượt xem 1 Bình luận 0 Lượt báo xấu
Cũng như C#, Android đưa ra 2 phương pháp lập trình giao diện uyển chuyển là bằng tập tin giao diện XML và bằng mã lệnh Java. 
 Chúng tôi tạo một ứng dụng mẫu để mô tả cách lập trình thiết kế giao diện bằng cả 2 cách để các bạn tham khảo. Ứng dụng đó có tên là HelloAndroidUI đi kèm với đĩa DVD của tài liệu này gồm 2 cách với cấu trúc giao diện giống nhau để cho các bạn tiện so sánh.
                                 cc cch xy dng giao din Android
Hai hình trên thể hiện cùng một cấu trúc giao diện nhưng bản chất hình đầu lập trình bằng XML hình 2 thì bằng mã lệnh Java.
Cách 1: thiết kế giao diện Android
Cách thức thao tác kéo thả hay dùng các nút bên Outline của giao diện cho đến “ngông cuồng” gõ trực tiếp dòng lệnh XML để tạo thành tập tin giao diện XML trên Android ta không bàn nhiều ở đây. Ta xem như đã có sẵn tập tin giao diện 
XML có tên là using_xml.xml trong thư mục /res/layout/ như sau:
                             Lp trnh giao din bng XML

Ta thiết lập tập tin giao diện này cho một Activity bằng đoạn mã sau:
public class AndroidUI_UsingXML extends Activity {
/** Called when the Activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// nạp giao diện từ tập tin XML
setContentView(R.layout.using_xml);
}
}
Để thiết lập tập tin giao diện XML cho một Activity thì ta dùng hàm setContentView(R.layout.xxx) với xxx là tên tập tin. Phương thức này được thiết lập trong những dòng mã lệnh đầu tiên của phương thức onCreate().
Câu trả lời

- Bạn đã sẵn sàng thảo luận về chủ đề này. Hãy bấm "Viết bình luận", bạn có thể lựa chọn sử dụng tài khoản Facebook hoặc Google++

- Vì sự phát triển của cộng đồng CNTT/CNPM tại Việt Nam!

Unknown user
No responses yet


Cách 2: Bằng mã lệnh Java 
Khác với phương pháp trên, lập trình giao diện Android bằng mã lệnh Java là ánh xạ các phần tử giao diện XML thành mã Java tương ứng. Nói chung, việc làm này rất dễ và gần giống như lập trình XmlDocument trên C# vậy. 

Sau đây là toàn bộ đoạn mã lệnh:
public class AndroidUI_UsingJava extends Activity {private LinearLayout parentContainer;
/** Called when the Activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); 
// phần này tương ứng như khung LinearLayout trong tập tin using_xml
parentContainer = new LinearLayout(this);
parentContainer.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
LayoutParams.FILL_PARENT));parentContainer.setOrientation(LinearLayout.VERTICAL);
// phần này ứng với TextView trong tập tin using_xmlTextView myTextView = new TextView(this);
myTextView.setText(“Hello Android UI (Using Java Code)”);
parentContainer.addView(myTextView);
// phần này ứng với EditText có ID @+id/edt_TestEditText 
trong tập tin using_xml
EditText nameLbl = new EditText(this);
nameLbl.setHint(“EditText using code”);
parentContainer.addView(nameLbl);
// phần này ứng với Button có ID @+id/btn_TestButton trong 
tập tin using_xml
Button btn = new Button(this);
btn.setText(“Button Using Code”);
parentContainer.addView(btn);
// nạp giao diện tạo bằng Java code lên màn hình
setContentView(parentContainer);
}
}
Bạn nhìn thấy trên mã lệnh có phần đầu là tạo thực thể Layout và thiết lập các thuộc tính riêng cho nó. Sau đó lần lượt tạo thực thể các View và thêm vào thực thể layout đó. Công đoạn này xem chừng rất tỉ mĩ và tốn nhiều thời gian và cuối cùng cũng thông qua hàm setContentView(thực thể layout gốc) để thiết lập thực thể giao diện đó cho màn hình Android. 
Nhận xét 
Giữa 2 phương pháp lập trình giao diện trên đều ra một kết quả như nhau.

Nhưng mỗi phương pháp có mặt mạnh yếu như sau:
Bằng XML: giúp nhà lập trình thiết kế giao diện nhanh hơn so với bằng mã lệnh Java do có công cụ hỗ trợ lập trình giao diện ADT. Nhưng nó chưa đáp ứng được nhu cầu khi giao diện có sự thay đổi linh hoạt hơn tùy thuộc theo từng điều kiện mà giao diện XML không thể đáp ứng được.

Bằng mã lệnh Java: rất khó để lập trình một giao diện phức tạp vì nó rất khó quản lí theo từng dòng mã lệnh nhưng bù lại nó uyển chuyển và linh hoạt khi mà giao diện bằng XML không đáp ứng được.
Cách thao tác control trên Java code

Tất cả các khung chứa (layout) và các View đều có thể khai báo thành một thực thể bằng mã lệnh Java. Nếu chúng ta có nhu cầu thiết lập lại thuộc tính hay kiểm soát các hành động của đối tượng thì phải tại một định danh trong thuộc tính ID để ta có thể gán đối tượng đó cho một thực thể thông qua phương thức findViewByID(R.id.yyy) với yyy là tên ID của nút nhấn. Ví dụ như giá trị thuộc tính ID trên nút như sau:
                           Lp trnh giao din Android bng m lnh Java

Chúng ta xem lại tập tin HelloNhatTrungApp.Java trong project đầu tay HelloNhatTrungApp. Trong tập tin này có đoạn mã lệnh tạo thực thể cho nút nhấn Chào Android như sau: 

Button btnChaoAndroid = (Button) findViewById(R.id.ButtonChaoAndroid);
Ta thấy rất dễ, để khai báo thực thể cho một đối tượng bất kì trên màn hình giao diện thì ta dùng phương thức findViewById(R.id.yyy) và sau đó ép về kiểu dữliệu thật của nó. Tương tự cho tất cả các đối tượng còn lại như EditText chẳng hạn:
// Khai báo thực thể (instance) ánh xạ qua bên EditTextTenCuaBan trên
final EditText edtTextTenNguoiDung = (EditText) 
findViewById(R.id.EditTextTenCuaBan);

Cũng với từng đối tượng, chúng ta có thể thay đổi thuộc tính của chúng, dùng các phương thức thiết lập “lắng nghe” người dùng tác động lên nó bằng các phương thức thuộc kiểu onXXXListener với XXX là tùy theo từng kiểu khác nhau. 
1 Lượt thích

Từ khóa tìm kiếm

Câu trả lời mới nhất

Tin tuyển dụng