Hanantadk

[RecyclerView ] Inconsistency detected. Invalid item position

Beberapa waktu lalu saya sering menemukan masalah terkait recyclerview. Salah satunya adalah error Inconsistency detected. Invalid item position. Error iniĀ  kadang sulit untuk di repro/ di trigger, terjadi begitu saja.

This is the java.lang.IndexOutOfBoundsException which can be introduced in many scenarios with a improper coding for updating RecyclerView adapter or its item like: when if you try to change/insert/remove in adapter view item and at the same time you are trying to set new adapter. Sometimes you found you are not able to reproduce this issue but it is coming inconsistently.

Menurut Rahul Dhanuka, error ini bisa terjadi ketika mencoba untuk mengubah/menambah/menghapus data pada adapter dan set adapter baru pada waktu bersamaan.

Continue with reading

Gson Error After Release

Beberapa waktu yang lalu setelah release, saya menemukan beberaa error. Mungkin hampir sebagian programmer android pernah mengalami hal serupa. Selama proses development atau dalam mode debugging, aplikasi berjalan lancar tanpa ada error yang muncul tetapi setelah pindah ke mode release malah muncul beberapa error.

Aplikasi tiba tiba force close dalam mode release dan hanya sedikit log yang saya dapatkan. Untungnya, bug tersebut keliatan di logcat meskipun bercampur dengan log system android). Setelah dicek,terlihat variabel kehilangan value atau null padahal di mode debug berjalan lancar.

Continue with reading

ActiveAndroid : Can’t make field constructor accessible

Dependency projek untuk data pada awalnya terdiri dari retrofit (REST Client), Gson, dan Okhttp. Setelah menambahkan ActiveAndroid untuk database lokal muncullah error can’t convert object to model xxx dan Can’t make field constructor accessible seperti pada gambar di atas.

Pada aplikasi yang aku buat, model untuk active android jadi satu dengan pojo (Plain Old Java Object). Alasan pemilihan activeandroid untuk database lokal dikarenakan model activeandroid bisa jadi satu dengan pojo. Jika pake realm, pertimbangannya terlalu banyak object yang dibuat hehe . . .

Continue with reading

Android Studio Gradle Sync Failed

Beberapa hari yang lalu ketika membuka salah satu project hasil downloadan menggunakan android studio versi 2.1.1, tiba-tiba muncul log/pesan error Gradle sync faliled, cause=13, permission denied seperti gambar di atas.

Error tersebut selalu muncul meskipun sudahh di clean project, rebuild project, run project, atau invalidate and clear cache. Awalnya project masih bisa dijalankan tetapi perubahan yang dilakukan pada program tidak dieksekusi pada apk yang di deploy. Kemudian saya cek semua permission dari folder project hingga permission android sdk hasilnya sudah diizinkan, hapus folder build dan gradle di project hasilnya sama saja. Buka project lain ada yang bisa dan ada yang tidak. setelah saya cek yang bisa berjalan lancar adalah project dengan buildToolsVersion selain 23.0.2, karena buildToolsVersion pada project downloadan tadi (yang bikin gradle crash) menggunakan versi 23.0.2.

Continue with reading

Penggunaan AsyncTask

Dalam programming java atau android, programmer sering menggunakan asynctask untuk mengeksekusi proses atau operasi yang berat.Asyntask bekerja di background sehingga tidak mengganggu aktifitas user ketika system sedang mengeksekusi suatu proses. Akan tetapi penggunaan asynctask ini kadang menimbulkan beberapa kenadala. Salah satunya adalah ketika request data dari server kemudian menampilkannya. Pada proses asynctask tidak diperbolehkan mengkesekusi view dan mengeset suatu adapter karena akan menimbulkan error. sumber

you can’t update the UI on a background Thread which is what you are doing with setAdapter() and is why it works in onPostExecute()

sebagai contoh yang salah :

Terkadang data yang di eksekusi pada doInBackground akan menjadi null ketika dipanggil di onPostExecute.Untuk mengatasi hal tersebut bisa menggunakan List. Jika ingin memperdalam Asynchronous Task Android berikut saya share e-book free learning dari packtpub.com. Link Download

Glide Error IllegalArgument

Glide merupakan salah satu library image loader dari google yang dapat mempersingkat waktu untuk menampilkan gambar baik dari internet atau local. Glide sendiri mendukung image caching yang terdiri dari 4 disk Cache Strategy yaitu DiskCacheStrategy.NONE, DiskCacheStrategy.SOURCE, DiskCacheStrategy.RESULT, DiskCacheStrategy.ALL. Lebih detail bisa dibaca pada website futurestud.io.

Ketika menggunakan glide dan mendapatkan error “java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity ” seperti pada gambar diatas, artinya saat glide melakukan proses asyncTask terjadi interupt UI. Biasanya terjadi ketika glide sedang menampilkan gambar tetapi ada aksi lain seperti aksi back. Sering terjadi saat pertama kali load/ belum tercache dengan koneksi yang tidak stabil.

Continue with reading

Hello world!

“Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. “