Hayır, hiçbir şey kaçırdığına inanmıyorum. Bu alanlar farklı olarak adlandırılsa da, her ikisinin de kaynakları tanımlamak/referanslamak için kullanıldığına dair benim anlayışım. Bu, özellikle android:id
durumunda GUI elemanlarını (görünümleri) ve name
durumunda statik kaynakları ifade eder.
Daha fazla derinliğe inmek için, android:id
özniteliğinin yalnızca Görünüm'ü genişleten Görünümler ve sınıflara atanmış olduğuna inanıyorum.
Button myButton = (Button) findViewById(R.id.whatever_id_assigned_to_view)
Bu da örneğin name
tarafından basitçe tanımlanır böyle strings.xml gibi kaynaklar ya array.xml farklıdır: görünümü programlı kodunuzu findViewById
kullanılarak erişilebilir, böylece bu yapılır strings.xml bulunabilir olabilir ne örnek aşağıdadır:
<string name="string_name">Text Resource Here</string>
kullanılarak erişilir ...
getResources().getText(R.string.string_name)
Bunların organizasyonel nedenlerden dolayı ayrıldığını hayal ediyorum. Bu şekilde, oluşturulan Android kaynak dosyası (R.java), R.id'deki görünümler için belirtilen ID'leri, R.string'de bulunan dize kimliklerini, R.array vb. Dizi kimliklerini içerir.
Ürdün için teşekkürler. Sanırım bu benim için bir şeyleri temizledi. Ve android gibi görünüyor: isim 'sadece manifest dosyasında kullanılır. – Tim
'name' 'özelliğinin de başka işlevleri vardır. Örneğin, parçacıklarda, düzeni oluşturmak için sınıfı belirtmek için kullanılır: http://developer.android.com/guide/components/fragments.html –
Bu, "android: tag" alanlarının ATQ'sı değildir. Fragments ile kullanılabilir. Görünüşe göre: id: tercih edilir: [Görüntüle # android: tag] (http://developer.android.com/reference/android/view/View.html#attr_android:tag) – jordanpg