Diposting oleh Dave Burke, VP of Engineering

Ilustrasi logo badge Android 14

Hari ini kami merilis versi Beta pertama Android 14, yang dibangun dengan tema utama privasi, keamanan, performa, produktivitas developer, dan penyesuaian pengguna, sembari terus menyempurnakan pengalaman perangkat layar besar di tablet, perangkat foldable, dan lainnya. Kami terus membuat kemajuan dalam menyempurnakan fitur dan stabilitas Android 14, dan sekaranglah saatnya menghadirkan pengalaman ini bagi developer dan pengguna awal.

Android terus memberikan penyempurnaan dan fitur baru sepanjang tahun, dan masukan Anda pada program Android beta memainkan peranan penting dalam membantu Android semakin baik. Situs developer Android 14 punya banyak informasi tentang beta, termasuk download untuk Pixel dan jadwal rilis. Kami menantikan pendapat Anda, dan terima kasih sebelumnya atas bantuan yang tanpa henti dalam menjadikan Android sebagai platform yang dapat digunakan semua orang.


Dapat digunakan di semua faktor bentuk

Android 14 dikembangkan berdasarkan pekerjaan yang telah dilakukan pada rilis sebelumnya untuk mendukung faktor bentuk tablet dan perangkat foldable. Kami juga mengembangkan alat dan sumber daya untuk membantu menyempurnakan pengalaman aplikasi Anda, termasuk inspirasi desain dan panduan pengembangan.


UI Sistem yang Lebih Cerdas

Dalam sistem operasi Android, fitur-fitur diimplementasikan dengan dua paket yang terpisah tetapi sama pentingnya: framework, yang menyediakan layanan, dan UI Sistem, yang memberikan kontrol kepada pengguna untuk layanan-layanan tersebut. Setiap rilis Android menghadirkan penyempurnaan baru pada UI sistem, dan berikut ini adalah beberapa hal yang mungkin Anda perhatikan di versi Beta 1.


Tombol kembali baru

Gambar tombol kembali yang menunjukkan navigasi gestur pada perangkat seluler

Pengalaman navigasi gestur menyertakan tombol kembali yang lebih menonjol ketika berinteraksi dengan aplikasi Anda untuk membantu meningkatkan pemahaman dan penggunaan gestur kembali. Tombol kembali juga melengkapi wallpaper atau tema perangkat pengguna.



Sharesheet sistem yang superior

Gambar layar sharesheet khusus dengan target berbagi langsung


Di Android 14, aplikasi sekarang bisa menambahkan tindakan khusus ke sharesheet sistem yang mereka panggil. Buat ChooserAction khusus menggunakan ChooserAction.Builder dan tentukan daftar ChooserActions Anda sebagai Intent.EXTRA_CHOOSER_CUSTOM_ACTIONS dari Intent yang dibuat dengan Intent.createChooser.

Selain itu, sekarang sistem menggunakan lebih banyak sinyal aplikasi untuk menentukan peringkat target berbagi langsung. Anda memberikan sinyal dengan memanggil pushDynamicShortcut untuk melaporkan penggunaan pintasan dengan binding kemampuan yang sesuai.






Kemampuan grafik yang lebih banyak

Android 14 menambahkan fitur grafik baru yang bisa Anda gunakan untuk membuat aplikasi Anda benar-benar menonjol.


Jalur sekarang dapat dikueri dan diinterpolasi

Path API Android adalah mekanisme yang kuat dan fleksibel untuk membuat dan merender grafik vektor. Mulai Android 14, Anda bisa mengkueri jalur untuk mengetahui informasi yang ada di dalamnya. Update API meliputi fungsionalitas untuk melakukan interpolasi antara jalur yang strukturnya sama persis, mengaktifkan efek morphing, dan library AndroidX menyediakan kompatibilitas mundur hingga API 21. Detail selengkapnya di sini.


PersonalisasiPreferensi bahasa per aplikasi

Android 14 meningkatkan preferensi bahasa per aplikasi, memungkinkan kustomisasi dinamis dari kumpulan bahasa yang ditampilkan dalam daftar bahasa per aplikasi Setelan Android, dan memberikan cara bagi IME untuk mengetahui bahasa UI dari aplikasi tersebut. Mulai Android Studio Giraffe Canary 7 dan AGP 8.1.0-alpha07, Anda bisa mengonfigurasi aplikasi untuk mendukung preferensi bahasa per aplikasi secara otomatis. Berdasarkan sumber daya project Anda, plugin Android Gradle membuat file LocaleConfig dan menambahkan referensi ke file tersebut di file manifes yang dibuat, sehingga Anda tidak perlu lagi membuat atau mengupdate file tersebut secara manual ketika dukungan bahasa Anda berubah. Lihat Dukungan bahasa otomatis per aplikasi untuk informasi selengkapnya dan berikan masukan.


PrivasiMembatasi visibilitas untuk layanan aksesibilitas yang berfokus pada disabilitas

Android 14 memperkenalkan atribut accessibilityDataSensitive agar aplikasi bisa membatasi visibilitas tampilan tertentu hanya untuk layanan aksesibilitas yang diklaim dapat membantu pengguna dengan disabilitas. Play Protect memastikan aplikasi yang didownload dari Play Store benar-benar jujur tentang klaim ini. TalkBack dan layanan lain yang mengeklaim bisa membantu pengguna dengan disabilitas tidak akan terpengaruh oleh atribut ini.

Aplikasi bisa mempertimbangkan penggunaan accessibilityDataSensitive untuk:

  • Melindungi data pengguna (seperti detail pribadi atau sandi teks biasa) 
  • Mencegah tindakan penting agar tidak dilakukan secara tidak sengaja (seperti mentransfer uang atau check out di aplikasi belanja)
  •  
Kompatibilitas aplikasi

Jika Anda belum menguji kompatibilitas aplikasi dengan Android 14, sekaranglah saat yang tepat! Dengan Android 14, yang sekarang dalam versi Beta, kami membuka akses untuk pengguna awal serta developer. Dalam beberapa minggu ke depan, Anda bisa mengharapkan lebih banyak pengguna yang mencoba aplikasi Anda di Android 14 dan melaporkan masalah yang mereka temukan.

Untuk menguji kompatibilitas, instal aplikasi yang Anda publikasikan ke perangkat atau emulator yang menjalankan Android 14 Beta dan kerjakan semua alur aplikasi. Tinjau perubahan perilaku untuk memfokuskan pengujian Anda. Setelah Anda menyelesaikan masalah yang muncul, publikasikan update sesegera mungkin.

Gambar pratinjau Android 14 dan jadwal rilis yang menunjukkan bahwa kami sesuai target dengan rilis Beta pada bulan April

Ini juga merupakan saat yang tepat untuk mulai bersiap-siap agar aplikasi Anda bisa menargetkan Android 14, dengan menguji tombol perubahan kompatibilitas aplikasi di Opsi Developer.

Screenshot sebagian dari Perubahan Kompatibilitas Aplikasi di Opsi Developer
Tombol pengalih kompatibilitas aplikasi di Opsi Developer.

Memulai dengan Android 14

Rilis Beta kali ini memiliki semua yang Anda butuhkan untuk mencoba fitur Android 14, menguji aplikasi Anda, dan memberi kami masukan. Untuk menguji aplikasi Anda dengan tablet dan perangkat foldable, cara termudah untuk memulainya adalah menggunakan Android Emulator di tablet atau konfigurasi perangkat foldable dalam pratinjau terbaru Android Studio SDK Manager. Sekarang kami telah memasuki fase beta, Anda bisa mendaftarkan perangkat Pixel yang didukung di sini untuk mendapatkan Android 14 Beta serta update fitur baru versi Beta mendatang over the air (OTA). Jika tidak memiliki perangkat Pixel, Anda bisa menggunakan image sistem 64-bit dengan Android Emulator di Android Studio.

Untuk pengalaman pengembangan terbaik dengan Android 14, sebaiknya gunakan pratinjau terbaru Android Studio Giraffe (atau versi Giraffe+ yang lebih baru). Setelah siap, berikut adalah beberapa hal yang harus Anda lakukan:

  • Mencoba fitur dan API baru - masukan Anda sangatlah penting saat kami menyelesaikan API. Laporkan masalah dalam tracker kami di halaman masukan
  • Menguji kompatibilitas aplikasi Anda saat ini - pelajari apakah aplikasi Anda terpengaruh oleh perubahan perilaku secara default di Android 14. Instal aplikasi Anda ke perangkat atau emulator yang menjalankan Android 14 dan uji secara ekstensif. 
  • Menguji aplikasi Anda dengan perubahan keikutsertaan - Android 14 memiliki perubahan perilaku keikutsertaan yang hanya memengaruhi aplikasi Anda bila menargetkan platform baru. Sangatlah penting untuk memahami dan menilai perubahan ini sejak dini. Untuk mempermudah pengujian, Anda bisa mengaktifkan dan menonaktifkan perubahan secara individual.

Kami akan mengupdate image sistem beta dan pratinjau serta SDK secara berkala selama siklus rilis Android 14.

Jika Anda sudah terdaftar dalam program Android 13 QPR Beta dan perangkat Anda didukung, Android 14 Beta 1 akan tersedia untuk Anda tanpa perlu melakukan tindakan lainnya.

Untuk informasi selengkapnya tentang cara mendapatkan versi Beta, kunjungi situs developer Android 14.


Diposting oleh Steven Jenkins, Product Manager, Android Studio 

Hari ini, kami sangat antusias bisa mengumumkan rilis stabil Android Studio Flamingo🦩: IDE resmi untuk membangun aplikasi Android!

Rilis ini mencakup sejumlah peningkatan untuk membantu Anda menciptakan UI yang sempurna dengan Edit Live, fitur baru yang membantu memeriksa aplikasi, update IntelliJ, dan masih banyak lagi. Baca terus atau tonton videonya untuk mempelajari lebih lanjut tentang bagaimana Android Studio Flamingo🦩 bisa membantu meningkatkan produktivitas Anda dan download versi stabil terbaru sekarang!

Alat UI

Template Jetpack Compose dan Material 3 - Jetpack Compose sekarang direkomendasikan untuk project baru sehingga template ini secara default menggunakan Jetpack Compose dan Material 3.

Edit Live (Compose) eksperimental - Membangun aplikasi secara iteratif menggunakan Compose dengan mendorong perubahan kode secara langsung ke perangkat atau emulator yang terhubung. Dorong perubahan ketika menyimpan file atau secara otomatis dan lihat UI Anda terupdate secara real time. Edit Live masih eksperimental dan bisa diaktifkan di Setelan Editor. Terdapat beberapa keterbatasan yang diketahui. Silakan kirim masukan Anda agar kami bisa terus memperbaikinya. Pelajari lebih lanjut.

Gambar animasi yang mengilustrasikan edit live
Edit live

Dukungan Pratinjau ikon aplikasi bertema - Sekarang Anda bisa menggunakan pemilih Mode UI Sistem pada toolbar untuk mengganti wallpaper dan melihat bagaimana ikon aplikasi bertema bereaksi terhadap wallpaper yang dipilih. (Catatan: diperlukan dalam aplikasi yang menargetkan API level 33 dan lebih tinggi).

Gambar animasi yang mengilustrasikan pratinjau ikon aplikasi bertema di berbagai wallpaper
Melihat pratinjau ikon aplikasi bertema di berbagai wallpaper
Pratinjau warna dinamis

Aktifkan warna dinamis di aplikasi Anda dan gunakan atribut wallpaper baru di composable @Preview untuk mengganti wallpaper dan lihat bagaimana UI Anda bereaksi terhadap wallpaper yang berbeda. (Catatan: Anda harus menggunakan Compose 1.4.0 atau yang lebih tinggi).

Gambar animasi yang mengilustrasikan wallpaper warna dinamis di Pratinjau Compose
Pratinjau Compose: wallpaper warna dinamis
Build

Kategorisasi tugas Build Analyzer - Build Analyzer sekarang mengelompokkan tugas berdasarkan kategori seperti Manifes, Sumber Daya Android, Kotlin, Dexing, dan lainnya. Kategori diurutkan berdasarkan durasi dan bisa diperluas untuk menampilkan daftar tugas yang sesuai untuk analisis lebih lanjut. Hal ini memudahkan kita untuk mengetahui kategori yang memiliki dampak terbesar pada waktu build.

Gambar Kategorisasi Tugas Build Analyzer
Kategorisasi Tugas Build Analyzer

Pembuatan dan pengoperasian build profilable otomatis sekali klik – Saat Anda membuat profil aplikasi, hindari membuat profil build yang dapat di-debug. Ini sangat bagus sewaktu pengembangan, tetapi hasilnya bisa menyimpang. Sebaliknya, Anda harus membuat profil build yang tidak dapat di-debug karena itulah yang akan dijalankan oleh pengguna. Hal ini sekarang lebih mudah dilakukan dengan pembuatan dan pengoperasian build profilable otomatis sekali klik. Mengonfigurasi aplikasi profilable dengan mudah dan memprofilkannya dengan sekali klik. Anda tetap bisa memilih untuk memprofilkan build yang dapat di-debug dengan memilih aplikasi Profil dengan data yang lengkap. Baca selengkapnya di blog.

Gambar yang mengilustrasikan Pembuatan dan Pengoperasian Build Profileable Otomatis Sekali Klik
Pembuatan dan Pengoperasian Build Profileable Otomatis Sekali Klik

Dukungan Lint untuk ekstensi SDK - Ekstensi SDK memanfaatkan komponen sistem modular untuk menambahkan API ke SDK publik untuk API level yang telah dirilis sebelumnya. Sekarang, Anda bisa memindai dan memperbaiki masalah ekstensi SDK dengan dukungan lint. Android Studio secara otomatis menjalankan pemeriksaan versi yang tepat untuk API yang diluncurkan menggunakan ekstensi SDK.

Gambar yang menunjukkan Dukungan Lint untuk Ekstensi SDK
Dukungan Lint untuk Ekstensi SDK

Plugin Android Gradle 8.0.0 – Android Studio Flamingo hadir dengan plugin Android Gradle versi utama terbaru. Plugin ini memberikan banyak peningkatan, tetapi juga menghadirkan sejumlah perubahan perilaku dan penghapusan Transform API. Pastikan Anda membaca tentang perubahan yang diperlukan sebelum meng-upgrade versi AGP dalam project Anda.

Inspeksi

Update untuk App Quality Insights – Temukan, selidiki, dan reproduksi masalah yang dilaporkan oleh Crashlytics dengan App Quality Insights. Anda bisa memfilter berdasarkan versi aplikasi, sinyal Crashlytics, tipe perangkat, atau versi sistem operasi. Pada update terbaru, Anda bisa menutup masalah atau menambahkan anotasi yang berguna pada panel Notes.

Gambar yang menunjukkan bagaimana Anda bisa membuat anotasi dan menutup masalah di panel Notes
Membuat anotasi dan menutup masalah di panel Notes

Pencegatan traffic Network Inspector - Network Inspector sekarang menampilkan semua data traffic untuk seluruh linimasa secara default. Buat dan kelola aturan untuk membantu menguji perilaku aplikasi Anda saat menghadapi respons yang berbeda, seperti kode status, serta header respons dan isi. Aturan-aturan tersebut menentukan respons apa yang harus dicegat dan bagaimana cara mengubah respons ini sebelum mencapai aplikasi. Anda bisa memilih aturan mana yang akan diaktifkan atau dinonaktifkan dengan mencentang kotak Active di samping setiap aturan. Aturan disimpan secara otomatis setiap kali Anda mengubahnya.

Gambar yang menunjukkan Pencegatan Traffic Network Inspector
Pencegatan Traffic Network Inspector

Terhubung otomatis ke proses latar depan di Layout Inspector - Layout Inspector sekarang secara otomatis terhubung ke proses latar depan. Anda tidak perlu lagi mengklik untuk memasangnya ke aplikasi Anda.

IntelliJ

Update Platform IntelliJ - Android Studio Flamingo (2022.2.1) menyertakan rilis platform IntelliJ 2022.2, yang hadir dengan peningkatan performa IDE, peningkatan performa rendering di macOS berkat Metal API, dan lainnya. Hal ini juga meningkatkan performa IDE ketika menggunakan Kotlin, yang berdampak positif pada penyorotan, pelengkapan, dan pencarian kode. Baca catatan rilis IntelliJ di sini.

Ringkasan

Singkatnya, Android Studio Flamingo (2022.2.1) menyertakan penyempurnaan dan fitur baru ini:

Alat UI
  • Edit Live (Compose) - Eksperimental
  • Dukungan Pratinjau ikon aplikasi bertema
  • Pratinjau warna dinamis
  • Template Jetpack Compose dan Material 3

Build
  • Kategorisasi Tugas Build Analyzer
  • Pembuatan dan Pengoperasian Build Profileable Otomatis Sekali Klik
  • Dukungan Lint untuk Ekstensi SDK
  • Perubahan yang dapat menyebabkan gangguan di Plugin Android Gradle 8.0
Inspeksi
  • Update untuk App Quality Insights
  • Pencegatan Traffic Network Inspector
  • Terhubung otomatis ke proses latar depan di Layout Inspector
IntelliJ
  •  Update Platform IntelliJ 2022.2

    Lihat catatan rilis Android Studio, catatan rilis plugin Android Gradle, dan catatan rilis Android Emulator untuk mengetahui detail selengkapnya.

    Download Studio Sekarang!

    Sekaranglah saat yang tepat mendownload Android Studio Flamingo (2022.2.1) untuk mengintegrasikan fitur-fitur terbaru ke dalam alur kerja Anda. Kami selalu menghargai setiap masukan tentang hal-hal yang Anda sukai dan masalah atau fitur yang ingin Anda lihat. Jika Anda menemukan bug atau masalah, silakan laporkan masalah dan lihat masalah yang diketahui. Jangan lupa untuk mengikuti kami di TwitterMedium, atau YouTube untuk mengetahui lebih banyak informasi terbaru tentang pengembangan Android!


     

    Diposting oleh Jon Eckenrode, Technical Writer, Software Engineering 

    header blog dengan logo Android

    Rilis Jetpack WindowManager 1.1.0-beta01 melanjutkan progres yang konsisten dari library ini menuju rilis stabil versi 1.1.0. Versi beta ini menambahkan berbagai fitur dan kemampuan baru, yang siap untuk diuji coba dan diadopsi lebih awal hari ini!

    Kami membutuhkan masukan Anda agar kami bisa membuat WindowManager berfungsi sempurna untuk Anda. Tambahkan dependensi 1.1.0-beta01 ke aplikasi Anda, ikuti langkah-langkah migrasi di bawah ini (jika Anda sudah menggunakan versi library sebelumnya), dan beri tahu kami pendapat Anda!

    Sematan aktivitas

    androidx.window.embedding

    Sematan aktivitas memungkinkan Anda mengoptimalkan aplikasi multi-aktivitas untuk layar besar. Rilis 1.1.0-beta01 menambah dan melakukan pemfaktoran ulang API untuk memberikan fleksibilitas, kemampuan, dan kontrol yang lebih besar dalam mengelola pembagian jendela tugas. Kami memulai dengan API eksperimental di versi 1.0.0, kemudian mempromosikannya ke versi stabil di 1.1.0.

    tl;dr

    Menambahkan setelan manifes sehingga Anda bisa memberi tahu sistem bahwa aplikasi Anda telah mengimplementasikan sematan aktivitas. Melakukan pemfaktoran ulang SplitController agar lebih berfokus pada properti pembagian; mengekstraksi API aturan pembagian ke RuleController dan API penyematan aktivitas ke ActivityEmbeddingController. Menambahkan class SplitAttributes untuk mendeskripsikan bagian sematan. Menambahkan class EmbeddingAspectRatio guna menetapkan rasio minimum untuk menerapkan aturan sematan aktivitas. Mengubah unit piksel ke piksel tampilan mandiri (dp). Mengaktifkan kustomisasi tata letak pembagian. Menambahkan tag pada aturan sehingga developer bisa mengidentifikasi dan mengelola aturan tertentu.

    Apa yang baru

    PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED

    • Ditambahkan sebagai properti boolean pada tag <application> di manifes aplikasi.

    ActivityEmbeddingController

    • Menambahkan class untuk operasi yang terkait dengan class Activity atau ActivityStack.

    • Memasukkan isActivityEmbedded() untuk menggantikan API di SplitController.

    RuleController

    • Menambahkan class untuk operasi yang terkait dengan subclass dan class EmbeddingRule .
    • Memasukkan API berikut untuk menggantikan API di SplitController:
      • addRule() — Menambahkan aturan atau memperbarui aturan yang memiliki tag sama.
      • removeRule() — Menghapus aturan dari kumpulan aturan terdaftar.
      • setRules() — Menetapkan kumpulan aturan.
      • clearRules() — Menghapus semua aturan yang terdaftar.
      • parseRules() — Mengurai aturan dari definisi aturan XML.

            SplitAttributes

            • Menambahkan class untuk mendefinisikan tata letak pembagian.

            EmbeddingAspectRatio

            • Menambahkan class untuk mendefinisikan konstanta perilaku sejenis enum yang terkait dengan rasio aspek tampilan. Anda dapat menentukan kapan pembagian diaktifkan berdasarkan rasio aspek jendela induk.

            Lihat SplitRule untuk properti yang menggunakan konstanta tersebut.


            Apa yang berubah

            EmbeddingRule

            • Menambahkan kolom tag untuk mengidentifikasi aturan pembagian.

            SplitController
            • Melakukan pemfaktoran ulang API untuk modul-modul berikut ini:
              • ActivityEmbeddingController
                • Memindahkan isActivityEmbedded() ke ActivityEmbeddingController.
                • RuleController
                  • Menghapus API berikut dan mengganti fungsionalitasnya dengan API RuleController:
                    • clearRegisteredRules()
                    • getSplitRules()
                    • initialize()
                    • registerRule()
                    • unregisterRule()
                • Metode isSplitSupported() tidak digunakan lagi dan diganti dengan properti splitSupportStatus untuk memberikan informasi yang lebih mendetail mengenai alasan mengapa fitur pembagian tidak tersedia.

                • Metode getInstance() sekarang memiliki parameter Context .

                        Catatan: Metode getInstance() dari ActivityEmbeddingController dan RuleController juga memiliki parameter Context .
                        • Menambahkan fungsi kalkulator SplitAttributes untuk menyesuaikan tata letak pembagian:
                          • setSplitAttributesCalculator()
                          • clearSplitAttributesCalculator()
                          • isSplitAttributesCalculatorSupported() untuk mengecek apakah API SplitAttributesCalculator didukung pada perangkat.

                        • Mendefinisikan nested class SplitSupportStatus untuk menyediakan konstanta status untuk properti splitSupportStatus. Memungkinkan Anda mengubah perilaku aplikasi berdasarkan ada tidaknya dukungan pembagian sematan aktivitas di lingkungan aplikasi saat ini.

                        SplitRule

                        • Menambahkan properti defaultSplitAttributes yang mendefinisikan tata letak pembagian default; menggantikan splitRatio dan layoutDirection.
                        • Menambahkan translasi properti XML splitRatio dan splitLayoutDirection ke defaultSplitAttributes.
                        • Mengubah definisi dimensi minimum agar menggunakan piksel kepadatan mandiri (dp), sebagai pengganti piksel.
                        • Mengubah minWidth menjadi minWidthDp dengan nilai default 600dp.
                        • Mengubah minSmallestWidth menjadi minSmallestWidthDp dengan nilai default 600dp.
                        • Menambahkan properti minHeightDp dengan nilai default 600dp.
                        • Menambahkan maxAspectRatioInHorizontal dengan nilai default ALWAYS_ALLOW.
                        • Menambahkan maxAspectRatioInPortrait dengan nilai default 1,4.
                        • Mendefinisikan nested class FinishBehavior untuk menggantikan konstanta perilaku finish.
                        • Mengaplikasikan perubahan properti untuk nested class Builder dari SplitPairRule dan SplitPlaceholderRule.

                              SplitInfo

                              • Mengganti getSplitRatio() dengan getSplitAttributes() untuk memberikan informasi tambahan yang berkaitan dengan pembagian.

                              Tata letak jendela

                              androidx.window.layout

                              Library tata letak jendela memungkinkan Anda menentukan fitur jendela tampilan aplikasi. Dengan rilis 1.1.0-beta01, Anda sekarang bisa bekerja dalam konteks bukan hanya aktivitas.

                              Apa yang berubah

                              WindowInfoTracker

                              • Menambahkan dukungan konteks UI non-aktivitas dalam eksperimental.

                              WindowMetricsCalculator

                              • Menambahkan dukungan konteks UI non-aktivitas.

                              Langkah-langkah migrasi

                              Ambil langkah berikutnya dan upgrade aplikasi Anda dari versi alfa sebelumnya. Dan mohon beri tahu kami bagaimana kami bisa memudahkan proses upgrade lebih lanjut.

                              PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED
                              • Untuk mengaktifkan sematan aktivitas, aplikasi harus menambahkan properti ke tag <application> di manifes aplikasi: 

                              < property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />

                              Ketika properti ditetapkan ke true, sistem bisa mengoptimalkan perilaku pembagian lebih awal untuk aplikasi.


                              SplitInfo

                              • Periksa jika pembagian yang terjadi sekarang ditumpuk:

                              SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType

                              • Periksa rasio saat ini:

                              if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
                               

                              SplitController

                              • SplitController.getInstance()

                              berubah menjadi

                                  SplitController.getInstance(Context)

                              • SplitController.initialize(Context, @ResId int)

                              berubah menjadi:

                              RuleController.getInstance(Context) .setRules(RuleController.parse(Context, @ResId int)) 
                              • SplitController.getInstance().isActivityEmbedded(Activity)
                              berubah menjadi:

                              ActivityEmbeddingController.getInstance(Context) .isActivityEmbedded(Activity)

                              • SplitController.getInstance().registerRule(rule)
                                        berubah menjadi:
                              RuleController.getInstance(Context).addRule(rule)

                              • SplitController.getInstance().unregisterRule(rule)

                              berubah menjadi:
                              RuleController.getInstance(Context).removeRule(rule)
                              • SplitController.getInstance().clearRegisteredRules()

                              berubah menjadi:
                              RuleController.getInstance(Context).clearRules()
                              • SplitController.getInstance().getSplitRules()

                              berubah menjadi:

                                  RuleController.getInstance(Context).getRules() 


                              SplitRule

                              • Mengubah minWidth menjadi minWidthDp dan minSmallestWidth menjadi minSmallestWidthDp
                              • minWidthDp dan minSmallestWidthDp sekarang menggunakan satuan dp, bukan piksel

                              Aplikasi bisa menggunakan panggilan berikut:

                              TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )

                              atau cukup bagi minWithInPixels dengan displayMetrics#density.  


                              SplitPairRule.Builder

                              • SplitPairRule.Builder( filters, minWidth, minSmallestWidth )

                              berubah menjadi:

                              SplitPairRule.Builder(filters) // Optional if minWidthInDp argument is 600. .setMinWidthDp(minWidthInDp) // Optional if minSmallestWidthInDp argument is 600. .setMinSmallestWidthDp(minSmallestWidthInDp)

                              • setLayoutDirection(layoutDirection) and setSplitRatio(ratio)

                              berubah menjadi:

                              setDefaultSplitAttributes(SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )

                              • setFinishPrimaryWithSecondary dan setFinishSecondaryWithPrimary mengambil konstanta seperti-enum FinishBehavior .

                              Lihat migrasi SplitRule untuk detailnya.

                              • Gunakan:
                              setMaxAspectRatioInPortrait( EmbeddingAspectRatio.ALWAYS_ALLOW )
                              untuk menunjukkan pembagian pada perangkat potret.

                              SplitPlaceholder.Builder

                              • Hanya memiliki parameter filters dan placeholderIntent ; properti lain dipindahkan ke penyetel.
                              Lihat migrasi SplitPairRule.Builder untuk detailnya.  
                              • setFinishPrimaryWithPlaceholder mengambil konstanta seperti-enum FinishBehavior .
                              Lihat migrasi perilaku finish untuk detailnya.

                              • setLayoutDirection(layoutDirection) dan setSplitRatio(ratio)

                              berubah menjadi 

                              setDefaultSplitAttributes(SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )

                              Lihat migrasi arah tata letak untuk detailnya.

                              • Gunakan:

                              setMaxAspectRatioInPortrait( EmbeddingAspectRatio.ALWAYS_ALLOW )

                              untuk menunjukkan pembagian pada perangkat potret.

                               
                              Perilaku finish

                              Konstanta perilaku finish harus dimigrasikan ke konstanta class seperti enum FinishBehavior:

                              • FINISH_NEVER berubah menjadi FinishBehavior.NEVER
                              • FINISH_ALWAYS berubah menjadi FinishBehavior.ALWAYS
                              • FINISH_ADJACENT berubah menjadi FinishBehavior.ADJACENT

                              Arah tata letak

                              Arah tata letak harus dimigrasikan ke SplitAttributes.LayoutDirection:

                              • ltr berubah menjadi SplitAttributes.LayoutDirection.LEFT_TO_RIGHT
                              • rtl berubah menjadi SplitAttributes.LayoutDirection.RIGHT_TO_LEFT
                              • locale berubah menjadi SplitAttributes.LayoutDirection.LOCALE
                              • splitRatio dimigrasikan ke SplitAttributes.SplitType.ratio(splitRatio)

                              Memulai Untuk memulai WindowManager, tambahkan repositori Google Maven ke settings.gradle aplikasi atau file build.gradle level project: 


                              dependencyResolutionManagement {

                                  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

                                  repositories {

                                      google()

                                  }

                              }

                               Kemudian tambahkan dependensi 1.1.0-beta01 ke file build.gradle level modul aplikasi Anda: 


                              dependencies {

                                  implementation 'androidx.window:window:1.1.0-beta01'

                                  . . .

                              }

                               Selamat coding!