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
etkinlik * | Etkinliği temel alan composable API'lere erişin. |
uygulama * | Platformun eski API sürümlerinde (çoğu Material Design'ı kullanır) yeni API'lere erişime olanak tanır. |
uygulama araması * | 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. |
veri bağlama * | Bildirim temelli bir biçim kullanarak düzenlerinizdeki kullanıcı arayüzü bileşenlerini uygulamanızdaki veri kaynaklarına bağlayın. |
parça * | 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ıflara bağımlılık yerleştirmeyi etkinleştirmek üzere Dagger Hilt'in işlevlerini genişletin. |
yaşam döngüsü * | 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. |
navigasyon * | 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. |
sayfalama * | Verileri sayfalara yükleyip RecyclerView'da sunun. |
oda * | SQLite veritabanı tarafından desteklenen kalıcı veriler oluşturun, depolayın ve yönetin. |
test * | Android'de test ediliyor. |
iş * | Ertelenebilen, kısıtlamaya dayalı arka plan görevlerini planlayın ve yürütün. |
ads | Play Hizmetleri olsun veya olmasın bir reklam kimliği alın. |
not | Araçların ve diğer geliştiricilerin, uygulamanızın kodunu anlamaları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. |
eş zamansız reklam öğesi | Kullanıcı arayüzünde takılma olmaması için düzenleri eşzamansız olarak şişirin. |
otomatik doldur | İpuçlarını genişleterek otomatik doldurma doğruluğunu artırın. |
karşılaştırma | Android Studio'da kodunuzun performansını doğru şekilde ölçün. |
biyometrik | Biyometri veya cihaz kimlik bilgileriyle kimlik doğrulayın ve şifreleme işlemleri gerçekleştirin. |
bluetooth | Android platformunun Bluetooth özelliklerini geriye dönük uyumlu API'lerle kullanma. |
tarayıcı | Web sayfalarını kullanıcının varsayılan tarayıcısında gösterin. |
kamera.vizör | Kamera için Bağımsız Oluşturulabilir ve Vizör Tabanlı 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. |
koleksiyon | Küçük olan mevcut ve yeni koleksiyonların bellek üzerindeki etkisini azaltın. |
compose.animation | Jetpack Compose uygulamalarında animasyonlar oluşturarak kullanıcı deneyimini zenginleştirin. |
compose.compiler | @Composable işlevlerini dönüştürün ve Kotlin derleyici eklentisiyle 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, Compose'un www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak üzere tasarlanmış üst düzey giriş noktasıdır. |
compose.material3 | Materyal Tasarım'ın yeni evrimi olan Materyal Tasarım 3 Bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Güncellenmiş tema ve bileşenler ile dinamik renk gibi Material You kişiselleştirme özellikleri içeren Material 3, yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak. |
compose.material3.uyarlanabilir | Uyarlanabilir kullanıcı arayüzleri oluşturmak için Material 3 uyarlanabilir kitaplığını kullanma mevcut pencereye göre kendiliğinden ayarlanır. veya cihaz duruşu gibi yapılandırmalar içerir. Kitaplıkta sunulanlar hem varsayılan yapı taşları uygulamaları hem de gerekli yapı taşı composable'ları kendi özel deneyimlerinizi oluşturun. |
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ı | Eş yordamlarla görevleri ana iş parçacığının dışına taşıyın ve ListenableFuture avantajından yararlanın. |
constraintlayout | Göreli konumlandırma ile 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. |
koordinatör düzeni | AppBarLayout ve floatingActionButton gibi üst düzey uygulama widget'larını konumlandırın. |
core | Eski cihazları da desteklerken en yeni platform özelliklerini ve API'leri hedefleyin. |
core.uwb | Desteklenen cihazlarda ultra geniş bantı (UWB) uygulayın. |
credentials | Bu kitaplık, kullanıcıların kimlik bilgilerine birleştirilmiş erişim sağlar. Bu veriler arasında şifreler, geçiş anahtarları ve birleşik kimlik bilgileri yer alabilir. Bu kitaplık, sorunsuz ve güvenli oturum açma deneyimleri sunmak için kullanılmalıdır. |
imleç | İmleç verilerini bir ListView widget'ına sunun. |
customview | Özel görünümler uygulayın. |
datastore | Verileri eşzamansız, tutarlı ve işlemsel olarak depolayarak SharedPreferences'ın bazı dezavantajlarını ortadan kaldırın |
doküman dosyası | Dosya dokümanını görüntüleyin. |
sürükleyerek bırakma | 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 | Emojileri mevcut ve eski cihazlarda gösterin. |
emoji2 | Mevcut ve eski cihazlarda emoji gösterme |
enterprise | Kurumsal ölçeğe hazır uygulamalar oluşturun. |
exifarayüz | Resim dosyası EXIF etiketlerini okuma ve yazma. |
oyunlar | Kare hızı planlama gibi karmaşık oyun görevlerini gerçekleştirmek için Android Game SDK'sını uygulamanızda yerel olarak kullanın. |
bir bakış | Jetpack Compose tarzı API kullanarak uzak yüzeyler için düzenler oluşturun. |
graphics | Çeşitli Android platform sürümlerinde grafik özelliklerinden yararlanın |
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ıları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. |
mürekkep | Sınıfının en iyisi kalem uygulamalarına ilham verin. Yüksek performans, güzel mürekkep deneyimleri için geliştirici engelini azaltın. |
giriş | Gelecekteki MotionEvents'i tahmin ederek giriş etkileşimlerinin gecikmesini azaltma |
interpolatör | Eski platformlarda animasyon arapolatörleri kullanın. |
javascriptengine | JavaScript'i değerlendirmek için Android uygulamanızı etkinleştirin. |
jetatör | Bir kitaplığın desteği sonlandırılmış destek kitaplığına olan bağımlılıkları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ı kullanımdan kaldırıldı. Android 8'den itibaren geçmiş kontrolü kısıtlamaları bu sınıfın artık yararlı olmasını engellemektedir. |
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 kontrolleri diğer uygulamalarla paylaşın. Bu sürümün yerini media2 aldı. |
media2 | Medya içeriklerini ve kontrolleri diğer uygulamalarla paylaşın. |
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 oynatmayı etkinleştirin. |
multidex | Birden fazla dex dosyasına sahip uygulamaları Android 5 öncesi sürümlere sahip cihazlara dağıtın. |
metrikler | Uygulamanızın çeşitli çalışma zamanı metriklerini takip edin ve bildirin |
palette | Resimlerden temsili renk paletlerini çıkarın. |
Uygulamalara PDF görüntüleme özellikleri eklemek için kullanılan bir kitaplık. | |
percentlayout | Bu yapı ve sınıfları kullanımdan kaldırıldı. Bunun yerine ConstraintLayout'ı ve ilişkili düzenleri kullanın. |
tercih | Cihaz depolama alanıyla etkileşimde bulunmak veya kullanıcı arayüzünü yönetmek zorunda kalmadan etkileşimli ayar ekranları oluşturun. |
yazdırma | 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'a duyarlı tüketiciler için bileşenler sunar |
privacysandbox.tools | Android'de Özel Korumalı Alan işlevini kullanacak bir kitaplık |
privacysandbox.ui | YAPILACAKLAR |
profileinstaller | Kitaplıkların, ART tarafından okunacak derleme izlerini önceden doldurmasını sağlar. |
öneri | İçeriği, Android TV Launcher ana ekranına tanıtın. |
recyclerview | Bellek kullanımını en aza indirirken kullanıcı arayüzünüzde büyük veri kümeleri görüntüleyin. |
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 öldüğünde kullanıcı arayüzü durumunu kaydeden takılabilir bileşenleri yazın ve işlem yeniden başladığında bunu geri yükleyin. |
security | Anahtarları güvenli bir şekilde yönetin, dosyaları ve paylaşılan tercihleri şifreleyin. |
paylaşım hedefi | Kısayolları doğrudan paylaşım hedefleri olarak kullanmak için geriye dönük uyumluluk sağlayın. |
dilim | Ş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ışın. Mümkünse bunun yerine Oda seçeneğini 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 görüşmeleri, bağlantıları, seçimleri ve diğer benzer yapıları tanımlar. |
izleme | Sistem izleme arabelleğine izleme etkinlikleri yazın. |
transition | Başlangıç ve bitiş düzenleriyle kullanıcı arayüzündeki hareketi canlandırın. |
tv | Geliştiricilerin TV uygulamaları yazabilmeleri için Oluşturma ve Materyal tasarım işlevleri 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ülemeleri veya parçaları kaydırılabilir bir biçimde görüntüleyin. Mümkünse bunun yerine viewpager2'yi kullanın. |
sayfaleyici2 | Görüntülemeleri veya parçaları kaydırılabilir bir biçimde görüntüleyin. |
wear | Wear OS by Google akıllı saatler için uygulama oluşturabilirsiniz. |
wear.compose | Giyilebilir cihazlara özgü 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 uygulamalar oluşturun. |
webkit | Android 5 ve sonraki sürümlerde modern WebView API'leriyle çalışın. |
pencere | Katlanabilir cihazlar gibi farklı cihaz form faktörlerini desteklemeye yardımcı olur. |
window.extensions.core | Window Manager kitaplık 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. Ağustos 2023'te Compose, bellek ayırmada (özellikle grafik yığınında) %70'e varan artış sağlayarak cihazlarda oluşturma işleminin bellek ayak izini azaltacak.
- 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 stabilize ederek WhatsApp, eBay ve Temu gibi uygulamaların büyük ekran düzenlerini yayınlaması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 bir kalıcı pencere başlatmasına olanak sağladığı için pek çok özellikle zenginleştirilmiştir.
- Sürüm notları
- Daha fazla bilgi için sürüm notlarımızı inceleyin.
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