Định nghĩa bố cục, chuỗi giao diện người dùng, hướng dẫn hoạt hình, v.v. Các tài nguyên này luôn được duy trì riêng trong các thư mục con khác nhau trong thư mục res / của dự án.
Hướng dẫn này sẽ giải thích cho bạn cách bạn có thể sắp xếp các tài nguyên ứng dụng của mình, 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.
![]() |
| Học lập trình Android |
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.Không. | Loại thư mục & tài nguyên |
|---|---|
| 1 | hoạt hình / Các tệp XML xác định hình ảnh động thuộc tính. Chúng được lưu trong thư mục res / anim / và được truy cập từ lớp R.anim. |
| 2 | màu/ Các tệp XML xác định danh sách màu của trạng thái. Chúng được lưu trong res / color / và được truy cập từ lớp R.color . |
| 3 | có thể rút / Các tệp hình ảnh như các 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, hình động 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 xác định các menu ứng dụng, chẳng hạn như Menu Tùy chọn, Menu ngữ cảnh hoặc Menu phụ. Chúng được lưu trong res / menu / và được truy cập từ lớp R.menu . |
| 6 | nguyên / Các tập tin tùy ý để lưu ở dạng thô của chúng. Bạn cần gọi Tài nguyên.openRawResource () bằng 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ụ: đây là một số quy ước tên tệp cho các tài nguyên bạn có thể tạo trong thư mục này mảng 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 boolean tài nguyên và được 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 . String.xml cho các giá trị chuỗi và được truy cập từ lớp R. String . style.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 trong thời gian chạy bằng cách gọi Tài nguyên.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 sẽ 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ể rút ra (ieimages) cho độ phân giải màn hình khác nhau và tài nguyên chuỗi thay thế cho các ngôn ngữ khác nhau. Khi chạy, Học lập trình Android 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 phù hợp cho ứng dụng của bạn.
Để chỉ định các lựa chọn thay thế dành riêng cho cấu hình cho một bộ tài nguyên, hãy làm theo các bước sau
Để chỉ định các lựa chọn thay thế dành riêng cho cấu hình cho một bộ 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 / có tên ở dạng <resource_name> - <config_qualifier> . Ở đây resource_name sẽ là bất kỳ tài nguyên nào được đề cập trong bảng trên, như bố cục, có thể vẽ được, v.v ...
Vòng loại sẽ chỉ định một cấu hình riêng 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 để biết danh sách đầy đủ các vòng loại cho các loại tài nguyên khác nhau.
Lưu các 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 chính xác giống như các tệp tài nguyên mặc định như trong ví dụ dưới đây, nhưng các tệp này sẽ có nội dung cụ thể để 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 độ phân giải cao, độ phân giải của nó sẽ cao.
Dưới đây là một 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 độ phân giải cao.
Lưu các 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 chính xác giống như các tệp tài nguyên mặc định như trong ví dụ dưới đây, nhưng các tệp này sẽ có nội dung cụ thể để 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 độ phân giải cao, độ phân giải của nó sẽ cao.
Dưới đây là một 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 độ 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 chỉ đị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
Tài nguyên truy cập
Trong quá trình phát triển ứng dụng của bạn, bạn sẽ cần truy cập các tài nguyên được xác định hoặc trong mã của bạn hoặc trong các tệp XML bố cục của bạn. Phần sau đây giải thích cách truy cập tài nguyên của bạn trong cả hai trường hợpTruy cập tài nguyên trong mã
Khi ứng dụng Lập trình 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 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à đặt 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 để xác định ImageView với id myimageview trong tệp Bố cục.
Dòng mã thứ hai sử dụngR.drawable.myimage để có được một hình ảnh với tên myimage có sẵn trong thư mục con có thể vẽ được dưới / res .
Thí dụ
Xem xét ví dụ tiếp theo trong đó res / value / chuỗi.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 bằng thông điệp ID bằng ID tài nguyên như sau
TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello);Thí dụ
Hãy xem xét mộ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
Hãy xem xét tệp res / value / chuỗi 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 bố cục 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 đặc biệt khuyên bạn nên kiểm tra chương trước để biết ví dụ hoạt động và kiểm tra xem tôi đã sử dụng các tài nguyên khác nhau ở mức độ cơ bản như thế nào.

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