Sobes.tech
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. drawable alt 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ı. layout alt 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ı. drawable yerine tercih edilir. mipmap-hdpi, mipmap-xhdpi gibi alt klasörlerde saklanır.
  • String: Uygulamada kullanılan metin dizeleri. Metinleri kolayca yerelleştirmeye olanak tanır. values/strings.xml gibi 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.xml gibi 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. values alt klasörlerinde saklanır.
  • Array: Dize, tamsayı veya kaynak referansı dizileri. values alt 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.xml gibi 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.xml gibi 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. raw alt klasörlerinde saklanır.
  • XML: Uygulamada çözümlenebilecek XML dosyaları. xml alt 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.