Junior
Android'de kaynaklar nedir ve bunlara hangi veriler saklanabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Android'de kaynaklar, uygulama tarafından kullanılan ancak doğrudan koda dahil olmayan harici verilerdir. Uygulama mantığından ayrılmıştır ve proje kök dizinindeki res alt klasörlerinde saklanır. Android, bu kaynaklara erişim ve yönetim için araçlar sağlar.
Kaynaklar şunlar için kullanılır:
- Uygulamanın yerelleştirilmesi (farklı dilleri destekleme).
- Farklı ekran boyutları ve çözünürlüklerine uyum.
- Tasarım ile mantığın ayrılması.
- Arayüz güncellemelerinin basitleştirilmesi.
Kaynaklarda şu veri türleri saklanabilir:
- Drawable: Resimler (PNG, JPEG, GIF), XML tabanlı şekil tanımlamaları, anahtarlar vb.
drawablealt klasörlerinde saklanır.<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#FF0000"/> <corners android:radius="10dp"/> </shape> - Layout: Activity, Fragment veya View yapısını tanımlayan XML dosyaları.
layoutalt klasörlerinde saklanır.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Merhaba, dünya!"/> </LinearLayout> - Mipmap: Farklı yoğunluklar için optimize edilmiş uygulama ikonları.
drawableyerine tercih edilir.mipmap-hdpi,mipmap-xhdpigibi alt klasörlerde saklanır. - String: Uygulamada kullanılan metin dizeleri. Metinleri kolayca yerelleştirmeye olanak tanır.
values/strings.xmlgibi XML dosyalarında saklanır.<resources> <string name="app_name">Benim Uygulamam</string> <string name="welcome_message">Hoşgeldiniz!</string> </resources> - Style: Görünüm stilleri. Görünümün görünüm özelliklerini merkezi olarak yönetir.
values/styles.xmlgibi XML dosyalarında saklanır.<resources> <style name="MyTextViewTextAppearance" parent="android:TextAppearance.Medium"> <item name="android:textColor">#000000</item> <item name="android:textStyle">bold</item> </style> </resources> - Theme: Tüm Activity veya uygulama için temalar. Stillerden türetilir.
valuesalt klasörlerinde saklanır. - Array: Dize, tamsayı veya kaynak referansı dizileri.
valuesalt klasörlerinde saklanır.<resources> <string-array name="planets_array"> <item>Merkür</item> <item>Venüs</item> <item>Dünya</item> <item>Mars</item> </string-array> </resources> - Color: Hexadecimal renk tanımlamaları veya diğer renk referansları.
values/colors.xmlgibi XML dosyalarında saklanır.<resources> <color name="colorPrimary">#008577</color> <color name="colorAccent">#03DAC5</color> </resources> - Dimension: Marginler, paddingler, yazı tipi boyutları vb. ölçü birimleriyle (dp, sp, pt, px, mm, in).
values/dimens.xmlgibi XML dosyalarında saklanır.<resources> <dimen name="margin_small">8dp</dimen> <dimen name="font_size_medium">16sp</dimen> </resources> - Raw: İşlenmemiş dosyalar (ses, video, metin dosyaları vb.). Giriş akışıyla erişilir.
rawalt klasörlerinde saklanır. - XML: Uygulamada çözümlenebilecek XML dosyaları.
xmlalt klasörlerinde saklanır.
Kaynaklara erişim, otomatik olarak oluşturulan R sınıfı aracılığıyla yapılır. Örneğin, app_name dizesine erişmek için:
// Java
String appName = getResources().getString(R.string.app_name);
// Kotlin
val appName = resources.getString(R.string.app_name)
Kaynakların kullanımı, esnek ve bakımı kolay Android uygulamaları oluşturmayı sağlar.