Hanantadk

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 . . .

Setelah browsing-browsing akhirnya ketemu juga dengan keyword error yang kedua “Can’t make field constructor accessible”. Ternyata ada konflik di GsonConverter pada retrofitnya. untuk mengatasi hal tersebut harus ada sedikit perubahan pada Gson Converter-nya dan penambahan annotasi expose pada setiap object pada semua pojo. Contohnya sebagai berikut ini :

SOLUSI :
1. Buat Gson untuk converternya sebagai berikut :

2. Tambahkan Gson converter tersebut pada retrofit

3. Tambahkan annotasi @Expose pada setiap inisialisasi pojo

Sumber :
https://github.com/google/gson/issues/648

Leave a Reply

Your email address will not be published. Required fields are marked *