DIARI PROGRAMMER #1

Android: Google Maps Di Fragment

Google Maps Di Fragment

Saya baru terpikir buat ini setelah saya tahu bahwa jadi developer Android benar-benar menguji kesabaran. Sebenarnya saya sudah lama menjadi developer, namun entah kenapa saya baru terpikir untuk mengabadikan juang lelah saya di sebuah diari terbuka.

Objektif: Sematkan Peta Android di Activity

Jika kita lihat aplikasi transportasi online, akan selalu ada sebuah peta yang menjadi bagian dari tampilan tersebut. Entah peta itu menampilkan pengemudi yang available, mencari tujuan, dan lain-lain. Intinya, peta tersebut menyatu dengan sekumpulan objek yang lain. Entah itu tombol, teks, rating, atau input-input yang lain.
Berarti, saya harus menyediakan sebuah ruang untuk saya sematkan sebuah peta.

Permasalahan:

Saya tidak akan membahas bagaimana caranya mendapatkan API untuk Google Mapsnya. Itu sudah sangat banyak dijelaskan di Google dan Youtube, dan itu mudah, bahkan sangat mudah. Setiap API memiliki kuota yang jika kita memanggil APInya melebihi kuota, maka API akan diblokir sebelum kita perpanjang. Beruntung, Google mereset kuota API setiap awal bulan. Kuotanya pun besar hingga ribuan, jadi jangan khawatir jika hanya ditujukan untuk belajar.
Masalahnya, meskipun Android Studio sudah memiliki Activity khusus untuk Google Maps (Google Maps Activity), namun Activity tersebut hanya berupa tampilan full, bukan yang saya inginkan.
Hampir setiap tutorial yang membahas tentang penyematan Google Maps pasti selalu menggunakan Google Maps Activity, yang mana bukan itu tujuan saya. Yang pada akhirnya, saya memutuskan untuk membuat fragmen peta.

BUTEK #1 : Error inflating class fragment

Apa sih fragment? Gampangnya, itu sebenarnya sekumpulan kode/objek yang dapat digunakan berulang-ulang dalam Activity yang berbeda-beda. Contoh, jika kita ingin menampilkan sebuah popup yang keluarnya itu-itu lagi, maka daripada harus berlelah-lelah mengkoding ulang popup tersebut di setiap Activity, cukup buat sebuah tampilan popup di fragment, dan kita dapat memanggil menggunakan fragment tersebut di Activity lain.
Mirip sebuah fungsi sih ya, hanya ini memanggil fungsi tampilan saja.
Akhirnya dapat pula tutorial yang membahas bagaimana implementasi Google Maps pada Fragment pada video berikut. Inti dari video:

  1. Buat Google Maps Activity
  2. Google Maps Activity berfungsi untuk menaruh template maps beserta inputan key APInya, daripada koding capek-capek lagi.
  3. Kemudian buat fragment baru yang bebas ingin diberi nama apapun.
  4. Kopas layout XMLnya Google Maps Activity kesana dan jadikan fragmentnya sebuah FrameLayout.
  5. Setelah itu hanya koding tambahan yang tidak terlalu penting untuk meyakinkan bahwa Fragmentnya selalu terdeklarasi.

Setelah itu semua selesai, saya membuat Activity baru (nama bebas) untuk mendrag&drop fragmentnya ke layout editor.

Error inflating class fragment

Setelah itu tinggal dijalankan, dan…

What?! Ada error โ€œError inflating class fragmentโ€ di Logcat!

Aduh paling males kalo ngeliat error gak jelas begono.

Butek daku dibuatnya, semua solusi dari stackoverflow sudah dibaca semuanya, tapi tidak ada yang membantu. Akhirnya saya pelan-pelan baca errornya di logcat, bahwa tertulis must implement OnFragmentInteractionListener.

The hell is that?! Setelah saya baca kembali, ternyata Aktivitas yang saya buat barusan harus mengimplementasi OnFragmentInteractionListener karena pada fungsi onAttachnya si Fragment, harus menyertakan itu.

Error inflating class fragment

Ya sudah, akhirnya saya tambahkan implements di kelas Activity yang ada Fragmentnya.

Error inflating class fragment

Nanti Android Studio menampilkan garis bawah merah khas MS. Word karena ada error. Nah kalian tinggal cari bola lampu merah di samping kiri kodenya dan klik itu, lalu klik yang paling atas hingga tercipta fungsi override berikut (kalian bisa ketik sendiri):

Google Maps Di Fragment

Setelah itu saya jalankan dan… alhamdulillah, petanya tampil di aplikasi, bersama dengan yang objek-objek yang lain.

Butek #2 : Interaksi Ke Fragment

Bagaimana kemudian saya memanggil fungsi fragment dari Activity? Ternyata cukup mudah hehe… Cukup buat public function di fragment,

Google Maps Di Fragment

Saya beri nama mapUpdate untuk fungsinya. Namun sebenarnya bebas. Boleh hanya fungsi perkalian untuk ditampilkan di logcat jika untuk tes semata, atau apapun. Ini saya juga hanya mencoba-coba untuk interaksinya saja via sebuah tombol yang saya tambahkan di Activity yang memuat fragmentnya.
Setelah itu, tombol tersebut saya beri perintah jika diklik.

Google Maps Di Fragment

Cukup dua baris yang berisikan:

  • Final variable yang bertipekan nama kelas fragment. Kenapa harus final, karena Android Studio maunya begitu hehe…, mungkin agar konsisten bahwa yang menjadi acuan nilai variabelnya sebelum dikirimkan ke perintah kliknya adalah yang itu.
  • Kemudian panggil fungsi fragmentnya.

Saya jalankan dan… voila. Fungsinya bekerja. Setiap saya klik tombolnya, petanya membuat marker sendiri di lokasi latitude dan longitude yang telah ditentukan.

Suka
Komentar
pos ke FB
pos ke Twitter
๐Ÿค— Selesai! ๐Ÿค—

Nilai

Polling

Sugesti

Permainan


  • Sebelumnya
    Mencapai Kapok: Curug Cikaso & Curug Puncak Manik

    Berikutnya
    Horor Pendek 19 : Bubble Wrap


  • 0 Jejak Manis yang Ditinggalkan

    Minta Komentarnya Dong...

    Silakan tulis komentar kalian di sini, yang ada bintangnya wajib diisi ya...
    Dan jangan khawatir, email kalian tetap dirahasiakan. ๐Ÿ˜‰

    Kembali
    Ke Atas

    Terima kasih telah membaca artikel Anandastoon!

    Apakah artikelnya mudah dimengerti?

    Mohon berikan bintang:

    Judul Rate

    Desk Rate

    Terima kasih telah membaca artikel Anandastoon!

    Dan terima kasih juga sudah berkontribusi menilai kemudahan bacaan Anandastoon!

    Ada saran lainnya untuk Anandastoon? Atau ingin request artikel juga boleh.

    Selamat datang di Polling Anandastoon.

    Kalian dapat iseng memberi polling seperti di Twitter, Facebook, atau Story Instagram. Pollingnya disediakan oleh Anandastoon.

    Kalian juga dapat melihat dan menikmati hasil polling-polling yang lain. ๐Ÿ˜Š


    Memuat Galeri Poll...

    Sebentar ya, Anandastoon muat seluruh galeri pollnya dulu.
    Pastikan internetmu tetap terhubung. ๐Ÿ˜‰

    Asik poll ditemukan!

    Silakan klik salah satu poll yang kamu suka untuk mulai polling!

    Galeri poll akan terus Anandastoon tambahkan secara berkala. ๐Ÿ˜‰

    Judul Poll Galeri

    Memuat poll...

    Sebentar ya, Anandastoon memuat poll yang kamu pilih.
    Pastikan internetmu tetap terhubung. ๐Ÿ˜‰

    Masih memuat ~

    Sebelum memulai poll,

    Anandastoon ingin memastikan bahwa kamu bukan robot.
    Mohon agar menjawab pertanyaan keamanan berikut dengan sepenuh hati.
    Poll yang 'janggal' berpotensi dihapus oleh Anandastoon.
    Sebab poll yang kamu isi mungkin akan bermanfaat bagi banyak orang. ๐Ÿค—

    Apakah nama hari sebelum hari Kamis?

    Mohon jawab pertanyaan keamanan ini. Jika jawaban benar, kamu langsung menuju pollnya.

    Senin
    Rabu
    Jumat
    Sabtu

    Atau, sedang tidak ingin mengisi poll?

     

    Wah, poll telah selesai. ๐Ÿค—

    Sebentar ya... poll kamu sedang di-submit.
    Pastikan internetmu terhubung agar dapat melihat hasilnya.

    Hasil poll ๐Ÿ‘‡

    Menunggu ~

    Ups, sepertinya fitur ini masih dikembangkan Anandastoon

    Di sini nantinya Anandastoon akan menebak rekomendasi artikel yang kamu inginkan ~

    Heihei maihei para pembaca...

    Selesai membaca artikel Anandastoon? Mari, saya coba sarankan artikel lainnya. ๐Ÿ”ฎ

     

    Ups, sepertinya fitur ini masih dikembangkan Anandastoon

    Di sini nantinya kamu bisa main game langsung di artikelnya.

    Permainan di Artikel

    Bermain dengan artikel yang baru saja kamu baca? ๐Ÿ˜ฑ Kek gimana tuh?
    Simpel kok, cuma cari kata dalam waktu yang ditentukan.

    Mempersiapkan game...

    Aturan Permainan

    1. Kamu akan diberikan sebuah kata.

    2. Kamu wajib mencari kata tersebut dalam artikel.

    3. Kata yang ditemukan harap diblok atau dipilih.
    Bisa dengan klik dua kali di laptop, atau di-tap dan tahan sampai kata terblok.

    4. Terus begitu sampai kuota habis. Biasanya jumlahnya 10 kuota.

    5. Kamu akan berhadapan dengan waktu yang terus berjalan.

    6. DILARANG Inspect Element, CTRL + F, atau find and replace. Juga DILARANG berpindah tab/windows.