Uygulama simgeleri, yerelleştirilmiş dizeler ve bit eşlemler gibi uygulama kaynakları, her modülün res/ dizinindeki türe özgü dizinler halinde düzenlenir. Ayrıca, her dosyanın farklı cihaz yapılandırmaları için optimize edilmiş alternatif sürümlerini de ekleyebilirsiniz. Örneğin, yüksek yoğunluklu ekranlar için bir bit eşlemin yüksek çözünürlüklü sürümü.
Android Studio, eklemek istediğiniz kaynağın türüne bağlı olarak çeşitli şekillerde yeni kaynaklar ve alternatif kaynaklar eklemenize yardımcı olur. Bu sayfada, temel kaynak dosyalarının nasıl ekleneceği, kaynaklarınızın konumunun nasıl değiştirileceği ve kaynak birleştirmenin nasıl çalıştığı açıklanmaktadır.
Jetpack Compose'da kullanıcı arayüzünüzü XML düzenleri yerine Kotlin'de tanımlarsınız.
Ancak, simgeler, yazı tipleri ve çeviriler gibi uygulama düzeyindeki statik öğeleri depolamak için res/ dizinini kullanmaya devam edersiniz. Bu kaynaklara composable işlevlerinizde nasıl erişeceğinizi öğrenmek için Compose'daki kaynaklar başlıklı makaleyi inceleyin.
Belirli kaynak türlerini oluşturma hakkında ayrıntılı bilgi için aşağıdaki sayfalara bakın:
- Dize dosyaları eklemek için Çeviri Düzenleyici ile kullanıcı arayüzünü yerelleştirme başlıklı makaleyi inceleyin.
- Bit eşlemler eklemek için Uygulama simgeleri oluşturma başlıklı makaleyi inceleyin.
- SVG dosyaları eklemek için Çok yoğunluklu vektör grafikleri ekleme başlıklı makaleyi inceleyin.
Uygulama kodunuzdaki kaynaklara nasıl referans vereceğiniz hakkında bilgi edinmek için Uygulama kaynaklarına genel bakış başlıklı makaleyi inceleyin.
XML kaynak dosyası ekleme
Önceki sayfa bağlantılarında her kaynak türüne göre özelleştirilmiş iş akışları açıklanıyor olsa da aşağıdaki adımları uygulayarak herhangi bir XML kaynak dosyası ekleyebilirsiniz:
- Android veya Project görünümündeki Project penceresinde hedef uygulama modülünü tıklayın.
- Dosya > Yeni > Android kaynak dosyası'nı seçin.
Şekil 1. Yeni Kaynak Dosyası iletişim kutusu.
- İletişim kutusundaki bilgileri doldurun:
- Dosya adı: XML dosyasının adını girin (
.xmlsoneki gerekmez). - Kaynak türü: Oluşturmak istediğiniz kaynak türünü seçin.
- Kök öğe: Varsa dosyanın kök XML öğesini seçin. Bazı kaynak türleri yalnızca bir tür kök öğeyi destekler. Seçilen kaynak türüne bağlı olarak bu alan düzenlenemeyebilir.
- Kaynak grubu: Dosyayı kaydetmek istediğiniz kaynak grubunu seçin.
- Dizin adı: Dizin, kaynak türüne ve yapılandırma niteleyicilerine özgü olacak şekilde adlandırılmalıdır. Dizin adına yapılandırma niteleyicilerini manuel olarak eklemek istemiyorsanız bunu düzenlemeyin (bunun yerine Kullanılabilir niteleyiciler'i kullanın).
- Kullanılabilir niteleyiciler: Yapılandırma niteleyicilerini dizin adınıza manuel olarak eklemek yerine, listeden bir niteleyici seçip Ekle'yi
tıklayarak ekleyebilirsiniz.
- Dosya adı: XML dosyasının adını girin (
- İstediğiniz tüm niteleyicileri ekledikten sonra Tamam'ı tıklayın.
Satır içi karmaşık XML kaynakları
Bazı karmaşık kaynaklar için birden fazla XML kaynak dosyası gerekir. Örneğin, Compose'da güçlü animasyon API'leri olsa da vektör çizilebilir nesnesi ve animasyon nesnesi olan ve en az üç XML dosyası gerektiren animasyonlu bir vektör çizilebilir nesnesi kullanmanız gerekebilir.
Bu örnekte, üç ayrı XML dosyasını oluşturup saklayabilirsiniz. Bu sayede, bir veya daha fazlasını yeniden kullanmanız gerektiğinde dosyaları kolayca bulabilirsiniz. Ancak XML dosyaları yalnızca bu animasyonlu drawable vektör öğesi için kullanılıyorsa bunun yerine Android Öğe Paketleme Aracı (AAPT) tarafından sağlanan satır içi kaynak biçimini kullanabilirsiniz. AAPT ile üç kaynağın tamamını tek bir XML dosyasında tanımlayabilirsiniz. Daha fazla bilgi için Satır içi karmaşık XML kaynakları başlıklı makaleyi inceleyin.
Kaynak dizini ekleme
Yeni bir kaynak dizini eklemek için aşağıdaki adımları uygulayın:
- Project (Proje) penceresinde hedef uygulama modülünü tıklayın.
- Dosya > Yeni > Android kaynak dizini'ni seçin.
Şekil 2. Yeni Kaynak Dizini iletişim kutusu.
- İletişim kutusunda ayrıntıları girin:
- Dizin adı: Dizin, kaynak türüne ve yapılandırma niteleyicilerinin kombinasyonuna özgü olacak şekilde adlandırılmalıdır. Dizine manuel olarak yapılandırma niteleyicileri eklemek istemiyorsanız bu alanı düzenlemeyin (bunun yerine Kullanılabilir niteleyiciler'i kullanın).
- Kaynak türü: Dizinin içermesini istediğiniz kaynak türünü seçin.
- Kaynak grubu: Dizinin olmasını istediğiniz kaynak grubunu seçin.
- Kullanılabilir niteleyiciler: Yapılandırma niteleyicilerini dizin adınıza manuel olarak eklemek yerine, listeden bir niteleyici seçip Ekle'yi
tıklayarak ekleyebilirsiniz.
- İstediğiniz tüm niteleyicileri ekledikten sonra Tamam'ı tıklayın.
Kaynak dizininizi değiştirme
Kaynaklarınız varsayılan olarak module-name/src/source-set-name/res/ konumunda bulunur.
Örneğin, modülünüzün ana kaynak grubuna ait kaynaklar src/main/res/ içinde, hata ayıklama kaynak grubuna ait kaynaklar ise src/debug/res/ içinde yer alır.
Ancak bu yolları, sourceSets bloğundaki res.srcDirs özelliğiyle başka bir konumla (build.gradle dosyasına göre) değiştirebilirsiniz. Örneğin:
Modern
android { sourceSets { main { res.srcDirs = ['resources/main'] } debug { res.srcDirs = ['resources/debug'] } } }
Kotlin
android { sourceSets { getByName("main") { res.srcDirs("resources/main") } getByName("debug") { res.srcDirs("resources/debug") } } }
Ayrıca, bir kaynak grubu için birden fazla kaynak dizini belirtebilirsiniz. Ardından, derleme araçları bunları birleştirir. Örneğin:
Modern
android { sourceSets { main { res.srcDirs = ['res1', 'res2'] } } }
Kotlin
android { sourceSets { main { res.srcDirs("res1", "res2") } } }
Daha fazla bilgi için kaynak kümeleri hakkında bilgi edinin.
Kaynak birleştirme
Son uygulama dosyanızdaki kaynaklar üç kaynaktan gelebilir:
- Ana kaynak grubu (genellikle
src/main/res/konumunda bulunur) - Derleme değişkeni kaynak grupları
- Android kitaplıkları (AAR'ler)
Her kaynak grubu veya kitaplığındaki tüm kaynaklar benzersiz olduğunda, bu kaynakların tamamı nihai uygulamaya eklenir. Bir kaynağın dosya adı hem kaynak türü dizininde hem de kaynak niteleyicisinde (tanımlanmışsa) benzersizse bu kaynak benzersiz kabul edilir.
Aynı kaynağın iki veya daha fazla eşleşen sürümü varsa son uygulamaya yalnızca bir sürüm dahil edilir. Derleme araçları, aşağıdaki öncelik sırasına göre (en yüksek öncelik solda) hangi sürümün tutulacağını seçer:
build variant > build type > product flavor > main source set > library dependencies
Örneğin, ana kaynak grubu şunları içeriyorsa:
res/values/strings.xmlres/values-es/strings.xml
Hata ayıklama derleme türü ise şunları içerir:
res/values/strings.xml
Son uygulamada, hata ayıklama derleme türünden res/values/strings.xml ve ana kaynak grubundan res/values-es/strings.xml yer alır.
Ancak derleme yapılandırmanız belirli bir kaynak grubu için birden fazla kaynak klasörü belirtiyorsa ve bu kaynaklar arasında çakışmalar varsa her kaynak dizini aynı önceliğe sahip olduğundan bir hata oluşur ve birleştirme işlemi başarısız olur.