![]() |
| ảnh minh họa |
Hướng dẫn này sẽ giải thích cho bạn cách bạn có thể tổ chức các tài nguyên ứng dụng của bạn, chỉ định các tài nguyên thay thế và truy cập chúng trong các ứng dụng của bạn.
Sắp xếp tài nguyên trong Android Studio
MyProject/
app/
manifest/
AndroidManifest.xml
java/
MyActivity.java
res/
drawable/
icon.png
layout/
activity_main.xml
info.xml
values/
strings.xml
| Sr.No. | Loại thư mục và tài nguyên |
|---|---|
| 1 | hoạt hình / Các tệp XML xác định các hoạt ảnh thuộc tính. Chúng được lưu trong res / anim / folder và được truy cập từ lớp R.anim . |
| 2 | màu/ Các tệp XML định nghĩa một danh sách trạng thái của các màu. Chúng được lưu trong res / color / và được truy cập từ lớp R.color . |
| 3 | drawable / Các tệp hình ảnh như tệp .png, .jpg, .gif hoặc XML được biên dịch thành bitmap, danh sách trạng thái, hình dạng, hoạt ảnh có thể vẽ được. Chúng được lưu trong res / drawable / và được truy cập từ lớp R.drawable . |
| 4 | bố trí/ Các tệp XML xác định bố cục giao diện người dùng. Chúng được lưu trong res / layout / và được truy cập từ lớp R.layout . |
| 5 | thực đơn/ Các tệp XML định nghĩa các menu ứng dụng, chẳng hạn như Trình đơn tùy chọn, Trình đơn ngữ cảnh hoặc Trình đơn phụ. Chúng được lưu trong res / menu / và được truy cập từ lớp R.menu . |
| 6 | thô / Các tệp tùy ý để lưu dưới dạng thô của chúng. Bạn cần gọi hàm Resources.openRawResource () với ID tài nguyên, là R.raw.filename để mở các tệp thô như vậy. |
| 7 | giá trị / Các tệp XML chứa các giá trị đơn giản, chẳng hạn như chuỗi, số nguyên và màu sắc. Ví dụ, dưới đây là một số quy ước về tên tệp cho các tài nguyên bạn có thể tạo trong thư mục này - arrays.xml cho các mảng tài nguyên và được truy cập từ lớp R.array . integers.xml cho các số nguyên tài nguyên và được truy cập từ lớp R.integer . bools.xml cho tài nguyên boolean và truy cập từ lớp R.bool. colors.xml cho các giá trị màu và được truy cập từ lớp R.color . dimens.xml cho các giá trị thứ nguyên và được truy cập từ lớp R.dimen . strings.xml cho các giá trị chuỗi và được truy cập từ lớp R.string . styles.xml cho các kiểu và được truy cập từ lớp R.style . |
| số 8 | xml / Các tệp XML tùy ý có thể được đọc khi chạy bằng cách gọi hàm Resources.getXML () . Bạn có thể lưu các tệp cấu hình khác nhau ở đây sẽ được sử dụng trong thời gian chạy. |
Tài nguyên thay thế
Ứng dụng của bạn nên cung cấp các tài nguyên thay thế để hỗ trợ các cấu hình thiết bị cụ thể. Ví dụ: bạn nên bao gồm các tài nguyên có thể vẽ thay thế (ieimages) cho độ phân giải màn hình khác nhau và các tài nguyên chuỗi thay thế cho các ngôn ngữ khác nhau. Khi chạy, Android phát hiện cấu hình thiết bị hiện tại và tải các tài nguyên thích hợp cho ứng dụng của bạn.Để chỉ định các lựa chọn thay thế cấu hình cụ thể cho một tập hợp các tài nguyên, hãy làm theo các bước sau
Tạo một thư mục mới trong res / named trong form <resources_name> - <config_qualifier> . Ở đây resources_name sẽ là bất kỳ tài nguyên nào được đề cập trong bảng trên, như bố trí, có thể vẽ được. Vòng loại sẽ chỉ định một cấu hình riêng lẻ mà các tài nguyên này sẽ được sử dụng. Bạn có thể kiểm tra tài liệu chính thức để có danh sách đầy đủ các vòng loại cho các loại tài nguyên khác nhau.
Lưu tài nguyên thay thế tương ứng trong thư mục mới này. Các tệp tài nguyên phải được đặt tên giống hệt như tệp tài nguyên mặc định như được hiển thị trong ví dụ bên dưới, nhưng các tệp này sẽ có nội dung cụ thể cho phương án thay thế. Ví dụ: mặc dù tên tệp hình ảnh sẽ giống nhau nhưng đối với màn hình có độ phân giải cao, độ phân giải của nó sẽ cao.
Dưới đây là ví dụ chỉ định hình ảnh cho màn hình mặc định và hình ảnh thay thế cho màn hình có độ phân giải cao.
MyProject/
app/
manifest/
AndroidManifest.xml
java/
MyActivity.java
res/
drawable/
icon.png
background.png
drawable-hdpi/
icon.png
background.png
layout/
activity_main.xml
info.xml
values/
strings.xml
Dưới đây là một ví dụ khác xác định bố cục cho ngôn ngữ mặc định và bố cục thay thế cho ngôn ngữ Ả Rập.
MyProject/
app/
manifest/
AndroidManifest.xml
java/
MyActivity.java
res/
drawable/
icon.png
background.png
drawable-hdpi/
icon.png
background.png
layout/
activity_main.xml
info.xml
layout-ar/
main.xml
values/
strings.xml
Truy cập tài nguyên
Trong quá trình phát triển ứng dụng của bạn, bạn sẽ cần phải truy cập các tài nguyên được xác định trong mã của bạn hoặc trong các tệp XML bố trí của bạn. Phần sau giải thích cách truy cập tài nguyên của bạn trong cả hai kịch bản -Truy cập tài nguyên trong mã
Khi ứng dụng Android của bạn được biên dịch, một lớp R sẽ được tạo, chứa ID tài nguyên cho tất cả các tài nguyên có sẵn trong thư mục res / của bạn . Bạn có thể sử dụng lớp R để truy cập tài nguyên đó bằng cách sử dụng thư mục con và tên tài nguyên hoặc ID tài nguyên trực tiếp.
Thí dụ
Để truy cập res / drawable / myimage.png và thiết lập ImageView, bạn sẽ sử dụng mã sau:ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Ở đây dòng đầu tiên của mã sử dụng R.id.myimageview để có được ImageView được xác định với id myimageview trong tệp Bố cục. Dòng thứ hai của mã làm cho việc sử dụng R.drawable.myimage để có được một hình ảnh với tên myimage có sẵn trong thư mục con có thể kéo dưới / res .
Thí dụ
Xem xét ví dụ tiếp theo trong đó res / values / strings.xml có định nghĩa sau:<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello, World!</string> </resources>Bây giờ bạn có thể đặt văn bản trên một đối tượng TextView với ID msg bằng cách sử dụng một ID tài nguyên như sau:
TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello);
Thí dụ
Xem xét bố cục res / layout / activity_main.xml với định nghĩa sau:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>Mã ứng dụng này sẽ tải bố cục này cho một Hoạt động, trong phương thức onCreate () như sau:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
Truy cập tài nguyên trong XML
Xem xét tệp XML res / values / strings.xml tài nguyên sau đây bao gồm tài nguyên màu và tài nguyên chuỗi<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <string name="hello">Hello!</string> </resources>Bây giờ bạn có thể sử dụng các tài nguyên này trong tệp sơ đồ bố trí sau để đặt màu văn bản và chuỗi văn bản như sau:
<?xml version="1.0" encoding="utf-8"?> <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/opaque_red" android:text="@string/hello" />Bây giờ nếu bạn sẽ đi qua chương trước một lần nữa, nơi tôi đã giải thích Hello World! Ví dụ, và tôi chắc chắn bạn sẽ hiểu rõ hơn về tất cả các khái niệm được giải thích trong chương này.
Vì vậy, tôi khuyên bạn nên kiểm tra chương trước để biết ví dụ làm việc và kiểm tra cách tôi đã sử dụng các tài nguyên khác nhau ở cấp độ rất cơ bản.

Không có nhận xét nào:
Đăng nhận xét