Halo, Android Multiscreen: Deep Dive
Dalam panduan dua bagian ini, aplikasi Telepon word dasar (dibuat di panduan Hello, Android) diperluas untuk menangani layar kedua. Sepanjang jalan, blok penyusun aplikasi Android dasar diperkenalkan. Penyelaman arsitektur Android yang lebih mendalam disertakan untuk membantu Anda mengembangkan pemahaman yang lebih baik tentang struktur dan fungsionalitas aplikasi Android.
Di Mulai Cepat Hello, Android Multiscreen, Anda membuat dan menjalankan aplikasi Xamarin.Android multi-layar pertama Anda.
Dalam panduan ini Anda akan menjelajahi arsitektur Android yang lebih canggih. Navigasi Android dengan Niat dijelaskan, dan opsi navigasi perangkat keras Android dijelajahi. Penambahan baru ke aplikasi Telepon word dibedah saat Anda mengembangkan tampilan yang lebih holistik tentang hubungan aplikasi dengan sistem operasi dan aplikasi lainnya.
Dasar-dasar arsitektur Android
Dalam Hello, Android Deep Dive, Anda mengetahui bahwa aplikasi Android adalah program unik karena tidak memiliki satu titik masuk. Sebagai gantinya, sistem operasi (atau aplikasi lain) memulai salah satu Aktivitas terdaftar aplikasi, yang pada gilirannya memulai proses untuk aplikasi. Arsitektur Android yang mendalam ini memperluas pemahaman Anda tentang bagaimana aplikasi Android dibangun dengan memperkenalkan Blok Pembangun Aplikasi Android dan fungsinya.
Blok penyusun aplikasi Android
Aplikasi Android terdiri dari kumpulan kelas Android khusus yang disebut Blok Aplikasi yang dibundel bersama dengan sejumlah sumber daya aplikasi - gambar, tema, kelas pembantu, dll. - ini dikoordinasikan oleh file XML yang disebut Manifes Android.
Blok Aplikasi membentuk tulang punggung aplikasi Android karena memungkinkan Anda melakukan hal-hal yang biasanya tidak dapat Anda capai dengan kelas biasa. Dua yang paling penting adalah Aktivitas dan Layanan:
Aktivitas – Aktivitas sesuai dengan layar dengan antarmuka pengguna, dan secara konseptual mirip dengan halaman web di aplikasi web. Misalnya, dalam aplikasi umpan berita, layar masuk akan menjadi Aktivitas pertama, daftar item berita yang dapat digulir akan menjadi Aktivitas lain, dan halaman detail untuk setiap item akan menjadi yang ketiga. Anda dapat mempelajari selengkapnya tentang Aktivitas di panduan Siklus Hidup Aktivitas.
Layanan – Layanan Android mendukung Aktivitas dengan mengambil alih tugas yang berjalan lama dan menjalankannya di latar belakang. Layanan tidak memiliki antarmuka pengguna dan digunakan untuk menangani tugas yang tidak terkait dengan layar - misalnya, memutar lagu di latar belakang atau mengunggah foto ke server. Untuk informasi selengkapnya tentang Layanan, lihat panduan Membuat Layanan dan Layanan Android.
Aplikasi Android mungkin tidak menggunakan semua jenis Blok, dan sering memiliki beberapa Blok dari satu jenis. Misalnya, aplikasi Telepon word dari Hello, Android Quickstart hanya terdiri dari satu Aktivitas (layar) dan beberapa file sumber daya. Aplikasi pemutar musik sederhana mungkin memiliki beberapa Aktivitas dan Layanan untuk memutar musik saat aplikasi berada di latar belakang.
Niat
Konsep mendasar lainnya dalam aplikasi Android adalah Niat. Android dirancang berdasarkan prinsip hak istimewa paling sedikit - aplikasi hanya memiliki akses ke Blok yang mereka butuhkan untuk bekerja, dan mereka memiliki akses terbatas ke Blok yang membentuk sistem operasi atau aplikasi lain. Demikian pula, Blok digabungkan secara longgar - mereka dirancang untuk memiliki sedikit pengetahuan dan akses terbatas ke Blok lain (bahkan blok yang merupakan bagian dari aplikasi yang sama).
Untuk berkomunikasi, Blok Aplikasi mengirim pesan asinkron yang disebut Niat bolak-balik. Niat berisi informasi tentang Blok penerimaan dan terkadang beberapa data. Niat yang dikirim dari satu komponen Aplikasi memicu sesuatu terjadi di komponen Aplikasi lain, mengikat dua komponen Aplikasi dan memungkinkannya berkomunikasi. Dengan mengirim Niat bolak-balik, Anda bisa mendapatkan Blok untuk mengoordinasikan tindakan kompleks seperti meluncurkan aplikasi kamera untuk mengambil dan menyimpan, mengumpulkan informasi lokasi, atau menavigasi dari satu layar ke layar berikutnya.
AndroidManifest.XML
Saat Anda menambahkan Blok ke aplikasi, blokir tersebut terdaftar dengan file XML khusus yang disebut Manifes Android. Manifes melacak semua Blok Aplikasi dalam aplikasi, serta persyaratan versi, izin, dan pustaka tertaut - semua yang perlu diketahui sistem operasi agar aplikasi Anda berjalan. Manifes Android juga berfungsi dengan Aktivitas dan Niat untuk mengontrol tindakan apa yang sesuai untuk Aktivitas tertentu. Fitur canggih Manifes Android ini tercakup dalam panduan Bekerja dengan Manifes Android.
Dalam versi layar tunggal dari aplikasi Telepon word, hanya satu Aktivitas, satu Niat, dan AndroidManifest.xml
yang digunakan, bersama dengan sumber daya tambahan seperti ikon. Dalam versi multi-layar Telepon word, Aktivitas tambahan ditambahkan; diluncurkan dari Aktivitas pertama menggunakan Niat. Bagian berikutnya mengeksplorasi bagaimana Niat membantu membuat navigasi di aplikasi Android.
Navigasi Android
Niat digunakan untuk menavigasi antar layar. Saatnya untuk mempelajari kode ini untuk melihat cara kerja Niat dan memahami peran mereka di navigasi Android.
Meluncurkan aktivitas kedua dengan niat
Dalam aplikasi Telepon word, Niat digunakan untuk meluncurkan layar kedua (Aktivitas). Mulailah dengan membuat Niat, meneruskan Konteks saat ini (this
, mengacu pada Konteks saat ini) dan jenis Blok Aplikasi yang Anda cari (TranslationHistoryActivity
):
Intent intent = new Intent(this, typeof(TranslationHistoryActivity));
Konteks adalah antarmuka untuk informasi global tentang lingkungan aplikasi - memungkinkan objek yang baru dibuat mengetahui apa yang terjadi dengan aplikasi. Jika Anda menganggap Niat sebagai pesan, Anda memberikan nama penerima pesan (TranslationHistoryActivity
) dan alamat penerima (Context
).
Android menyediakan opsi untuk melampirkan data sederhana ke Niat (data kompleks ditangani secara berbeda). Dalam contoh Telepon word, PutStringArrayExtra
digunakan untuk melampirkan daftar nomor telepon ke Niat dan StartActivity
dipanggil pada penerima Niat. Kode yang telah selesai terlihat seperti ini:
translationHistoryButton.Click += (sender, e) =>
{
var intent = new Intent(this, typeof(TranslationHistoryActivity));
intent.PutStringArrayListExtra("phone_numbers", _phoneNumbers);
StartActivity(intent);
};
Konsep tambahan yang diperkenalkan dalam phoneword
Aplikasi Telepon word memperkenalkan beberapa konsep yang tidak tercakup dalam panduan ini. Konsep-konsep ini meliputi:
Sumber Daya String – Dalam aplikasi Telepon word, teks TranslationHistoryButton
diatur ke "@string/translationHistory"
. Sintaks @string
berarti bahwa nilai string disimpan dalam file sumber daya string, Strings.xml. Nilai berikut untuk translationHistory
string ditambahkan ke Strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="translationHistory">Call History</string>
</resources>
Untuk informasi selengkapnya tentang sumber daya string dan sumber daya Android lainnya, lihat panduan Sumber Daya Android.
ListView dan ArrayAdapter – ListView adalah komponen UI yang menyediakan cara sederhana untuk menyajikan daftar baris gulir. ListView
Instans memerlukan Adaptor untuk memberinya umpan dengan data yang terkandung dalam tampilan baris. Baris kode berikut digunakan untuk mengisi antarmuka pengguna dari TranslationHistoryActivity
:
this.ListAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, phoneNumbers);
ListViews dan Adapter berada di luar cakupan dokumen ini, tetapi tercakup dalam panduan ListViews dan Adapter yang sangat komprehensif.
Mengisi ListView Dengan Data secara khusus berkaitan dengan penggunaan kelas dan ArrayAdapter
bawaan ListActivity
untuk membuat dan mengisi ListView
tanpa menentukan tata letak kustom, seperti yang dilakukan dalam contoh Telepon word.
Ringkasan
Selamat, Anda telah menyelesaikan aplikasi Android multi-layar pertama Anda! Panduan ini memperkenalkan Android Application Building Blocks dan Intents dan menggunakannya untuk membangun aplikasi Android multi-layar. Anda sekarang memiliki fondasi yang kuat yang Anda butuhkan untuk mulai mengembangkan aplikasi Xamarin.Android Anda sendiri.
Selanjutnya, Anda akan belajar membangun aplikasi lintas platform dengan Xamarin dalam panduan Membangun Aplikasi Lintas Platform.