Kursus a2fahmi Gratis klik disini

Kursus Android Gratis, dengan syarat:

  • 1. Laki-laki beragama islam dan sholat 5 waktu, domisili bogor
  • 2. Masih SMK/SMA (matematika=6) / Mahasiswa (jurusan IT) / Pengganguran (Menguasai dasar JAVA)
  • 3. No HandPhone selain indosat
  • 4. Saat belajar bersedia membantu projek tanpa dibayar / membuat aplikasi di playstore dengan copyright saya
  • 5. Membawa Laptop

Kursus Framework CodeIgniter, dengan syarat:

  • 1. Laki-laki beragama islam dan sholat 5 waktu, domisili bogor
  • 2. Masih SMK/SMA (matematika=6) / Mahasiswa (jurusan IT) / Pengganguran (suka dengan komputer)
  • 3. No HandPhone selain indosat
  • 4. Saat belajar bersedia membantu projek tanpa dibayar
  • 5. Membawa Laptop

Fahmi Basya Kartapura On June - 13 - 2017

Diketahui:

Saya mempunyai kode getView seperti berikut ini:

com.couchbase.lite.View view = db.getView(“app/vLabel”);

view.setMap(new Mapper() {
@Override

public void map(Map<String, Object> document, Emitter emitter) {

if (document.get(“tipe”).equals(“label”)) {

emitter.emit((String)document.get(“nama”), null);

}

}

}, “2”);

Query query = view.createQuery();

Permasalahan:

Ketika aplikasi dijalankan maka akan terjadi error seperti berikut ini:

com.couchbase.lite.CouchbaseLiteException: Error when calling map block of view ‘app/vLabel’, Status: 593 (HTTP 500 Application callback block failed)

……
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.Object.equals(java.lang.Object)’ on a null object reference

Pertanyaan:

Bagaimana cara memperbaikinya …?

Analisa:

View itu memanggil fungsi map pada setiap dokumen dalam database lalu membuat indexnya.

Jadi error diatas terjadi karena saat fungsi map memeriksa sebuah dokumen dan ternyata dokumen tersebut tidak mempunyai property tipe sehingga menghasilkan nilai null.

Hasil Pemeriksaan:

Ternyata ada documen yang tidak mempunyai properties tipe.

Solusi:

Rubah kode dalam metode map-nya menjadi seperti berikut ini:

public void map(Map<String, Object> document, Emitter emitter) {

if (document.get(“tipe”)!=null && document.get(“tipe”).equals(“label”)) {

emitter.emit(document.get(“nama”).toString(), null);

}

}

Keterangan:

  • document.get(“tipe”)!=null, Kode ini berarti jika fungsi map memeriksa sebuah dokumen dan properti tipe itu tidak null

Penutup

Sekian dan terima kasih.

 




Categories: Android, Couchbase

Leave a Reply