Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK

Membuat Aplikasi Pencatatan untuk Android Dengan MongoDB Stitch

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Dian Sapta Priambogo (you can also view the original English article)

Jika Anda mencari platform tanpa server yang aman yang kaya fitur dan hemat biaya, Anda mungkin ingin mencoba MongoDB Stitch. Selain menawarkan fitur-fitur sisi server yang berguna seperti fungsi, layanan webhooks, dan otentikasi pengguna, ini juga terintegrasi dengan MongoDB Atlas, solusi penyimpanan data berbasis cloud yang kuat dan matang.

Dalam tutorial ini, saya akan menunjukkan cara menggunakan MongoDB Stitch dan cluster MongoDB Atlas untuk membuat aplikasi pencatatan untuk Android dari awal. Saya juga akan memandu Anda bagaimana mengintegrasikan Google Sign-In, penyedia otentikasi yang didukung oleh Stitch, ke dalam aplikasi.

Prasyarat

Untuk memaksimalkan tutorial ini, Anda membutuhkan:

Jika Anda belum melakukannya, saya juga menyarankan Anda mmengecek tutorial sebelumnya tentang cara menggunakan Stitch di aplikasi Android Anda terlebih dahulu.


1. Membuat Aplikasi Stitch

Anda membutuhkan aplikasi Stitch untuk dapat menggunakan layanan yang ditawarkan oleh platform Stitch di proyek Android Anda. Jadi masuk ke akun MongoDB Atlas Anda dan navigasikan ke bagian Stitch Apps.

Stitch home page

Tekan tombol Create New Application. Dalam dialog yang muncul, berikan nama yang bermakna untuk aplikasi tersebut, pilih salah satu cluster MongoDB Atlas Anda dari daftar dropdown, dan tekan tombol Create.

Stitch app creation dialog

Jika saat ini Anda tidak memiliki cluster, Anda dapat mempelajari cara membuat dan mengonfigurasinya di sini:

Setelah aplikasi siap, buka bagian Clients dan beralih ke tab Java (Android) untuk menentukan apa ID aplikasi-nya. Anda akan memerlukan ID nanti di tutorial ini.

2. Mengatur Otentikasi

Anda akan menggunakan Google sebagai penyedia otentikasi untuk aplikasi yang akan Anda buat hari ini. Dengan kata lain, Anda akan mengizinkan pengguna akhir untuk masuk ke aplikasi menggunakan akun Google mereka.

Dari konsol admin Stitch, mengatur penyedia otentikasi apa pun hanya membutuhkan waktu sebentar. Sebelum Anda bisa melakukannya, Anda harus mendapatkan beberapa detail penting dari penyedia otentikasi. Untuk mendapatkan detail dari Google, buka tab baru di browser Anda, masuk ke akun Google Anda, dan buka Dashboard API Google Cloud Platform.

Tekan tombol Create Project untuk membuat proyek Google Cloud baru. Setelah Anda memberi nama untuk proyek tersebut, tekan tombol Create.

Google project creation form

Setelah proyek siap, buka bagian Credentials dan buka tab OAuth consent screen. Di sini, untuk saat ini, Anda hanya dapat mengisi bidang Application name dan menekan tombol Save.

OAuth consent screen

Lalu, tekan tombol Create credentials, pilih opsi OAuth client ID, dan pilih Android sebagai jenis aplikasi.

Anda sekarang akan diminta untuk memasukkan nama paket yang ingin Anda gunakan untuk aplikasi Android dan sidik jari SHA-1. Untuk tutorial ini, saya sarankan Anda menggunakan sidik jari sertifikat debug Anda. Untuk mendapatkannya, buka terminal dan jalankan perintah berikut:

Setelah Anda menyalin sidik jari dan menempelkannya ke dalam formulir, tekan tombol Create.

OAuth client ID creation form

Pada tahap ini, aplikasi Android Anda akan dapat menggunakan Google Sign-In. Namun, Anda harus mengizinkan aplikasi Stitch Anda untuk menggunakannya juga. Karenanya, tekan kembali tombol Create credentials. Kali ini, pilih Web application sebagai jenis aplikasi.

Saat diminta untuk memasukkan URI pengalihan resmi, gunakan URL panggilan balik Stitch: https://stitch.mongodb.com/api/client/v2.0/auth/callback

Saat menekan tombol Create button now, Anda akan melihat pop-up yang berisi dua string: ID klien dan rahasia klien. Catat keduanya dan kembali ke konsol admin Stitch.

Popup showing client ID and client secret

Di bagian Users konsol, beralih ke tab Providers dan pilih Google. Setelah Anda mengaktifkannya, ketikkan ID klien dan rahasia klien, dan tekan tombol Save.

Provider configuration screen of Stitch admin console

3. Menambahkan Aturan

Pengguna aplikasi Anda tidak boleh dapat melihat catatan satu sama lain. Mereka hanya boleh diizinkan melihat catatan yang mereka buat sendiri. Untuk menegakkan aturan ini, buka bagian Rules dan tekan tombol Add Collection.

Anda sekarang dapat memberikan nama ke database MongoDB Anda dan menentukan nama koleksi tempat Anda menyimpan semua catatan. Biarkan nama database menjadi notes_db dan bahwa koleksi menjadi notes.

Rule creation form

Selanjutnya, pilih template aturan Users can only read and write their own data, yang cocok dengan persyaratan aplikasi Anda, dan menyatakan bahwa nama bidang tempat Anda menyimpan ID autentikasi pengguna adalah user_id.

Rule template configuration form

Terakhir, tekan tombol Add Collection.

Jika Anda ingin melihat lebih dekat pada aturan yang baru saja Anda buat, silakan tekan tombol Advanced Mode, yang menunjukkan kepada Anda JSON yang setara dengan aturan tersebut.

4. Melakukan KonfigurasiProyek Android

Sekarang setelah aplikasi Stitch siap, Anda dapat mulai membangun aplikasi Android Anda. Jadi buat proyek Android Studio baru dengan activity kosong, pastikan nama paketnya cocok dengan yang Anda ketikkan sebelumnya.

Agar dapat menggunakan Stitch SDK dalam proyek, tambahkan dependensi implementation berikut dalam file aplikasi bertingkat build.gradle:

Untuk mendukung Google Sign-In, tambahkan juga dependensi untuk layanan Google Play.

Anda akan membutuhkan beberapa widget Material Design, seperti kartu dan tombol aksi mengambang, di aplikasi. Jadi tambahkan dependensi berikut juga:

Terakhir, tambahkan ID aplikasi Stitch Anda dan ID klien yang Anda sebutkan di konsol admin Stitch sebagai item dalam file strings.xml.

5. Membuat Tata Letak

Pengguna hanya dapat menggunakan aplikasi pencatatan jika sudah masuk. Oleh karena itu, segera setelah aplikasi dibuka, Anda harus menunjukkan kepada mereka tombol masuk. Cara tercepat untuk melakukannya adalah dengan menggunakan widget SignInButton di layout main activity:

Setelah berhasil masuk, Anda akan mengarahkan pengguna ke activity lain yang berisi widget ListView, yang akan menampilkan catatan pengguna, dan widget FloatingActionButton, yang dapat ditekan pengguna untuk membuat catatan baru. Jadi buat activity kosong lain dan tambahkan kode berikut ke file XML layout-nya:

Setiap item widget ListView akan menjadi catatan. Untuk mempermudah, misalkan tata letak catatan hanya memiliki widget CardView yang berisi widget TextView. Jadi buat layout XML file baru bernama layout_note.xml dan tambahkan kode berikut:

6. Menerapkan Google Sign-In

Saat pengguna menekan tombol masuk, Anda harus memulai alur kerja masuk Google. Jadi, di dalam activity pertama, tambahkan event handler on-klik ke tombol.

Di dalam handler, Anda dapat melanjutkan dan membuat objek GoogleSignInOptions yang dikonfigurasi untuk menggunakan opsi masuk standar. Karena aplikasi Stitch Anda, yang dapat dianggap sebagai server back-end Anda, juga harus menjadi bagian dari proses masuk, pastikan Anda memanggil method requestServerAuthCode() dan meneruskan ID klien Anda ke sana. Kode berikut menunjukkan caranya:

Anda sekarang dapat membuat klien GoogleSignIndengan memanggil method getClient() dan meneruskan objek GoogleSignInOptions kepadanya sebagai argumen. Menggunakan klien, Anda bisa dengan mudah memulai alur kerja masuk dengan mendapatkan intent sign-in dari itu dan meneruskannya ke method activity startActivityForResult(). Begini caranya:

Untuk menerima hasil dari activity yang baru saja Anda lepaskan, Anda harus mengganti method onActivityResult(). Di dalamnya, Anda akan memiliki akses ke objek Intent baru, yang dapat Anda sampaikan ke method getSignedInAccountFromIntent() untuk mengidentifikasi pengguna Anda.

Jika pengguna gagal atau menolak untuk masuk, Anda akan memiliki pengecualian sekarang. Tangani dengan menampilkan pesan Toast informatif dan menutup aplikasinya.

Namun, jika berhasil masuk, Anda akan memiliki akses ke kode otentikasi server yang dapat Anda gunakan untuk membuat objek GoogleCredential. Dengan melewati objek dengan method loginWithCredential() default Stitch klien proyek Anda, Anda dapat mendaftar dan memasukkan pengguna ke aplikasi Anda.

Setelah method selesai dengan sukses, aplikasi harus beralih ke activity kedua, yang memiliki elemen antarmuka pengguna untuk menampilkan catatan dan menambahkan catatan baru. Kode berikut menunjukkan kepada Anda bagaimana melakukannya dengan ringkas:

Jika Anda membangun dan menjalankan aplikasinya sekarang, Anda harus dapat menggunakan salah satu akun Google Anda untuk masuk.

App showing sign in screens

7. Menambahkan Catatan

Dalam activity kedua, Anda akan membutuhkan klien Stitch dan klien MongoDB Atlas. Anda akan membutuhkan yang pertama untuk mendapatkan ID otentikasi pengguna, dan yang kedua untuk melakukan operasi baca dan tulis pada cluster MongoDB Atlas Anda. Jadi, tambahkan keduanya sebagai bidang pribadi dari activity.

Saat pengguna menekan tombol floating action, Anda harus menampilkan dialog yang meminta mereka untuk mengetikkan catatan mereka. Dengan perpustakaan Material Dialogs, yang Anda tambahkan sebagai dependensi sebelumnya, melakukannya sangat intuitif.

Kode berikut ini menunjukkan kepada Anda cara menambahkan on-click listener pada tombol dan membuat dialog input dasar:

Di dalam event handler dialog, Anda akan memiliki akses ke catatan yang diketik pengguna. Untuk menyimpannya di cluster MongoDB Atlas Anda, Anda harus memasukkannya ke dalam dokumen MongoDB baru. Selain itu, untuk memastikan bahwa catatan hanya dapat dilihat oleh pengguna yang membuatnya, dokumen harus menyertakan bidang user_id yang nilainya cocok dengan ID otentikasi pengguna. Kode berikut, yang masuk ke dalam event handler, menunjukkan kepada Anda cara membuat dokumen:

Sekarang setelah dokumen siap, Anda harus memasukkannya ke dalam koleksi notes, yang termasuk dalam basis data notes_db. Inilah cara Anda bisa mendapatkan referensi ke database dan koleksi, dan menggunakan method insertOne() untuk memasukkan dokumen:

Jika Anda menjalankan aplikasinya sekarang, Anda harusnya dapat membuat catatan baru dan menyimpannya.

App showing input dialog

8. Menampilkan Catatan

Agar dapat menampilkan catatan yang telah dibuat pengguna, Anda harus terlebih dahulu mengambil semua dokumen dalam koleksi notes yang menjadi milik pengguna. Anda tidak harus menulis kueri yang rumit untuk melakukannya. Karena aturan yang Anda buat sebelumnya, Stitch secara otomatis memastikan bahwa setiap kueri yang Anda jalankan pada koleksi hanya akan mengembalikan dokumen yang dimiliki pengguna.

Membuat method baru untuk menampilkan catatan.

Di dalam method ini, Anda dapat langsung memanggil method find() pada koleksi notes untuk membuat query yang dapat mengambil catatan pengguna. Untuk menjalankan kueri secara sinkron, Anda harus memanggil method into() dan meneruskan daftar kosong ke sana. Hasil kueri akan tersedia dalam daftar setelah selesai dengan sukses.

Di dalam on-success listener, Anda sekarang harus membuat turunan dari kelas ArrayAdapter untuk membuat daftar catatan. Namun, Anda tidak bisa meneruskan daftar objek Document langsung ke konstruktor kelas. Anda harus terlebih dahulu mengubahnya menjadi daftar objek String. Kode berikut menunjukkan kepada Anda cara melakukannya menggunakan method map():

Setelah adaptor siap, Anda dapat membuatnya bekerja dengan menetapkannya ke properti adapter widget ListView.

Method showNotes() sekarang siap. Tambahkan panggilan ke dalamnya di dalam method onCreate()sehingga pengguna dapat melihat catatan mereka segera setelah activity dibuka. Selain itu, jika Anda ingin daftar untuk menampilkan catatan baru segera setelah dibuat, saya sarankan Anda juga menambahkan panggilan ke dalam on-success listener yang Anda lampirkan pada method insertOne().

Dengan perubahan di atas, jika Anda menjalankan aplikasi lagi, Anda dapat menambahkan catatan baru dan melihat yang sudah ada.

App displaying notes

Kesimpulan

Dalam tutorial ini, Anda melihat betapa mudahnya membuat aplikasi mobile sederhana yang didukung oleh MongoDB Stitch. Anda juga belajar cara menjaga data pengguna akhir Anda tetap aman dan pribadi menggunakan Google sebagai penyedia otentikasi dan aturan akses deklaratif Stitch.

Untuk mempelajari lebih lanjut tentang MongoDB Stitch, silakan merujuk ke dokumentasi resminya.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.