Apa R:
Tidak ada yang sangat misterius tentang R. Ini hanya sebuah kelas yang memiliki banyak subkelas statis, buka di gerhana dan lihat (di bawah gen /).
Setiap anggota kelas ini adalah salah satu dari dua hal: 1) kelas akhir statis atau 2) bilangan bulat final statis yang unik sehubungan dengan anggota lain dari kelas mereka.
Mengapa begitu samar: Sangat
mudah untuk membuat bingung karena R secara otomatis dihasilkan oleh semut. Ini samar karena Anda tidak seharusnya "menyentuhnya" secara manual (tentu saja Anda bisa, tetapi perubahan Anda akan otomatis dihapus saat dibuat ulang). Ini juga samar karena terkadang eclipse secara otomatis mengimpor file R standar Android (seperti yang dibahas dalam jawaban di atas)
Mengapa selalu yang pertama tidak dapat diselesaikan: R mengikuti aturan kelas dan paket Java dengan tepat, tidak ada yang istimewa tentang bagaimana R bertindak sehubungan dengan impor. R akan secara otomatis ditempatkan dalam paket yang ditentukan oleh entri paket di file manifes Anda
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="package.which.will.contain.R.and.probably.the.main.package.in.the.application" android:versionName="8.6.2011" android:versionCode="1">
<uses-sdk android:minSdkVersion="13" />
Untuk melihat paket milik apa file R Anda, cukup buka folder gen / di eclipse (tampilan paket). Anda akan melihat satu paket terdaftar di sana, itu akan memiliki nama yang Anda tentukan di manifes Anda. Cobalah untuk menghapusnya, itu akan kembali jika semua sumber daya Anda mengikuti aturan penamaan yang benar dan semua file xml Anda mengikuti aturan xml yang benar dan jika build secara otomatis diaktifkan di gerhana.
Kunci untuk memahami file R adalah dengan menyadari bahwa ia ada dalam paket yang sama dengan kelas lain meskipun ia berada di direktori yang berbeda dari file lain yang termasuk dalam paket "utama" Anda. Setelah Anda memahami ini dan memahami sintaks dan penamaan file sumber daya, pemecahan masalah dengan R mudah.