Android Jetpack
Jetpack, geliştiricilerin en iyi uygulamaları takip etmesine, ortak metin kodlarını azaltmasına, ayrıca Android sürümleri ve cihazlarında tutarlı bir şekilde çalışan kodlar yazmasına yardımcı olan bir kitaplık paketidir. Böylece geliştiriciler asıl önem verdikleri şey olan koda odaklanabilirler.
Jetpack Compose
Compose ile kullanıcı arayüzü geliştirme
Android'de kullanıcı arayüzü geliştirmesini basitleştirmenizi ve hızlandırmanızı sağlayan, yerel kullanıcı arayüzü oluşturmaya yönelik modern bir araç seti.
Neden Android Jetpack kullanmalıyım?
En iyi uygulamaları izleme
Modern tasarım uygulamaları temel alınarak geliştirilen Android Jetpack Kitaplıkları, geriye dönük uyumlulukla birlikte daha az kilitlenme ve daha az bellek sızıntısı sağlar.
Ortak metin kodunu kaldırın
Android Jetpack, arka plan görevleri, gezinme ve yaşam döngüsü yönetimi gibi sıkıcı etkinlikleri yönettiğinden uygulamanızı en iyi yapan özelliklere odaklanabilirsiniz.
Parçalanmayı azaltma
Android sürümleri ve cihazlarda tutarlı şekilde çalışan kitaplıklarla karmaşıklığı azaltın.
Jetpack kitaplıkları Tüm kitaplıkları keşfedin
* Popüler ve sık kullanılan kitaplıklar önce listelenir
activity * | Etkinlik'in üzerine inşa edilmiş birleştirilebilir API'lere erişin. |
appcompat * | Platformun eski API sürümlerinde (çoğu Material Design'ı kullanır) yeni API'lere erişime olanak tanır. |
appsearch * | Kullanıcılarınız için özel uygulama içi arama özellikleri oluşturun. |
kamera * | Mobil kamera uygulamaları oluşturun. |
compose * | Kullanıcı arayüzünüzü, şeklini ve veri bağımlılığını açıklayan birleştirilebilir işlevlerle programatik olarak tanımlayın. |
databinding * | Bildirim temelli bir biçim kullanarak düzenlerinizdeki kullanıcı arayüzü bileşenlerini uygulamanızdaki veri kaynaklarına bağlayın. |
fragment * | Uygulamanızı bir etkinlik içinde barındırılan birden fazla bağımsız ekrana segmentlere ayırın. |
hilt * | androidx kitaplıklarındaki belirli sınıfların bağımlılık eklemesini etkinleştirmek için Dagger Hilt'in işlevini genişletin. |
lifecycle * | Bir etkinliğin veya parçanın mevcut yaşam döngüsü durumuna göre davranışı ayarlayabilen yaşam döngüsü bilincine sahip bileşenler oluşturun. |
Materyal Tasarım Bileşenleri * | Android için modüler ve özelleştirilebilir Material Design kullanıcı arayüzü bileşenleri. |
navigation * | Uygulama içi kullanıcı arayüzünüzü oluşturup yapılandırın, derin bağlantıları yönetin ve ekranlar arasında gezinin. |
paging * | Verileri sayfalara yükleyin ve bir RecyclerView'de sunun. |
oda * | SQLite veritabanı tarafından desteklenen kalıcı veriler oluşturun, depolayın ve yönetin. |
test * | Android'de test etme. |
work * | Ertelenebilen, kısıtlamaya dayalı arka plan görevlerini planlayın ve yürütün. |
ads | Play Hizmetleri ile veya Play Hizmetleri olmadan reklam kimliği alma. |
not | Araçların ve diğer geliştiricilerin uygulamanızın kodunu anlamasına yardımcı olan meta verileri gösterin. |
arch.core | LiveData ile kullanılabilen JUnit test kuralları da dahil olmak üzere diğer mimari bağımlılıkları için yardımcı program. |
asynclayoutinflater | Kullanıcı arayüzünde takılma olmaması için düzenleri eşzamansız olarak şişirin. |
otomatik doldur | İpuçları uzatarak otomatik doldurma doğruluğunu iyileştirin. |
benchmark | Android Studio'da kodunuzun performansını doğru şekilde ölçün. |
biyometrik | Biyometrik veriler veya cihaz kimlik bilgileriyle kimlik doğrulama yapın ve kriptografik işlemler gerçekleştirin. |
bluetooth | Android platformunun Bluetooth özelliklerini geriye dönük uyumlu API'lerle kullanın. |
browser | Web sayfalarını kullanıcının varsayılan tarayıcısında gösterin. |
camera.viewfinder | Kamera için Bağımsız Oluşturmaya ve Görüntüye Dayalı Vizör" |
araba-uygulaması | Android Auto ve Android Automotive OS için şablonlu uygulamalar oluşturun. |
cardview | Yuvarlatılmış köşeler ve gölgelerle Materyal Tasarım kart desenini uygulayın. |
collection | Küçük olan mevcut ve yeni koleksiyonların bellek üzerindeki etkisini azaltın. |
compose.animation | Kullanıcı deneyimini zenginleştirmek için Jetpack Compose uygulamalarında animasyon oluşturabilirler. |
compose.compiler | @Composable işlevlerini dönüştürün ve Kotlin derleyici eklentisi ile optimizasyonları etkinleştirin. |
compose.foundation | Kullanıma hazır yapı taşlarıyla Jetpack Compose uygulamaları yazın ve kendi tasarım sistemi parçalarınızı oluşturmak için temeli genişletin. |
compose.material | Kullanıma hazır Materyal Tasarım bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io'da açıklananlarla eşleşen bileşenler sağlamak için tasarlanmış Compose'un üst düzey giriş noktasıdır. |
compose.material3 | Materyal Tasarım'ın bir sonraki aşaması olan Materyal Tasarım 3 bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Material 3, güncellenmiş temalar ve bileşenler ile dinamik renk gibi Material You kişiselleştirme özelliklerini içerir ve yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak şekilde tasarlanmıştır. |
compose.material3.adaptive | Pencere boyutu sınıfları veya cihaz duruşları gibi mevcut pencere yapılandırmalarına göre otomatik olarak uyum sağlayacak uyarlanabilir kullanıcı arayüzleri oluşturmak için Material 3 uyarlanabilir kitaplığını kullanın. Kitaplık, kendi özel deneyimlerinizi oluşturmak için hem varsayılan iskelet uygulamalarını hem de gerekli yapı taşı bileşenlerini sağlar. |
compose.runtime | Compose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Derleyici Eklentisi'nin hedeflemesi gereken temel çalışma zamanı. |
compose.ui | Düzen, çizim ve giriş dahil olmak üzere cihazla etkileşimde bulunmak için gereken oluşturma kullanıcı arayüzünün temel bileşenleri. |
eşzamanlı | Görevleri ana iş parçacığının dışına taşımak için coroutine'leri kullanın ve ListenableFuture'dan yararlanın. |
constraintlayout | Göreli konumlandırmayla widget'ları esnek bir şekilde konumlandırın ve boyutlandırın. |
contentpager | Arka plan iş parçacığında ContentProvider verilerini yükleyin ve sayfalandırın. |
coordinatorlayout | AppBarLayout ve FloatingActionButton gibi üst düzey uygulama widget'larını konumlandırın. |
core | Eski cihazları desteklerken en yeni platform özelliklerini ve API'lerini hedefleyin. |
core.uwb | Desteklenen cihazlarda ultra geniş bantı (UWB) uygulayın. |
credentials | Bu kitaplık, kullanıcının kimlik bilgilerine birleşik erişim sağlar. Şifreler, geçiş anahtarları ve birleşik kimlik bilgileri bu kapsamda yer alabilir. Bu kitaplık, sorunsuz ve güvenli oturum açma deneyimleri sunmak için kullanılmalıdır. |
credentials.registry | Bu sorunları çözmek için, bir uygulamanın dijital kimlik bilgilerini gizliliği koruyacak şekilde sağlamasına olanak tanıyan yeni bir kayıt defteri mekanizması ekliyoruz. Genel olarak sağlayıcı uygulaması, tüm potansiyel dijital kimlik bilgilerini Kimlik Bilgisi Yöneticisi'ne önceden kaydeder. Kimlik Bilgisi Yöneticisi, belirli bir dijital kimlik bilgisi için uygulama isteği aldığında kimlik bilgisi eşleştirme ve kullanıcı seçici kullanıcı arayüzünü korumalı alanda çalıştırır. |
cursoradapter | Cursor verilerini bir ListView widget'ına gösterme. |
customview | Özel görünümler uygulayın. |
datastore | SharedPreferences'in bazı dezavantajlarını ortadan kaldırarak verileri eşzamansız, tutarlı ve işlemsel olarak depolama |
documentfile | Dosya dokümanı görüntüleme. |
draganddrop | Başka bir uygulamadan veya uygulama içinden sürükleyip bırakma verilerini kabul edin ve tutarlı bir bırakma hedefi sunumu gösterin. |
drawerlayout | Materyal Tasarım çekmece widget'ı uygulama |
dynamicanimation | Fizik tabanlı bir animasyon API'si ile akıcı animasyonlar oluşturun. |
emoji | Mevcut ve eski cihazlarda emoji gösterme. |
emoji2 | Mevcut ve eski cihazlarda emoji gösterme. |
enterprise | Kurumsal kullanıma hazır uygulamalar oluşturun. |
exifinterface | Resim dosyası EXIF etiketlerini okuma ve yazma. |
oyunlar | Kare hızlandırma gibi karmaşık oyun görevlerini gerçekleştirmek için Android Game SDK'sını uygulamanızda yerel olarak kullanın. |
glance | Jetpack Compose tarzı bir API kullanarak uzak yüzeyler için düzenler oluşturun. |
graphics | Birden fazla Android platform sürümünde grafik özelliklerinden yararlanma |
gridlayout | Izgara düzeni uygulayın. |
sağlık | Platformdan bağımsız bir şekilde yüksek performanslı sağlık uygulamaları oluşturun. |
health.connect | Geliştiricilerin kullanıcının sağlık ve fitness kayıtlarını okumasına veya yazmasına olanak tanır. |
heifwriter | Android cihazdaki mevcut codec'leri kullanarak bir resmi veya resim koleksiyonunu HEIF biçiminde kodlayın. |
ink | Sınıfının en iyisi kalem uygulamalarını geliştirmeye ilham verin. Yüksek performanslı ve güzel mürekkep deneyimleri için geliştiricilerin giriş engelini azaltın. |
input | Gelecekteki MotionEvents'i tahmin ederek giriş etkileşimlerinin gecikmesini azaltma |
interpolator | Eski platformlarda animasyon interpolatörleri kullanın. |
javascriptengine | Android uygulamanızı JavaScript'i değerlendirecek şekilde etkinleştirin. |
jetifier | Bir kitaplığın desteği sonlandırılan destek kitaplığına olan bağımlılığını eşdeğer AndroidX bağımlılıklarına taşıyan bağımsız bir araç. |
leanback | Bu yapı yerine TV için Oluştur'u kullanın. |
eski | Bu yapı ve sınıflarının desteği sonlandırılmıştır. Android 8'den itibaren geçmiş kontrolü kısıtlamaları nedeniyle bu sınıf artık kullanışlı değildir. |
lint | Gradle API'lerinin kullanımını doğrulamak için lint kontrolleri |
loader | Kullanıcı arayüzünüz için yapılandırma değişikliklerinden etkilenmeyen verileri yükleyin. |
localbroadcastmanager | Bu yapı ve sınıflarının desteği sonlandırılmıştır. Bunun yerine LiveData veya reaktif akışları kullanın. |
media | Medya içeriklerini ve kontrollerini diğer uygulamalarla paylaşabilirsiniz. Bu sürümün yerini media2 aldı. |
media2 | Medya içeriklerini ve kontrollerini diğer uygulamalarla paylaşabilirsiniz. |
media3 * | Medya kullanım alanları için kitaplıkları destekleyin. |
mediarouter | Ortak bir kullanıcı arayüzü kullanarak uzak alıcı cihazlarda medya görüntüleme ve oynatma özelliğini etkinleştirin. |
multidex | Android 5 öncesi cihazlarda birden fazla dex dosyası içeren uygulamaları dağıtma |
metrikler | Uygulamanız için çeşitli çalışma zamanı metriklerini takip etme ve raporlama |
palette | Resimlerden temsili renk paletleri ayıklayın. |
Uygulamalara PDF görüntüleme özellikleri eklemek için kullanılan bir kitaplık. | |
percentlayout | Bu yapı ve sınıflarının desteği sonlandırılmıştır. Bunun yerine ConstraintLayout'ı ve ilişkili düzenleri kullanın. |
preference | Cihaz depolama alanıyla etkileşime geçmeniz veya kullanıcı arayüzünü yönetmeniz gerekmeden etkileşimli ayar ekranları oluşturun. |
Uygulamanızdaki fotoğrafları, dokümanları ve diğer grafikleri ve resimleri yazdırın. | |
privacysandbox.activity | TODO |
privacysandbox.ads | Bu kitaplık, Android'deki Özel Korumalı Alan'ın bir parçası olan Gizliliği Koruma API'leriyle entegrasyonu sağlar. |
privacysandbox.plugins | Android Privacy Sandbox Sdk Library Gradle Plugin |
privacysandbox.sdkruntime | Bu kitaplık, SdkRuntime farkında tüketiciler için bileşenler sağlar |
privacysandbox.tools | Android'de Özel Korumalı Alan işlevini kullanacak bir kitaplık |
privacysandbox.ui | TODO |
profileinstaller | Kitaplıkların, ART tarafından okunacak derleme izlerini önceden doldurmasını sağlar. |
öneri | Android TV Launcher ana ekranında içerik tanıtma |
recyclerview | Bellek kullanımını en aza indirirken kullanıcı arayüzünüzde büyük veri kümeleri gösterin. |
remotecallback | Geliştiricilerin PendingIntent sağlamasını kolaylaştıran bir sarmalayıcı oluşturun. |
resourceinspection | Android Studio'nun Canlı Düzen Denetleyicisi'nde özel görünümlerin özelliklerini gösterin. |
savedstate | Bir işlem sona erdiğinde kullanıcı arayüzü durumunu kaydeden ve işlem yeniden başlatıldığında durumu geri yükleyen takılabilir bileşenler yazın. |
security | Anahtarları güvenli bir şekilde yönetme, dosyaları ve paylaşılan tercihleri şifreleme |
sharetarget | Doğrudan paylaşım hedefleri olarak kısayolların kullanılması için geriye dönük uyumluluk sağlayın. |
slice | Şablonlu kullanıcı arayüzü öğelerini uygulamanızın dışında gösterme |
slidingpanelayout | Kayan bölme kullanıcı arayüzü kalıbı uygulayın. |
startup | Bileşenleri uygulama başlatılırken başlatmak için basit ve performanslı bir yöntem uygulayın. |
sqlite | Yerel SQLite veritabanlarıyla çalışma. Mümkünse bunun yerine Room'u kullanın. |
swiperefreshlayout | Yenilemek için kaydırma kullanıcı arayüzü desenini uygulayın. |
test.uiautomator | Uygulamalar arası işlevsel kullanıcı arayüzü testi için çerçeve |
textclassifier | Metindeki ileti dizilerini, bağlantıları, seçimleri ve diğer benzer yapıları tanımlar. |
İzleme | İzleme etkinliklerini sistem izleme arabelleğine yazma. |
transition | Başlangıç ve bitiş düzenleri ile kullanıcı arayüzündeki hareketi canlandırın. |
tv | Geliştiricilerin TV uygulamaları yazmaları için Compose ve Materyal Tasarım işlevlerini sağlar. |
tvprovider | Android TV kanalları sağlayın. |
vectordrawable | Vektör grafikleri oluşturma |
versionedparcelable | İşlemler arasında aktarılabilen veya güvenli bir şekilde kalıcı olarak depolanabilen kararlı ve kompakt bir ikili serileştirme biçimi sağlar. |
viewpager | Görüntüleme sayısını veya parçaları kaydırılabilir bir biçimde gösterin. Mümkünse bunun yerine viewpager2'yi kullanın. |
viewpager2 | Görüntüleme sayısını veya parçaları kaydırılabilir bir biçimde gösterin. |
wear | Wear OS by Google akıllı saatler için uygulama oluşturabilirsiniz. |
wear.compose | Giyilebilir cihazlara özel cihazları, boyutları, şekilleri ve gezinme hareketlerini destekleyen işlevler sağlayarak Giyilebilir cihazlar için Jetpack Compose uygulamaları yazın. |
wear.protolayout | Bu kitaplık, uzak yüzeylerde oluşturulacak/değerlendirilecek bir dizi kullanıcı arayüzü düzeni ve kullanıcı arayüzü olmayan ifade tanımlamanıza olanak tanır. |
wear.tiles | Wear OS by Google akıllı saatler için uygulama oluşturabilirsiniz. |
wear.watchface | Wear OS by Google akıllı saatler için uygulama oluşturabilirsiniz. |
webkit | Android 5 ve sonraki sürümlerde modern WebView API'leriyle çalışın. |
window | Katlanabilir cihazlar gibi farklı cihaz form faktörlerini desteklemeye yardımcı olur. |
window.extensions.core | Pencere Yöneticisi Kitaplığı Uzantıları için Temel API'ler |
Yenilikler
- Oluşturma tarihi: Ağustos 2023
- Jetpack Compose 1.5.0 kararlı sürüme taşınıyor ve "Clickable" gibi üst düzey değiştiricilerin yeniden düzenlenmesi de dahil olmak üzere beste süresini %80 iyileştirebilen önemli performans iyileştirmeleri sunuyor. 23 Ağustos'taki Oluştur özelliği, bellek ayırma konusunda da (özellikle grafik yığında) %70'e varan bir iyileştirme sağlıyor. Bu sayede cihazlarda Oluştur özelliğinin bellek kullanımı azalacak.
- Wear Compose ve Kartlar 1.2
- Wear Compose ve Wear kartları, wearOS geliştiricilerinin deneyimini daha da iyileştirmek için kararlı sürüme geçti. Her ikisi de birbirini tamamlar. Wear Compose, Wear cihazlarda karmaşık uygulama ekranları oluşturmak için kullanılabilir ve Wear karoları, uygulama karoları oluşturmak için kullanılabilir. Yeni Wear Compose sürümü, Genişletilebilir Öğeler ve görüntülemek için Kaydırma gibi yeni işlevler içeriyor. Wear Kartlar sürümü, artık widget animasyonunu ve platform veri bağlamayı (ör. sağlık veri kaynağı) destekliyor.
- Pencere 1.1
- 1.1; etkinlik yerleştirme API'lerini sabitleyerek WhatsApp, eBay ve Temu gibi uygulamaların büyük ekran düzenleri sunmasına olanak tanır. API, geliştiricilerin bölünmüş ekran davranışını değiştirmesine, çalışma zamanında bölünmüş durumu kontrol etmesine (ve değiştirmesine), yatay bölmeler uygulamasına ve tam pencerede modal başlatmasına olanak tanıdığı için özelliklerle zenginleştirilmiştir.
- Sürüm notları
- Daha fazla bilgi için sürüm notlarımızı ziyaret edin.
Jetpack'i kullanmayı öğrenin
Temel bilgiler eğitimi
Compose ile Android hakkında temel bilgiler kursunda temel Jetpack kitaplıklarını öğrenin ve uygulamanızda ortak metin kullanımını azaltın
Uygulamalı eğitim
Veri katmanınızı basitleştiren üç Jetpack kitaplığını uygulamalı olarak kullanın: LiveData, ViewModel ve Room
Sunflower örnek uygulaması
En popüler Jetpack kitaplıklarının üretim düzeyindeki bir uygulamada nasıl birlikte kullanıldığını keşfedin