Saya memulai aplikasi Android baru. Apa struktur terbaik untuk digunakan?
Saya berencana menjadikannya desain multi-paket sebagai berikut:
- Paket utama, termasuk Aktivitas
- Lapisan layanan dan data
Paket entitas, termasuk kelas entitas.
Ada saran?
android
project-structure
Basbous
sumber
sumber
Jawaban:
Pertama, itu tergantung pada aplikasi apa yang Anda lakukan.
Anda harus melakukan deskripsi tekstual atau skematis tentang bagaimana pengguna akan bekerja dengan aplikasi. Perbaiki setiap skenario yang mungkin. Tuliskan contoh-contoh yang akan digunakan nanti untuk pengujian.
Putuskan apa yang menjadi bagian dari fungsionalitas dan apa - untuk konfigurasi yang dapat diubah. Ekstrak fungsionalitas dan entitas data dari skenario.
Dari skenario, putuskan apa aplikasi Anda nantinya. Apakah itu layanan, aktivitas, widget, bahkan penyedia konten atau sistem yang kompleks, termasuk beberapa komponen yang berbeda. Uji keputusan Anda terhadap skenario.
Dalam kasus sistem yang kompleks, sebarkan fungsi dan entitas data di antara komponen aplikasi. Buat daftar komponen dan apa komponennya (kegiatan atau hal lain).
Buat daftar komponen UI dengan deskripsi apa yang mereka lakukan (belum BAGAIMANA) Ini akan menjadi widget dan kegiatan atau fragmen atau tata letak nanti.
Buat rancangan tata letak untuk komponen UI. Buat operan sederhana dari satu ke yang lain. Lihatlah UI. Kembali ke skenario dan mainkan semuanya dengan UI konsep Anda. Semua komponen dan kelas UI dimasukkan ke dalam satu hierarki paket atau paket.
Buat daftar entitas data. Putuskan apa yang akan ada dalam apa. Rencanakan mereka sebagai koleksi atau tabel dalam DB atau DB yang berbeda. Jadikan sebagai kelas, masukkan ke dalam hierarki paket lain atau paket lain. Di sini juga menempatkan pembantu DB - kelas yang berbicara dengan DB oleh SQL.
Buat kelas pengujian (JUNIT atau TestNG yang lebih baik) untuk mengisi UI dan entitas data dengan data uji dan meluncurkannya.
Adaptor tidak harus bersifat publik, karena hanya digunakan di induknya GroupView. Jadi, biasanya tidak ada file untuk adaptor.
Jangan tidak menaruh semua GLOBALS ke dalam kelas statis khusus - itu adalah praktek yang buruk. Anda mencampur jadi kode dan konfigurasi. Gunakan solusi yang sangat menarik ini . Untuk saat ini, ini yang terbaik yang saya tahu untuk Android.
Data konfigurasi harus dimasukkan ke sumber daya. Jika beberapa di antaranya rumit, gunakan sumber XML dan parser. Jadikan pembaca data sumber daya menjadi variabel global. Tidak semuanya akan statis! Mereka bisa menjadi bagian dari instance Activity, misalnya.
Jangan gunakan konstanta yang tidak dapat dikonfigurasi dalam kode! Mungkin saja, nama Anda saja :-). Setiap konstanta terkadang menjadi tidak konstan.
Di sisi lain, jika beberapa dari Anda kode java tidak normal, tetapi skrip - campuran data dan bahasa, maka Anda dapat dan harus mencampur data dan kode.
Selalu lakukan itu: tulis sesuatu - sambungkan sesuatu ke bulk - tambahkan tes untuk hal baru ini - uji yang baru ini - tes massal - ulangi. Hanya langkah kecil!
Edit. Anda juga dapat menggunakan pengembangan yang digerakkan oleh tes - tulis tes sebelum kode yang sesuai. Dengan cara ini, menjalankan tes sebelum kode siap, Anda memiliki pengujian ganda - sehingga Anda memeriksa apakah tes benar-benar bereaksi terhadap kode yang salah.
sumber
Ya itu membuat mudah untuk mengembangkan jika Anda mengkategorikan hal berdasarkan pekerjaan mereka. Anda berada di arah yang benar. Di android, jika mengembangkan aplikasi maka saya akan menggunakan struktur berikut, sesuatu akan mirip seperti Anda
sumber