Di seri tutorial ini, kita akan mengembangkan aplikasi native Android dimana user interface dibuat dengan menggunakan jQuery Mobile Framework. Untuk tujuan ini, kami akan memperkenalkan model untuk mewakili UI sreenc dalam aplikasi native Android yang menggunakan jQuery Mobile page element, khususnya, container dan halaman konten. Meskipun kode tutorial ini dikembangkan untuk kontak manajemen, konsep-konsep dasar dari model generik dan dapat diterapkan untuk aplikasi di mana UI cocok untuk membangun melalui HTML dan JavaScript. Show
Sebagai bagian dari model, kita membahas mengintegrasikan JavaScript dengan kode Java back-end dan menggambarkan mengakses Java metode dari JavaScript dan, sebaliknya, mengakses JavaScript HTML dari Java. Ringkasan dari aspek-aspek utama dari model akan dibuat adalah sebagai berikut:
Aspek-aspek tambahan tutorial adalah sebagai berikut.
Organisasi dari TutorialSeri tutorial ini telah diselenggarakan sebagai berikut. Dalam bagian 1, 'Screen Flow' kami memperkenalkan layar dalam aplikasi dan menggambarkan transisi antara layar tersebut. Bagian 'jQuery Mobile Page Scructure' memberikan gambaran tentang elemen halaman dalam Jquery Mobiile Framework dan menjelaskan bagaimana layar dalam aplikasi ini dibangun dengan menggunakan element-element itu. Dalam ' Mengintegrasikan HTML/JavaScript berbasis UI dengan Android Java Back-end', kita meninjau konsep-konsep dasar dalam mengintegrasikan UI, terdiri dari HTML dan JavaScript, dengan kelas Java back-end yang mengimplementasi business functioanality. Subbagian di sini adalah 'Mengakses Java dari JavaScript', 'Mengakses HTML/JavaScript dari Java' dan 'Parameter Data jenis dalam Method Call'. Dalam 'Aplikasi Startup', kita mulai review kode untuk daerah-daerah tertentu fungsional dari aplikasi. Dalam setiap bagian, kami menjelaskan urutan event yang berlangsung antara UI dan Java back-end untuk melakukan aktivitas tertentu. Kita mulai bagian 2 dari tutorial dengan bagian bernama 'Buat akun', yang menjelaskan bagaimana untuk membuat sebuah akun untuk
bergaul dengan kontak baru dibuat. Dalam 'Ada kontak', kami menjelaskan mengedit dan menghapus kontak yang ada. Bagian 3 dari tutorial dimulai dengan 'Menambahkan kontak', yang menjelaskan bagaimana untuk menambahkan kontak baru. Dalam 'Membaca kontak Via Dalam Bagian 4, tutorial terakhir, 'Menulis operasi untuk kontak' menjelaskan menghapus dan menyimpan kontak menggunakan Android Java API. Bagian ini, serta 'Membaca kontak Via Screen FlowDalam aplikasi kita, setiap kontak harus dikaitkan dengan akun. Biasanya, account yang pengidentifikasi untuk pengguna di layanan online seperti 'gmail'. Untuk aplikasi demo ini, kita akan membuat akun yang akan memiliki semua kontak yang dibuat oleh aplikasi. Untuk kesederhanaan, akun tersebut akan tidak terkait dengan layanan online. Kontak yang berasal dari akun lain akan tetap ditampilkan melalui aplikasi, namun, mereka tidak dapat diedit atau dihapus. (Pembatasan ini disengaja untuk menghindari kerusakan akibat kecelakaan pada kontak di perangkat Android sebenarnya.) Ketika aplikasi dimulai, memeriksa jika akun telah dibuat untuk aplikasi. Ketika menjalankan untuk pertama kalinya, account tidak ada, oleh karena itu, pengguna ditampilkan 'Buat akun' layar (gambar 1 di bawah ini). Gambar 1. Membuat Account layar.Setelah account dibuat, layar awal untuk ditampilkan bila aplikasi dimulai adalah 'Daftar kontak' layar. Layar 'Daftar kontak' memberikan daftar semua kontak dalam perangkat (gambar 2 di bawah ini). Gambar 2. Contact List Screen.Jika pengguna mengklik tombol add, layar 'Empty Contact' ditampilkan. Di layar itu, pengguna dapat ketik informasi kontak baru dan menyimpan kontak. Setelah kontak disimpan, layar 'Contact List' ditampilkan dengan kontak baru ditambahkan. Pada 'Empty Contact' layar pengguna dapat membatalkan memasuki kontak baru. Dalam kasus layar 'Contact List' ditampilkan tanpa menyimpan kontak. Layar 'Empty Contact' ditunjukkan dalam gambar 3, kiri, di bawah ini. Pada 'Contact List', pengguna dapat juga memilih kontak yang ada dan lihat rinciannya pada layar 'Existing Contact', seperti yang ditunjukkan dalam gambar 3, tepat di atas. Di sini, pengguna dapat mengedit kontak dan menyimpan perubahan, yang kembali user ke 'Contact List' layar dengan informasi kontak yang diperbarui. Pada 'Existing contact', jika Batal dipilih, pengguna dibawa kembali ke 'Contact List' dan tidak ada perubahan yang dibuat untuk informasi kontak. 'Existing Contact' layar identik dengan 'Empty Contact' kecuali bahwa rincian kontak yang diisi dengan informasi kontak yang sudah ada. Pada 'Existing Contact', pengguna dapat juga menekan tombol Delete untuk menghapus kontak. Kapan Hapus tombol ditekan, 'Confirm Delete' layar ditampilkan, 4 angka di bawah ini. Pada 'Confirm Delete', jika Delete ditekan kontak akan dihapus dan pengguna dibawa kembali ke layar 'Contact List'. Pada 'Contact Liszt' jika Batal ditekan, tidak ada tindakan yang diambil dan pengguna dibawa kembali ke 'Existing Contact' layar. Gambar 4. Layar Confirm Delete.Di layar transisi yang memerlukan sejumlah pengolahan data, aplikasi menampilkan layar 'Progress' ketika pengguna berdiri oleh (gambar 5 di bawah ini). Layar progress selalu ditampilkan sebelum salah satu 'Create Account', 'Contact List', 'Empty List' dan 'Existing Contact' layar ditampilkan. Gambar 5. Layar Progress.Merangkum diskusi di atas, gambar berikut menunjukkan aliran layar di aplikasi kita. Gambar 6. Screen Flow.jQuery Mobile Page StructureMari kita bahas bagaimana layar pada aplikasi kami akan diwakili menggunakan elemen halaman Mobile jQuery. (Untuk pembahasan rinci pada bagaimana halaman yang dibangun dalam Jquery Mobile Framework, lihat bagian dalam referensi dokumentasi bernama anatomi dari sebuah halaman.) Sebuah file HTML dalam Jquery Mobile Framework terdiri dari satu
wadah halaman dengan satu atau lebih konten halaman dalam container. Halaman wadah yang memiliki <div data-role="page"> <div data-role="header">...</div> <div id="contentWithHeaderAndFooter1" data-role="content">...</div> <div data-role="footer">...</div> <div data-role="header">...</div> <div id="contentWithHeaderAndFooter2" data-role="content">...</div> <div data-role="footer">...</div> <div id="contentWithNoHeaderAndFooter" data-role="content">...</div> </div> Dalam halaman kontainer, hal ini dimaksudkan untuk menampilkan isi hanya satu halaman pada satu waktu. Idenya adalah untuk kelompok Logis terkait layar bersama-sama dalam satu container halaman dan menetapkan masing-masing sebagai halaman konten. Misalnya, laman konten tersebut dapat berbagi kode JavaScript yang umum. Contoh lain adalah salah satu dimana halaman konten utama dikelompokkan bersama-sama dengan beberapa halaman konten lain yang mewakili dialog yang terkait dengan konten utama. Dalam aplikasi ini tutorial, masing-masing 'Create Account' (gambar 1), 'Contact List' (gambar 2) dan layar Progress (gambar 5) diwakili
sebagai halaman konten dalam halaman kontainer yang disimpan di halaman fisik Menampilkan/menyembunyikan konten halaman dilakukan pemrograman. Ini akan ditampilkan selama review kode di bawah ini. Mengintegrasikan HTML/JavaScript berbasis UI dengan Android Java Back-endDalam tutorial ini, kami sedang mengembangkan sebuah aplikasi Android native dimana UI dilaksanakan dengan jQuery Mobile Framework yang terdiri dari perpustakaan JavaScript dan CSS. Jquery Mobile Framework bertujuan untuk membantu mengembangkan aplikasi dengan experience yang sama di seluruh platform mobile yang berbeda, perangkat dan browser web mobile. Dengan demikian, tidak memiliki mekanisme integrasi tertentu, misalnya sebuah plug-in, dengan Android secara default. Untuk alasan ini, integrasi jQuery Mobile dengan Android harus dikembangakan secara custom. Sebelum memulai review dari halaman HTML dan JavaScript, serta kode Java tutorial ini, masuk akal untuk melihat tiga aspek utama dari integrasi yang:
Mengakses Java dari JavaScriptAndroid menyediakan cara yang umum untuk mengekspos Android Java objek dalam kode JavaScript yang menggunakan Gambar di bawah menunjukkan bagaimana sebuah objek Java diakses oleh kode JavaScript yang berjalan di mana halaman HTML adalah bagian dari paket aplikasi Android Contoh daftar di bawah ini menunjukkan bagaimana untuk mengekspos objek Java, instance kelas import android.webkit.WebView; import android.app.Activity; ... public class ContactsActivity extends Activity { WebView webView; ... public void onCreate(Bundle savedInstanceState) { ... webView = new WebView(this); ... webView.addJavascriptInterface(this, <B>"contactSupport"</B>); ... } public void <B>deleteContact</B>(String contactId, String displayPage){ ... } Snipet kode di bawah ini menunjukkan contoh mengakses objek <script> ... function someJavaScriptFunction(){ .. <B>contactSupport.deleteContact</B>(contactIdVar.val(),'ListPage.html'); } ... </script> Mengakses HTML/JavaScript dari JavaDalam aplikasi tutorial ini, kita akan menggunakan metode
Selain loading halaman HTML baru, metode
Sekarang mari kita lihat bagaimana kode Java menerapkan interaksi mereka. Loading halaman HTML melalui |