Cách dùng file File R.java trong Android
Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về file R.java và vai trò của nó trong phát triển ứng dụng Android.
Trong phát triển ứng dụng Android, file R.java là một trong những file quan trọng nhất. File này được tạo ra tự động bởi Android Studio và chứa thông tin về tất cả các dữ liệu được sử dụng trong ứng dụng của bạn, bao gồm các dữ liệu hình ảnh, âm thanh, layout, màu sắc và các thành phần khác.
Giới thiệu về file R.java trong Android
File R.java là một file Java được tạo ra tự động bởi Android Studio và chứa tất cả các thông tin về dữ liệu trong ứng dụng của bạn. File này được tạo ra khi bạn xây dựng ứng dụng Android và tự động cập nhật mỗi khi bạn thêm hoặc xoá một dữ liệu nào đó trong dự án của bạn.
File R.java chứa các static class và các constant để đại diện cho các dữ liệu trong ứng dụng của bạn. Các static class này được tạo ra tự động và chứa các phương thức để truy cập đến các dữ liệu của ứng dụng, bao gồm các dữ liệu hình ảnh, âm thanh, layout, màu sắc và các thành phần khác.
Bài viết này được đăng tại [free tuts .net]
Lưu ý: Nếu bạn xóa file R.jar, Android sẽ tự động tạo file đó.
Các thành phần trong file R.java
Hãy cùng xem đoạn code của file R.java mà Android Studio tự tạo khi tạo "Empty Activity".
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.example.helloandroid; public final class R { public static final class attr { } public static final class drawable { public static final int ic_launcher=0x7f020000; } public static final class id { public static final int menu_settings=0x7f070000; } public static final class layout { public static final int activity_main=0x7f030000; } public static final class menu { public static final int activity_main=0x7f060000; } public static final class string { public static final int app_name=0x7f040000; public static final int hello_world=0x7f040001; public static final int menu_settings=0x7f040002; } public static final class style { /** Base application theme, dependent on API level. This theme is replaced by AppBaseTheme from res/values-vXX/styles.xml on newer devices. Theme customizations available in newer API levels can go in res/values-vXX/styles.xml, while customizations related to backward-compatibility can go here. Base application theme for API 11+. This theme completely replaces AppBaseTheme from res/values/styles.xml on API 11+ devices. API 11 theme customizations can go here. Base application theme for API 14+. This theme completely replaces AppBaseTheme from BOTH res/values/styles.xml and res/values-v11/styles.xml on API 14+ devices. API 14 theme customizations can go here. */ public static final int AppBaseTheme=0x7f050000; /** Application theme. All customizations that are NOT specific to a particular API-level can go here. */ public static final int AppTheme=0x7f050001; } }
File R.java bao gồm rất nhiều static class như menu, id, layout, attr, drawable, string... Mỗi static class là một loại dữ liệu cụ thể trong ứng dụng đang phát triển.
Dưới đây là một số ví dụ về các static class phổ biến trong file R.java:
- R.drawable: Đây là static class chứa các constant đại diện cho các hình ảnh trong ứng dụng của bạn.
- R.layout: Đây là static class chứa các constant đại diện cho các file layout trong ứng dụng của bạn.
- R.color: Đây là static class chứa các constant đại diện cho các màu sắc trong ứng dụng của bạn.
- R.string: Đây là static class chứa các constant đại diện cho các chuỗi trong ứng dụng của bạn.
Tương tự với các static class khác như: R.id, R.menu, R.anim...
Để truy cập đến các dữ liệu trong file R.java, bạn chỉ cần sử dụng các constant đại diện cho chúng. Ví dụ, để truy cập đến một hình ảnh được định nghĩa trong lớp R.drawable, bạn có thể sử dụng mã như sau:
ImageView imageView = findViewById(R.id.image_view); imageView.setImageResource(R.drawable.my_image);
Trong đoạn code trên, R.drawable.my_image là một constant đại diện cho hình ảnh được định nghĩa trong lớp R.drawable.
Vai trò của file R.java trong phát triển ứng dụng Android
File R.java là một phần quan trọng của quá trình phát triển ứng dụng Android vì thế nên vai trò của file R.java là không thể không kể đến:
- Truy cập và quản lí dữ liệu: Khi bạn thêm hoặc xoá một dữ liệu nào đó trong dự án của mình, file R.java sẽ được cập nhật tự động để phản ánh các thay đổi này.
- Giảm thiểu số lượng code: Thay vì sử dụng các đường dẫn tuyệt đối đến các dữ liệu của bạn, bạn chỉ cần sử dụng các constant đại diện cho chúng trong file R.java.
Tổng quan, file R.java là một phần không thể thiếu trong quá trình phát triển ứng dụng Android. Nó giúp bạn quản lý và truy cập đến các dữ liệu ứng dụng của bạn một cách dễ dàng và hiệu quả.