Apa Saja Yang Dibutuhkan Sebuah Aplikasi Android?

Screenshot

Saya tidak sabar ingin segera menyelesaikan proof-of-concept aplikasi ini. Kurang lebih, seperti ini halaman depan aplikasi ini nantinya. Di awali dengan pilihan kartu-kartu untuk mengelompokkan informasi.

Untuk membuat tampilan seperti ini, saya menggunakan support appcompat, support design, support recyclerview dan support cardview. Sedangkan untuk menampilkan gambarnya (yang diambil dari internet), picasso adalah pilihan terbaik.

Selama proses development, kita kadang melakukan kesalahan. Ada 2 cara untuk mendeteksi kesalahan:

  1. Debugging, saya tidak suka cara ini karena cenderung lambat
  2. Log, saya lebih suka cara ini, dan cara inilah yang saya gunakan dalam project ini.

Untuk mengatur log, saya menggunakan library Timber. Fungsi timber, yang sekarang ini paling penting bagi saya adalah dengan Timber, saya dapat menampilkan log dengan prioritas debug dan verbose ke dalam logcat, jika aplikasi di build dengan variant debug, tapi kalau variant release, logcat harus bersih. Ditambah lagi, dengan Timber, saya bisa membuat extend dari DebugTree yang saya gunakan untuk menuliskan log untuk prioritas info, warning dan error ke file yang saya tentukan. Ini (menulis log ke file, dan mungkin ke depan akan mengirimkan file log ke server, jika dibutuhkan) memang tidak disupport langsung oleh Timber, tapi kita bisa menulis sendiri code untuk mengimplementasikan logika tersebut.

Saya juga membutuhkan Gson. Ya, ini standar, karena bisa dibilang, Gson ini selalu dipakai. Dalam hal ini, saya menggunakan Gson untuk mengubah isi file Json yang saya letakkan di direktori assets menjadi instance class sesuai POJO yang telah kita definisikan.

Terakhir (untuk hari ini), saya menambahkan juga library Google Analytics. Sebenarnya, ada pilihan lain untuk melakukan analytic, misalnya dengan Flurry. Tapi, kali ini saya memilih Google Analytics. Setidaknya ada 3 sebab:

  1. Tampilan dashboard Google Analytics lebih enak dilihat
  2. Ada fitur untuk melihat event secara realtime (meskipun kadang pelan, tergantung kondisi network), tapi kita tidak perlu menunggu besok untuk melihat apakah implementasi kita sudah tepat atau belum.
  3. API yang lebih sederhana dan beberapa konsep dasar seperti Screen, Event dan Session.

Dengan analytics ini saya ingin memantau bagaimana user berinteraksi dengan aplikasi saya. Saya ingin tahu, mana modul dan item yang paling banyak digunakan oleh user. Termasuk kata apa saja yang dicari oleh user. Menurut saya, pencarian adalah fungsi terpenting dalam aplikasi ini, bagi saya karena saya dapat memanen informasi tersebut.

Berikutnya, saya berrencana untuk mengisi setidaknya 20% konten, dan di sebar ke modul-modul yang ada. Ini adalah fungsi terpenting bagi user. Semakin lengkap konten aplikasi, maka semakin berguna pula aplikasi ini. Tetapi, karena hampir semua isi konten aplikasi ini disalin secara manual dari buku, tentu akan makan cukup banyak waktu.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.