Fitur Android Pie
Cara mulai mengembangkan aplikasi untuk Android 9 Pie menggunakan Xamarin.Android.
Android 9 Pie sekarang tersedia dari Google. Sejumlah fitur dan API baru tersedia dalam rilis ini, dan banyak dari mereka yang diperlukan untuk memanfaatkan kemampuan perangkat keras baru di perangkat Android terbaru.
Artikel ini disusun untuk membantu Anda mulai mengembangkan aplikasi Xamarin.Android untuk Android Pie. Ini menjelaskan cara menginstal pembaruan yang diperlukan, mengonfigurasi SDK, dan menyiapkan emulator atau perangkat untuk pengujian. Ini juga menyediakan kerangka fitur baru di Android Pie dan menyediakan contoh kode sumber yang menggambarkan cara menggunakan beberapa fitur Utama Android Pie.
Xamarin.Android 9.0 menyediakan dukungan untuk Android Pie. Untuk informasi selengkapnya tentang dukungan Xamarin.Android untuk Android Pie, lihat catatan rilis Android P Developer Preview 3 .
Persyaratan
Daftar berikut diperlukan untuk menggunakan fitur Android Pie di aplikasi berbasis Xamarin:
Visual Studio – Visual Studio 2019 direkomendasikan. Jika Anda menggunakan Visual Studio 2017, pada pembaruan Windows ke Visual Studio 2017 versi 15.8 atau yang lebih baru. Di macOS, perbarui ke Visual Studio 2017 untuk Mac versi 7.6 atau yang lebih baru.
Xamarin.Android – Xamarin.Android 9.0.0.17 atau yang lebih baru harus diinstal dengan Visual Studio (Xamarin.Android secara otomatis diinstal sebagai bagian dari pengembangan Seluler dengan beban kerja .NET ).
Pengembangan Java Developer Kit – Xamarin Android 9.0 memerlukan JDK 8 (atau Anda dapat mencoba pratinjau distribusi OpenJDK Microsoft). JDK8 secara otomatis diinstal sebagai bagian dari pengembangan Seluler dengan beban kerja .NET .
Android SDK – Android SDK API 28 atau yang lebih baru harus diinstal melalui Android SDK Manager.
Memulai
Untuk mulai mengembangkan aplikasi Android Pie dengan Xamarin.Android, Anda harus mengunduh dan menginstal alat dan paket SDK terbaru sebelum Anda dapat membuat proyek Android Pie pertama Anda:
Visual Studio 2019 direkomendasikan. Jika Anda menggunakan Visual Studio 2017, perbarui ke Visual Studio 2017 versi 15.8 atau yang lebih baru. Jika Anda menggunakan Visual Studio untuk Mac, perbarui ke Visual Studio 2017 untuk Mac versi 7.6 atau yang lebih baru.
Instal paket dan alat Android Pie (API 28) melalui SDK Manager.
Buat proyek Xamarin.Android baru yang menargetkan Android 9.0.
Konfigurasikan emulator atau perangkat untuk menguji aplikasi Android Pie.
Masing-masing langkah ini dijelaskan di bagian berikut:
Memperbarui Visual Studio
Visual Studio 2019 direkomendasikan untuk membuat aplikasi Android Pie menggunakan Xamarin.
Jika Anda menggunakan Visual Studio 2017, perbarui ke Visual Studio 2017 versi 15.8 atau yang lebih baru (untuk instruksi, lihat Memperbarui Visual Studio 2017 ke rilis terbaru). Di macOS, perbarui ke Visual Studio 2017 untuk Mac 7.6 atau yang lebih baru (untuk instruksi, lihat Menyiapkan dan Menginstal Visual Studio untuk Mac).
Menginstal Android SDK
Untuk membuat proyek dengan Xamarin.Android 9.0, Anda harus terlebih dahulu menggunakan Android SDK Manager untuk menginstal platform SDK untuk Android Pie (API level 28) atau yang lebih baru.
Mulai SDK Manager. Di Visual Studio, klik Alat > Android > Android SDK Manager. Di Visual Studio untuk Mac, klik Alat > Pengelola SDK.
Di sudut kanan bawah, klik ikon roda gigi dan pilih Repositori > Google (Tidak didukung):
Instal paket Android Pie SDK, yang terdaftar sebagai Android SDK Platform 28 di tab Platform (untuk informasi selengkapnya tentang menggunakan SDK Manager, lihat Penyiapan Android SDK):
Jika Anda menggunakan emulator, buat perangkat virtual yang mendukung API Level 28. Untuk informasi selengkapnya tentang membuat perangkat virtual, lihat Mengelola Perangkat Virtual dengan Android Device Manager.
Memulai proyek Xamarin.Android
Buat proyek Xamarin.Android baru. Jika Anda baru mengenal pengembangan Android dengan Xamarin, lihat Halo, Android untuk mempelajari tentang membuat proyek Xamarin.Android.
Saat membuat proyek Android, Anda harus mengonfigurasi pengaturan versi untuk menargetkan Android 9.0 atau yang lebih baru. Misalnya, untuk menargetkan proyek Anda untuk Android Pie, Anda harus mengonfigurasi tingkat ANDROID API target proyek Anda ke Android 9.0 (API 28). Disarankan agar Anda juga mengatur tingkat Kerangka Kerja Target ke API 28 atau yang lebih baru. Untuk informasi selengkapnya tentang mengonfigurasi tingkat Android API, lihat Memahami Android API Levels.
Mengonfigurasi perangkat atau emulator
Jika Menggunakan perangkat fisik seperti Nexus atau Pixel, Anda dapat memperbarui perangkat ke Android Pie dengan mengikuti petunjuk di Factory Images for Nexus dan Pixel Devices.
Jika Anda menggunakan emulator, buat perangkat virtual untuk API level 28 dan pilih gambar berbasis x86. Untuk informasi tentang menggunakan Android Device Manager untuk membuat dan mengelola perangkat virtual, lihat Mengelola Perangkat Virtual dengan Android Device Manager. Untuk informasi tentang menggunakan emulator Android untuk pengujian dan penelusuran kesalahan, lihat Penelusuran kesalahan di Android Emulator.
Fitur baru
Android Pie memperkenalkan berbagai fitur baru. Beberapa fitur baru ini dimaksudkan untuk memanfaatkan kemampuan perangkat keras baru yang ditawarkan oleh perangkat Android terbaru, sementara yang lain dirancang untuk lebih meningkatkan pengalaman pengguna Android:
Dukungan Display Cutout – Menyediakan API untuk menemukan lokasi dan bentuk potongan di bagian atas layar pada perangkat Android yang lebih baru.
Peningkatan Pemberitahuan – Pesan pemberitahuan sekarang dapat menampilkan gambar, dan kelas baru
Person
digunakan untuk menyederhanakan peserta percakapan.Indoor Positioning – Dukungan platform untuk protokol WiFi Round-Trip-Time, yang memungkinkan aplikasi menggunakan perangkat WiFi untuk navigasi di pengaturan dalam ruangan.
Dukungan Multi-Kamera – Menawarkan kemampuan untuk mengakses aliran secara bersamaan dari beberapa kamera fisik (seperti kamera dual-front dan dual-back).
Bagian berikut menyoroti fitur-fitur ini dan memberikan contoh kode singkat untuk membantu Anda mulai menggunakannya di aplikasi Anda.
Tampilkan dukungan pemotongan
Banyak perangkat Android yang lebih baru dengan layar edge-to-edge memiliki Display Cutout (atau "notch") di bagian atas layar untuk kamera dan speaker. Cuplikan layar berikut menyediakan contoh emulator dari potongan:
Untuk mengelola bagaimana jendela aplikasi Anda menampilkan kontennya di perangkat dengan potongan tampilan, Android Pie telah menambahkan atribut tata letak jendela LayoutInDisplayCutoutMode baru. Atribut ini dapat diatur ke salah satu nilai berikut:
LayoutInDisplayCutoutModeNever – Jendela tidak pernah diizinkan untuk tumpang tindih dengan area pemotongan.
LayoutInDisplayCutoutModeShortEdges – Jendela diizinkan untuk meluas ke area pemotongan tetapi hanya di tepi pendek layar.
LayoutInDisplayCutoutModeDefault – Jendela diizinkan untuk meluas ke area pemotongan jika potongan terkandung dalam bilah sistem.
Misalnya, untuk mencegah jendela aplikasi tumpang tindih dengan area pemotongan, atur mode pemotongan tata letak menjadi tidak pernah:
Window.Attributes.LayoutInDisplayCutoutMode =
Android.Views.LayoutInDisplayCutoutMode.Never;
Contoh berikut memberikan contoh mode pemotongan ini. Cuplikan layar pertama di sebelah kiri adalah aplikasi dalam mode non-layar penuh. Di cuplikan layar tengah, aplikasi berjalan layar penuh dengan LayoutInDisplayCutoutMode
diatur ke LayoutInDisplayCutoutModeShortEdges
. Perhatikan bahwa latar belakang putih aplikasi meluas ke area pemotongan tampilan:
Di cuplikan layar akhir (di atas di sebelah kanan), LayoutInDisplayCutoutMode
diatur ke LayoutInDisplayCutoutModeShortNever
sebelum masuk ke layar penuh.
Perhatikan bahwa latar belakang putih aplikasi tidak diizinkan untuk meluas ke area pemotongan tampilan.
Jika Anda memerlukan informasi lebih rinci tentang area pemotongan pada perangkat, Anda dapat menggunakan kelas DisplayCutout baru. DisplayCutout
mewakili area tampilan yang tidak dapat digunakan untuk menampilkan isi. Anda dapat menggunakan informasi ini untuk mengambil lokasi dan bentuk potongan sehingga aplikasi Anda tidak mencoba menampilkan konten di area non-fungsi ini.
Untuk informasi selengkapnya tentang fitur pemotongan baru di Android P, lihat Menampilkan dukungan potongan.
Penyempurnaan pemberitahuan
Android Pie memperkenalkan penyempurnaan berikut untuk meningkatkan pengalaman olahpesan:
Saluran pemberitahuan (diperkenalkan di Android Oreo) sekarang mendukung pemblokiran grup saluran.
Sistem pemberitahuan memiliki tiga kategori Do-Not-Disturb baru (memprioritaskan alarm, suara sistem, dan sumber media). Selain itu, ada tujuh mode Do-Not-Disturb baru yang dapat digunakan untuk menekan gangguan visual (seperti lencana, lampu pemberitahuan, tampilan bilah status, dan peluncuran aktivitas layar penuh).
Kelas Orang baru telah ditambahkan untuk mewakili pengirim pesan. Penggunaan kelas ini membantu mengoptimalkan penyajian setiap pemberitahuan dengan mengidentifikasi orang yang terlibat dalam percakapan (termasuk avatar dan URI mereka).
Pemberitahuan sekarang dapat menampilkan gambar.
Contoh berikut mengilustrasikan cara menggunakan API baru untuk menghasilkan pemberitahuan yang berisi gambar. Dalam cuplikan layar berikut, pemberitahuan teks diposting dan diikuti oleh pemberitahuan dengan gambar yang disematkan. Ketika pemberitahuan diperluas (seperti yang terlihat di sebelah kanan), teks pemberitahuan pertama ditampilkan dan gambar yang disematkan di pemberitahuan kedua diperbesar:
Contoh berikut mengilustrasikan cara menyertakan gambar dalam pemberitahuan Android Pie, dan menunjukkan penggunaan kelas baru Person
:
Buat
Person
objek yang mewakili pengirim. Misalnya, nama dan ikon pengirim disertakan dalamfromPerson
:Icon senderIcon = Icon.CreateWithResource(this, Resource.Drawable.sender_icon); Person fromPerson = new Person.Builder() .SetIcon(senderIcon) .SetName("Mark Sender") .Build();
Buat yang
Notification.MessagingStyle.Message
berisi gambar untuk dikirim, meneruskan gambar ke metode Notification.MessagingStyle.Message.SetData baru. Contohnya:Uri imageUri = Uri.Parse("android.resource://com.xamarin.pminidemo/drawable/example_image"); Notification.MessagingStyle.Message message = new Notification.MessagingStyle .Message("Here's a picture of where I'm currently standing", 0, fromPerson) .SetData("image/", imageUri);
Tambahkan pesan ke
Notification.MessagingStyle
objek. Contohnya:Notification.MessagingStyle style = new Notification.MessagingStyle(fromPerson) .AddMessage(message);
Colokkan gaya ini ke penyusun pemberitahuan. Contohnya:
builder = new Notification.Builder(this, MY_CHANNEL) .SetContentTitle("Tour of the Colosseum") .SetContentText("I'm standing right here!") .SetSmallIcon(Resource.Mipmap.ic_notification) .SetStyle(style) .SetChannelId(MY_CHANNEL);
Terbitkan pemberitahuan. Contohnya:
const int notificationId = 1000; notificationManager.Notify(notificationId, builder.Build());
Untuk informasi selengkapnya tentang membuat pemberitahuan, lihat Pemberitahuan Lokal.
Penempatan dalam ruangan
Android Pie menyediakan dukungan untuk IEEE 802.11mc (juga dikenal sebagai WiFi Round-Trip-Time atau WiFi RTT), yang memungkinkan aplikasi mendeteksi jarak ke satu atau beberapa titik akses Wi-Fi. Dengan menggunakan informasi ini, aplikasi Anda dapat memanfaatkan posisi dalam ruangan dengan akurasi satu hingga dua meter. Di perangkat Android yang menyediakan dukungan perangkat keras untuk IEEE 801.11mc, aplikasi Anda dapat menawarkan fitur navigasi seperti kontrol appliance pintar berbasis lokasi atau instruksi belokan demi belokan melalui toko:
Kelas WifiRttManager baru dan beberapa kelas pembantu menyediakan sarana untuk mengukur jarak ke perangkat Wi-Fi. Untuk informasi selengkapnya tentang API posisi dalam ruangan yang diperkenalkan di Android P, lihat Android.Net.Wifi.Rtt.
Dukungan multi-Kamera
Banyak perangkat Android yang lebih baru memiliki kamera dual-front dan/atau dual-back yang berguna untuk fitur seperti visi stereo, efek visual yang disempurnakan, dan kemampuan zoom yang ditingkatkan. Android P memperkenalkan API Multi-Kamera baru yang memungkinkan aplikasi Anda menggunakan kamera logis (atau multi-kamera logis) yang didukung oleh dua kamera fisik atau lebih. Untuk menentukan apakah perangkat mendukung multi kamera logis, Anda dapat melihat kemampuan setiap kamera pada perangkat untuk melihat apakah perangkat mendukung RequestAvailableCapabilitiesLogicalMulti Kamera.
Android Pie juga menyertakan kelas SessionConfiguration baru yang dapat digunakan untuk membantu mengurangi penundaan selama pengambilan awal dan menghilangkan kebutuhan untuk memulai dan memulai aliran kamera.
Untuk informasi selengkapnya tentang dukungan Multi-Kamera di Android P, lihat Dukungan multi-kamera dan pembaruan kamera.
Fitur lainnya
Selain itu, Android Pie mendukung beberapa fitur baru lainnya:
Kelas AnimatedImageDrawable baru, yang dapat digunakan untuk menggambar dan menampilkan gambar animasi.
Kelas ImageDecoder baru yang menggantikan
BitmapFactory
.ImageDecoder
dapat digunakan untuk mendekodeAnimatedImageDrawable
.Dukungan untuk video HDR (Rentang Dinamis Tinggi) dan gambar HEIF (Format File Gambar Efisiensi Tinggi).
JobScheduler telah ditingkatkan untuk menangani pekerjaan terkait jaringan dengan lebih cerdas. Metode GetNetwork baru dari kelas JobParameters mengembalikan jaringan terbaik untuk melakukan permintaan jaringan apa pun untuk pekerjaan tertentu.
Untuk informasi selengkapnya tentang fitur Android Pie terbaru, lihat fitur dan API Android 9.
Perubahan perilaku
Saat Versi Android Target diatur ke API level 28, ada beberapa perubahan platform yang dapat memengaruhi perilaku aplikasi Anda meskipun Anda tidak menerapkan fitur baru yang dijelaskan di atas. Daftar berikut ini adalah ringkasan singkat dari perubahan ini:
Aplikasi sekarang harus meminta izin latar depan sebelum menggunakan layanan latar depan.
Jika aplikasi Anda memiliki lebih dari satu proses, aplikasi tidak dapat berbagi satu direktori data WebView di seluruh proses.
Mengakses direktori data aplikasi lain secara langsung berdasarkan jalur tidak lagi diizinkan.
Untuk informasi selengkapnya tentang perubahan perilaku untuk aplikasi yang menargetkan Android P, lihat Perubahan Perilaku.
Kode Sampel
AndroidPMiniDemo adalah aplikasi sampel Xamarin.Android untuk Android Pie yang menunjukkan cara mengatur mode pemotongan tampilan, cara menggunakan kelas baru Person
, dan cara mengirim pemberitahuan yang menyertakan gambar.
Ringkasan
Artikel ini memperkenalkan Android Pie dan menjelaskan cara menginstal dan mengonfigurasi alat dan paket terbaru untuk pengembangan Xamarin.Android dengan Android Pie. Ini memberikan gambaran umum tentang fitur utama yang tersedia di Android Pie, dengan contoh kode sumber untuk beberapa fitur ini. Ini termasuk tautan ke dokumentasi API dan topik Android Developer untuk membantu Anda mulai membuat aplikasi untuk Android Pie. Ini juga menyoroti perubahan perilaku Android Pie yang paling penting yang dapat memengaruhi aplikasi yang ada.