Now in Android #31
Dokumentasi
Izin
Ada beberapa perubahan izin dalam beberapa rilis terakhir, seiring dengan fokus kami pada kontrol pengguna dan transparansi data pengguna. Terkadang, developer harus bekerja ekstra untuk mengikuti update dan perubahan perilaku terkini, jadi kami mengerjakan dokumentasi untuk membantu proses tersebut.
Sebagai bagian dari upaya ini, baru-baru ini kami melakukan beberapa peningkatan besar untuk panduan Izin di Android. Situs ini sekarang memberikan panduan yang lebih efisien tentang cara kerja izin, bersama dengan praktik terbaik penggunaan izin di aplikasi Anda. Secara khusus, Anda harus mengevaluasi apakah Anda benar-benar perlu mendeklarasikan izin, yang tidak diperlukan untuk banyak kasus penggunaan umum.
DAO Room
Beberapa panduan library Room dirombak untuk menjelaskan cara menggunakan beberapa aspek API:
Penggunaan Data Access Objects (DAO) dengan Room memberikan ringkasan tentang penggunaan antarmuka DAO, termasuk menggunakan metode kueri bawaan serta metode khusus yang menggunakan anotasi @Query
.
Menulis kueri DAO asinkron membahas banyak detail tentang cara menulis kueri yang terjadi di luar thread UI, yang sangat diperlukan untuk interaksi database. Panduan ini menjelaskan beberapa alternatif yang bisa Anda gunakan, tergantung bahasa dan preferensi API asinkron Anda.
AndroidX
Di antara banyak rilis versi alfa, beta, dan RC terbaru dari berbagai library AndroidX, berikut ini adalah rilis yang stabil:
- Browser 1.3.0: Rilis terbaru ini memperkenalkan kemampuan meneruskan perintah bentuk bebas dengan Trusted Web Activity API, bersama fitur lain seperti peningkatan pengaturan warna pada tab khusus.
- Media2 1.1.0: Rilis ini memiliki banyak perbaikan bug, bersama API tambahan untuk menangani track media dan interop dengan library Media AndroidX.
- WearInput 1.0.0: Versi pertama WearInput ini menghadirkan dukungan untuk WearableButtons ke library AndroidX.
Ada juga beberapa rilis perbaikan bug stabil, termasuk Exifinterface 1.3.2, Media 1.2.1, dan Navigation 2.3.2.
Android Studio
Jamal Eason memposting artikel yang mengumumkan rilis Android Studio berikutnya: Arctic Fox sekarang ada di saluran canary dan siap dicoba. Hal pertama yang perlu Anda perhatikan tentang rilis ini adalah skema penamaan dan pembuatan versi baru, yang dibahas artikel ini secara detail. Selain itu, beberapa hal yang perlu diperiksa dalam rilis ini meliputi UI untuk memasangkan dengan perangkat untuk proses debug wifi (saat ini hanya tersedia untuk MacOS), alat validasi layout, dan dukungan berkelanjutan untuk development Jetpack Compose. (Perhatikan, bahwa harus selalu menggunakan Studio versi canary untuk bekerja dengan Compose dalam kondisnya yang masih sangat-dini ini.)
Murat Yener juga memposting tentang hal-hal baru di Android Studio, dalam artikelnya tentang rilis alfa baru dari plugin Android Gradle, versi 7.0.0-alpha01. Perhatikan, AGP juga mengalami perubahan penamaan versi. AGP sekarang akan melacak versi rilis Gradle alih-alih dihubungkan dengan versi Android Studio. Yang menjelaskan mengapa sepertinya versi ini melewatkan atau melupakan beberapa versi sejak rilis 4.2. Artikel ini juga membahas tentang beberapa perubahan API terbaru di AGP 4.2.
Artikel & Video
ListAdapter
Meghan Mehta memposting artikel lain dalam serialnya tentang RecyclerView. Meskipun RecyclerView bukanlah hal baru (dan sebagian besar developer Android mungkin sudah menggunakannya di aplikasi mereka), kami menemukan bahwa dokumentasi dan contoh untuk beberapa hal fundamental cukup sulit ditemukan (setidaknya di dokumen dan artikel kami), jadi ia mencoba menjelaskan cara menggunakan beberapa hal fundamental ini, bersama kode contoh untuk menunjukkan cara melakukannya dalam praktik.
Di artikel terbaru ini, Meghan berbicara secara khusus tentang penggunaan ListAdapter, yang menyediakan cara termudah untuk mendapatkan beberapa fungsi luar biasa untuk RecyclerView Anda, termasuk kinerja yang lebih baik dan animasi item otomatis. ListAdapter menggunakan DiffUtil untuk menentukan perubahan khusus yang terjadi, yang dibutuhkan RecyclerView untuk kinerja dan animasi yang optimal.
Kinerja
Saya melanjutkan penjelajahan ke dalam kinerja startup dengan seri dua bagian di App Startup, library AndroidX yang baru saja mencapai 1.0 . Bagian satu mengamati bagaimana penyedia konten sering digunakan untuk membuat instance library, dan bagaimana hal ini bisa menyebabkan dampak tersembunyi terhadap waktu startup aplikasi.
Bagian 2 menyelidiki bagaimana menggunakan library App Startup untuk menghapus penyedia konten tersembunyi dan sebagai gantinya mengumpulkan permintaan untuk menginisialisasi library dengan mudah.
Lokasi, Lokasi, Lokasi [GPS yang Lebih Baik]
Ada sebuah artikel di Blog Developer Android yang memerinci peningkatan yang telah kami tambahkan ke sistem lokasi dan API sehingga kami bisa mendapatkan informasi lokasi yang lebih akurat di kota-kota. Artikel ini membahas masalah mendapatkan lokasi GPS di kota, ketika asumsi default teknologi GPS saat ini yang menggunakan garis pandang tertipu saat sinyal tersebut dipantulkan oleh gedung-gedung tinggi. (Tor dan saya berbicara dengan Marc Stogaitis dari tim lokasi tentang hal ini dalam podcast ADB pada tahun 2014: fenomena ini disebut “urban canyons”).
Tim mengintegrasikan model bangunan 3D di kota-kota besar untuk mendapatkan hasil lokasi yang jauh lebih akurat. Versi 2 dari teknologi ini tersedia pada beberapa perangkat Pixel saat ini. Versi sebelumnya sudah tersedia untuk ekosistem yang lebih luas, dan versi terbaru ini juga akan tersedia awal tahun depan.
Tentu saja, semua ini adalah fitur pengguna, sedangkan Now in Android adalah untuk developer. Namun saya ingin menyebutnya di sini karena (a) menurut saya artikel dan teknologinya menarik dan (b) ada panggilan developer di sini, yaitu menggunakan Fused Location Provider (FLP) untuk mendapatkan akses data lokasi yang disempurnakan.
Selain itu, terdapat API baru di FLP sehingga Anda bisa mendapatkan informasi lokasi saat ini dengan lebih mudah cukup dengan meminta lokasi saat ini dan mendapatkan hasilnya vs. berlangganan perubahan lokasi terus-menerus dan kemudian berhenti berlangganan setelah Anda mendapatkan hasil pertama. Lihat dokumen FLP getCurrentLocation() API, contoh CurrentLocationKotlin baru, dan artikel untuk informasi selengkapnya.
Migrasi Jetpack Compose
Chris Banes telah memindahkan aplikasinya Tivi dari aplikasi yang menggunakan Toolkit UI ke aplikasi yang menggunakan Jetpack Compose. Ia sudah menyelesaikan sebagian besar migrasi itu, dengan seluruh UI sekarang ditulis dalam Compose, dan melaporkan beberapa hasil menarik mengenai ukuran APK (yang jauh lebih kecil!), jumlah metode (yang lebih kecil!), dan durasi build (yang sedikit lebih kecil!).
CameraController di CameraX
CameraView API di CameraX berbuat terlalu banyak, menangani UI dan logika pengontrol. Sehingga logika tersebut telah direfaktorisasi menjadi PreviewView dan class CameraController
baru. Artikel ini menjelaskan cara menggunakan CameraController
, dan bagaimana fungsionalitas tersebut dibandingkan dengan apa yang mungkin telah Anda gunakan sebelumnya di CameraView
.
Episode Podcast
Ada episode lain dari Android Developers Backstage yang diposting sejak Now in Android terakhir. Lihatlah pada link di bawah ini, atau di klien podcast favorit Anda:
ADB 153: Ok, Ok, Ok
Romain Guy, Tor Norbye dan saya berbicara dengan Jesse Wilson dari Square tentang beberapa library open-source populer yang dia kerjakan, antara lain OkHttp, Okio, dan [Ok]Moshi. Kami berbicara tentang library ini dan hal-hal lainnya, serta tentang Android, library, framework, dan pengembangan Kotlin. Dan tentang kebiasaan buruk beberapa programmer mengubah permintaan fitur atau gangguan kecil menjadi project pembuatan library open-source baru.
Nah sekarang…
Sekian untuk kali ini. Dapatkan MAD scorecard Anda! Jadilah MAD untuk mendapatkan konten MDC dan Kotlin/Jetpack lainnya! Baca dokumentasi Izin dan Ruang terbaru! Download rilis stabil AndroidX terbaru! Baca artikel terbaru mengenai ListAdapter, kinerja startup, lokasi GPS yang ditingkatkan, migrasi Jetpack Compose, dan CameraController! Dengarkan podcast ADB terbaru dan segera kembali ke sini untuk mendapatkan update berikutnya dari dunia developer Android.