Bài giảng Lập trình Android - Bài 4: Tài nguyên ứng dụng cơ bản

1. Khái niệm

●  Tài nguyên & Tính tương thích

●  Định nghĩa tài nguyên

●  Truy xuất tài nguyên

●  Tài nguyên Alias

2. Các tài nguyên cơbản

pdf37 trang | Chuyên mục: Android | Chia sẻ: dkS00TYs | Lượt xem: 2448 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Lập trình Android - Bài 4: Tài nguyên ứng dụng cơ bản, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ư mục tài nguyên cách nhau bằng dấu 
gạch ngang (“-”). 
●  Các từ hạn định phải theo thức tự ưu tiên. 
●  Các thư mục tài nguyên không được chứa thư mục tài nguyên khác. 
●  Không cho phép hai từ hạn định giống nhau trên cùng một thư mục. 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 11 
1.3 Truy xuất tài nguyên 
q  Tất cả tài nguyên ứng dụng được truy xuất thông qua lớp R. 
q  Lớp R: 
●  Lớp tĩnh. 
●  Chứa trong thư mục gen, tự động tạo các định danh cho tài nguyên 
(ID) thông qua AAPT (Android Application Project Tool). 
●  Chứa các lớp tài nguyên, mỗi dạng tài nguyên là một lớp tĩnh. 
§  Ví dụ: 
§  Truy xuất tài nguyên hình ảnh: 
§  Java code: R.drawable.ic_launcher 
§  XML: @drawable/ic_launcher 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 12 
1.3 Truy xuất tài nguyên 
q  Cú pháp dùng chung khi truy xuất: 
Java Code: 
[]R.. 
XML: 
@[:]/ 
Trong đó: 
§  Package_name: tên gói ứng dụng 
§  Resource_type: dạng tài nguyên 
§  Resource_name: 
§  Tên tài nguyên cần truy xuất không bao gồm phần mở rộng tập tin 
§  Thuộc tính android:name dành cho các tài nguyên cơ bản (string, 
color…). 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 13 
1.4 Tài nguyên Alias 
q  Cho phép tạo ra tài nguyên từ tài nguyên có sẵn, phục vụ cho nhiều 
cấu hình thiết bị nhưng không phải là tài nguyên mặc định. 
q  Ví dụ: 
●  Vấn đề: tạo biểu tượng ứng dụng khác nhau cho các ngôn ngữ khác nhau, 
đối với tiếng Anh và tiếng Việt thì cùng biểu tượng. 
§  Giải quyết vấn đề (không dùng Alias): 
§  Tạo thư mục tài nguyên cho từng ngôn ngữ. 
§  Chép hình ảnh khác nhau cho từng thư mục, hai thư mục có từ hạn 
định en và vi có hình ảnh giống nhau. 
§  Giải quyết vấn đề (dùng Alias): 
§  Tạo thư mục tài nguyên cho từng ngôn ngữ. 
§  Chép hình ảnh khác nhau cho từng thư mục. 
§  Thư mục có từ hạn định en tạo tài nguyên Alias từ thư mục vi. 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 14 
1.  Khái niệm 
2.  Các tài nguyên cơ bản 
●  String 
●  Color 
●  Dimen 
●  Array 
Nội dung 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 15 
2. Các tài nguyên cơ bản 
q  Các tài nguyên cơ bản được lưu trữ trong thư mục res/values. 
q  Định danh tài nguyên được khởi tạo thông qua thuộc tính name, 
không phải tên tập tin. 
q  Có thể lưu trữ nhiều tài nguyên vào trong một tập tin. 
q  Một số tên tập tin đề xuất trong values: 
●  string.xml 
●  arrays.xml 
●  colors.xml 
●  dimens.xml 
q  Tất cả các tập tin xml trong values, được mở đầu và kết thúc bằng 
cặp thẻ . 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 16 
2.1 String 
q  Cung cấp tài nguyên dạng văn bản cho ứng dụng, cho phép thực 
hiện các thao tác định dạng và thiết kế khác nhau, bao gồm ba 
dạng: 
●  String 
●  StringArray 
●  QuantityString (Plural) 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 17 
2.1 String 
q  String: 
●  Khai báo: 
Text_string 
Trong đó: 
§  string_name: định danh dùng để truy xuất trong XML và Java Code. 
§  text_string: nội dung lưu trữ. 
●  Ví dụ: tập tin strings.xml 
 Hello world! 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 18 
2.1 String 
q  String: 
●  Ví dụ truy xuất và sử dụng: Khai báo TextView và gắn văn bản cho 
thuộc tính text. 
§  Truy xuất trong XML: 
<TextView 
 … 
 android:text=“@string/hello” /> 
§  Truy xuất trong Java Code: 
Truy xuất trực tiếp: 
 textView.setText(R.string.hello); 
Dùng phương thức getString: 
 textView.setText(getString(R.string.hello)); 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 19 
2.1 String 
q  StringArray: 
●  Khai báo: 
 Text_string 
Trong đó: 
§  string_array_name: định danh dùng để truy xuất trong XML và Java Code. 
§  text_string: nội dung lưu trữ cho từng item. 
●  Ví dụ: 
 Basic Android 
 Advanced Android 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 20 
2.1 String 
q  StringArray: 
●  Truy xuất trong Java Code: 
Resources res = getResources(); 
String[] androidCourses = 
 res.getStringArray(R.array.android_courses); 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 21 
2.1 String 
q  Quantity: được sử dụng cùng bộ số đếm tùy thuộc vào qui ước của 
từng ngôn ngữ, bao gồm các bộ đếm: 
●  Zero 
●  One 
●  Two 
●  Few 
●  Many 
●  Other 
q  Thường được dùng kết hợp với các định dạng số nguyên. 
q  Hệ thống tự động lựa chọn tùy chọn bộ đếm tùy thuộc vào số đếm 
và ngôn ngữ sử dụng trên thiết bị. 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 22 
2.1 String 
q  Quantity: 
●  Khai báo: 
 Text_string 
Trong đó: 
§  plural_name: định danh dùng để truy xuất trong XML và Java Code. 
§  count: bộ đếm sử dụng. 
§  text_string: nội dung lưu trữ cho từng item. 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 23 
2.1 String 
q  Quantity: 
●  Ví dụ: 
 One book found. 
 %d books found. 
●  Truy xuất trong Java Code: 
Resources res = getResources(); 
String booksFound = 
 res.getQuantityString(R.plurals.numberOfBooks, 2, 2); 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 24 
2.1 String 
q  Định dạng String: 
●  Truyền tham số: cho phép thực hiện tạo các đoạn văn bản có chứa 
tham số truyền vào. 
●  Ví dụ: 
 Chào %1$s! Bạn có %2$d tin nhắn mới. 
●  Truy xuất trong Java Code: 
String messages = getString(R.string.messages); 
messages = String.format(messages, “HTSI”, 10); 
Log.d(“HTSI”, messages); 
// Chào HTSI! Bạn có 10 tin nhắn mới. 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 25 
2.1 String 
q  Định dạng String: 
●  Định dạng HTML: cho phép hiển thị các định dạng cấu trúc HTML. 
●  Ví dụ: 
 Chào %1$s! Bạn có <b>%2$d tin nhắn mới <b/>. 
●  Truy xuất trong Java Code: 
String messages = getString(R.string.messages); 
messages = String.format(messages, “HTSI”, 10); 
CharSequence htmlMessages = Html.fromHtml(messages); 
Log.d(“HTSI”, htmlMessages); 
// Chào HTSI! Bạn có 10 tin nhắn mới. 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 26 
2.2 Color 
q  Khai báo tài nguyên sử dụng cho các hiển thị màu sắc như phông 
nền, hình ảnh, màu chữ… 
q  Có thể sử dụng các định dạng màu sắc sau: 
●  #RGB 
●  #ARGB 
●  #RRGGBB 
●  #AARRGGBB 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 27 
2.2 Color 
q  Khai báo: 
hex_color 
Trong đó: 
§  color_name: định danh dùng để truy xuất trong XML và Java Code. 
§  hex_color: định dạng màu sắc 
●  Ví dụ: tập tin colors.xml 
 #33B5E5 
 #99CC00 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 28 
2.2 Color 
q  Ví dụ truy xuất và sử dụng: Khai báo TextView và thiết lập màu văn 
bản thông qua thuộc tính textColor. 
§  Truy xuất trong XML: 
<TextView 
 … 
 android:textColor=“@color/my_blue” /> 
§  Truy xuất trong Java Code: 
Dùng phương thức getColor: 
 Resources res = getResources(); 
 int myBlue = res.getColor(R.color.my_bule); 
 textView.setTextColor(myBlue); 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 29 
2.2 Color 
q  ColorStateList: đối tượng cho phép xây dựng một tập các màu sắc 
khác nhau hiển thị cho các trạng thái khác nhau: 
●  Pressed 
●  Focused 
●  Selected 
●  Checkable 
●  Checked 
●  Enable 
●  Window_focused 
q  Khai báo trong thư mục res/color, tập tin XML khai báo trong thư 
mục này bắt đầu và kết thúc bằng cặp thẻ . 
q  Định danh ColorStateList được truy xuất thông tên tập tin (không 
bao gồm phần mở rộng). 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 30 
2.2 Color 
q  ColorStateList: 
●  Khai báo: 
<selector 
xmlns:android=""> 
 <item [android:state = “true|false”] 
 android:color=“hex_color” /> 
Trong đó: 
§  state: chỉ định trạng thái thông qua true hoặc false, nếu không có 
chỉ định trạng thái là bình thường. 
§  hexa_color: màu tương ứng với trạng thái. 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 31 
2.2 Color 
q  ColorStateList: 
●  Ví dụ: tập tin button_text_selector.xml trong res/color 
●  Truy xuất sử dụng trong XML 
<button 
 … 
 android:textColor=“@color/button_text_selector” 
/> 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 32 
2.3 Dimen 
q  Khai báo tài nguyên sử dụng cho các đại lượng kích thước trong 
ứng dụng. 
q  Có thể sử dụng các đại lượng kích thước sau: 
●  dp – dip 
●  sp 
●  pt 
●  Px 
●  mm 
●  in 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 33 
2.3 Dimen 
q  Khai báo: 
size 
Trong đó: 
§  dimen_name: định danh dùng để truy xuất trong XML và Java Code. 
§  size: đại lượng đi kèm định dạng 
●  Ví dụ: tập tin dimens.xml 
 20sp 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 34 
2.3 Dimen 
q  Ví dụ truy xuất và sử dụng: Khai báo Button và thiết lập kích thước 
văn bản thông qua thuộc tính textSize. 
§  Truy xuất trong XML: 
<TextView 
 … 
 android:textSize=“@dimen/text_size” /> 
§  Truy xuất trong Java Code: 
Dùng phương thức getDimension: 
 Resources res = getResources(); 
 float textSize = res.getDimension(R.dimen.text_size); 
 textView.setTextSize(textSize); 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 35 
2.4 TypedArray 
q  Khai báo tài nguyên cho phép xây dựng tập hợp (mảng) lưu trữ các 
loại tài nguyên như hình ảnh, màu sắc… hoặc có thể lưu trữ cùng 
lúc nhiều dạng tài nguyên khác nhau. 
q  Khai báo: 
 value 
Trong đó: 
§  array_name: định danh dùng để truy xuất trong XML và Java Code. 
§  value: giá trị lưu trữ 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 36 
2.4 TypedArray 
q  Ví dụ: tập tin arrays.xml 
 @color/my_blue 
 @color/my_green 
 #FFBB33 
Truy xuất và sử dụng trong Java Code: 
TypedArray colors = res.obtainTypedArray(R.array.colors); 
int myBlue = colors.getColor(2,0); 
Lập trình Android (2014) – Bài 4. Tài nguyên ứng dụng (1) 37 
Thảo luận 

File đính kèm:

  • pdfBài giảng Lập trình Android - Bài 4 Tài nguyên ứng dụng cơ bản.pdf
Tài liệu liên quan