Minggu, 24 April 2016

Weekly Report 25/4/2016 - Reyhan Razaby

Kami sudah menentukan MVP kami, yaitu fitur-fitur yang ada pada aplikasi Evaluasi Ibadah yang lama (buatan Badr asli) beserta tambahan dari kami. Detailnya ada di bawah ini:
Fitur lama:
1. Amalan dapat dicheck / diisi jika terlaksana
2. Pada halaman utama bisa pindah-pindah hari ke kanan (later) dan ke kiri (earlier)
3. Amalan dapat diedit, dihapus dan ditambah baru
4. Setiap amalan memiliki atribut berupa nama, jenis (check / isian) dan target
5. Dapat dilihat statistik tiap amalan berdasarkan target yang sudah ditentukan
6. Ada fitur pengingat (notifikasi) yang dapat diatur jam nya. Namun hanya bisa 1 pengingat, itupun secara keseluruhan, bukan tiap amalan.
(aplikasi dapat diunduh di sini)

Fitur tambahan dari kami:
1. Pengguna dapat daftar melalui akun Evaluasi Ibadah atau akun Google
2. Data disimpan ke server juga
3. Setiap amalan memiliki kategori
4. Ada atribut baru pada amalan, yaitu pengulangan (hari, minggu, bulan) dan deskripsi amalan tersebut
5. Setiap amalan memiliki lebih dari satu notifikasi yang bisa diatur jamnya

Selain itu banyak refactoring yg saya lakukan agar memenuhi best practice dalam pemrograman android.
Di antaranya adalah mengubah penamaan table dan atribut pada SQLite (pada class Localstorage) yang dibuat luthfi. Awalnya dia menamakan table dan atribut langsung menuliskan nama table atau atributnya (seperti yg terlihat pada gambar 1) yang kemudian masing2 nama table dan atribut saya buat variabelnya (seperti gambar 2). Jadi untuk selanjutnya, untuk pemanggilan nama table dan atribut dapat dilakukan seperti di gambar 3.
Gambar 1
Gambar 2
Gambar 3


Refactoring selanjutnya pada program kami melakukan pembuatan class LocalStorage baru di setiap Activity, sehingga lebih memakan memory. Untuk itu, saya buatkan class EvaluasiIbadah yang mengextends class Application sehingga class ini hanya perlu dipanggil sekali selama aplikasi menyala. Class EvaluasiIbadah ini menyimpan class LocalStorage yang akan digunakan pada Activity lain sehingga tidak perlu membuat class LocalStorage lagi di setiap Activity tersebut. Karena di class EvaluasiIbadah ini, saya membuat aksesor dengan method public dan static. Tidak hanya class LocalStorage yang disimpan di class EvaluasiIbadah ini, tetapi juga class penolong lainnya yang dibutuh kan oleh beberapa atau semua Activity. Bentuk class kurang terlihat pada gambar 4 di bawah ini.

Gambar 4


Pada pembuatan amalan dan kategori built-in dilakukan di class AmalanManager. Pembuatan object-object ini hanya dilakukan pada pengguna baru yang belum memilih amalan-amalan yang ingin dievaluasi (pada halaman Welcome). Bagi yang sudah pernah memilih amalan, jika dia menutup aplikasi dan membuka lagi, tidak perlu memilih amalan lagi dan tidak perlu mengambil dari database server, cukup database local. Jika dia melakukan logout dan login lagi, tidak perlu memilih amalan lagi, namun perlu ambil data yang di database server. Di bawah ini potongan kodingan yang melakukan hal di atas.
Gambar 5

Gambar 6
Gambar 7

Semua yang berkaitan dengan kodingan di atas sebenarnya saya lakukan sejak 2 minggu lalu, jadi sudah terpush ke GIT pada minggu lalu

Tidak ada komentar:

Posting Komentar