R nedir: R
hakkında çok gizemli bir şey yoktur. Bu sadece birçok statik alt sınıfı olan, onu tutulmada açan ve bir göz atan (under gen /) bir sınıftır.
Bu sınıfın her üyesi iki şeyden biridir: 1) statik son sınıflar veya 2) sınıflarının diğer üyelerine göre benzersiz olan statik son tamsayılar.
Neden bu kadar şifreli: Kafasını
karıştırmak kolaydır çünkü R otomatik olarak karınca tarafından üretilir. Bu şifreli çünkü elle "dokunmanız" gerekmiyor (elbette dokunabilirsiniz, ancak değişiklikleriniz yenilenme üzerine otomatik olarak silinecektir). Ek olarak şifreli çünkü bazen tutulma, androidlerin standart R dosyasını otomatik olarak içe aktarır (yukarıdaki yanıtlarda tartışıldığı gibi)
Neden her zaman çözülemeyen ilk şeydir: R, Java sınıflarının ve paketlerinin kurallarına tam olarak uyar, R'nin içe aktarmaya göre nasıl davrandığına dair özel bir şey yoktur . R, manifest dosyanızdaki paket girişi tarafından belirtilen pakete otomatik olarak yerleştirilecektir.
<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" />
R dosyanızın hangi pakete ait olduğunu görmek için gen / klasörü eclipse'de açın (paket görünümü). Orada listelenmiş bir paket göreceksiniz, manifestinizde belirttiğiniz ada sahip olacaktır. Silmeyi deneyin, tüm kaynaklarınız doğru adlandırma kurallarına uyarsa ve tüm xml dosyalarınız doğru xml kurallarına uyarsa ve tutulmada otomatik olarak derleme etkinleştirilirse geri gelecektir .
R dosyasını anlamanın anahtarı, "ana" paketinize ait diğer dosyalardan farklı bir dizinde olmasına rağmen, diğer sınıflarla aynı pakette olduğunu fark etmektir. Bunu anladıktan ve kaynak dosyalarının sözdizimini ve isimlendirmesini anladıktan sonra, R ile sorunları gidermek kolaydır.