Quickstarters
Feature Overview
How to Build a Backend for Android?
46 mnt
pendahuluan dalam tutorial ini, anda akan belajar bagaimana membangun backend lengkap untuk sebuah android (java) aplikasi menggunakan back4app kami akan membahas integrasi fitur fitur penting back4app—seperti manajemen database, cloud code functions, rest dan graphql apis, otentikasi pengguna, dan kueri waktu nyata (live queries)—untuk membuat backend yang aman, skalabel, dan kuat yang berkomunikasi dengan klien android anda secara mulus anda juga akan melihat bagaimana pengaturan cepat dan lingkungan intuitif back4app dapat secara drastis mengurangi waktu dan usaha dibandingkan dengan mengonfigurasi server dan database secara manual sepanjang jalan, anda akan mendapatkan pengalaman langsung dengan fungsionalitas kunci, termasuk fitur keamanan lanjutan, penjadwalan tugas dengan cloud jobs, dan pengaturan webhook untuk integrasi eksternal pada akhir tutorial ini, anda akan siap untuk meningkatkan pengaturan dasar ini menjadi aplikasi siap produksi, atau dengan mudah menggabungkan logika kustom dan api pihak ketiga sesuai kebutuhan prasyarat untuk menyelesaikan tutorial ini, anda akan membutuhkan akun back4app dan proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app jika anda tidak memiliki akun, anda dapat membuat satu secara gratis ikuti panduan di atas untuk menyiapkan proyek anda lingkungan pengembangan android (java) dasar anda dapat mengatur ini menggunakan android studio https //developer android com/studio atau alat serupa pastikan anda memiliki sdk android terbaru yang terinstal java (versi 8 atau lebih tinggi) anda akan memerlukan java untuk mengompilasi dan menjalankan proyek android anda keterampilan dalam java dan konsep dasar android dokumentasi pengembang android https //developer android com/docs jika anda baru di android, tinjau dokumen resmi atau tutorial pemula sebelum memulai pastikan anda memiliki semua prasyarat ini sebelum anda mulai memiliki proyek back4app anda yang disiapkan dan lingkungan android lokal anda siap akan membantu anda mengikuti dengan lebih mudah langkah 1 – menyiapkan proyek back4app buat proyek baru langkah pertama dalam membangun backend android anda di back4app adalah membuat proyek baru jika anda belum membuatnya, ikuti langkah langkah ini masuk ke akun back4app anda klik tombol “aplikasi baru” di dasbor back4app anda beri nama aplikasi anda (misalnya, “android backend tutorial”) setelah proyek dibuat, anda akan melihatnya terdaftar di dasbor back4app anda proyek ini akan menjadi dasar untuk semua konfigurasi backend yang dibahas dalam tutorial ini hubungkan parse sdk back4app bergantung pada platform parse untuk mengelola data anda, menyediakan fitur waktu nyata, menangani otentikasi pengguna, dan lainnya menghubungkan aplikasi android anda ke back4app melibatkan pemasangan parse android sdk dan menginisialisasinya dengan kredensial dari dasbor back4app anda ambil kunci parse anda di dasbor back4app anda, navigasikan ke bagian “pengaturan aplikasi” atau “keamanan & kunci” aplikasi anda untuk menemukan id aplikasi dan kunci klien (atau kunci javascript jika ditunjukkan) anda juga akan menemukan url server parse (sering dalam format https //parseapi back4app com ) instal parse sdk di proyek android anda dengan menambahkan baris ini ke module level build gradle dependencies { implementation "com github parse community parse sdk android\ parse\ latest version here" } jika anda memerlukan repositori jitpack di root build gradle allprojects { repositories { maven { url "https //jitpack io" } } } inisialisasi parse di aplikasi android anda buat kelas application kustom (misalnya, app java ) dan konfigurasikan androidmanifest xml package com example app; import android app application; import com parse parse; public class app extends application { @override public void oncreate() { super oncreate(); parse initialize(new parse configuration builder(this) applicationid("your app id") // from back4app clientkey("your client key") // from back4app server("https //parseapi back4app com/") build() ); } } kemudian, tambahkan kelas application kustom ini di androidmanifest xml \<?xml version="1 0" encoding="utf 8"?> \<manifest > \<application android\ name=" app" > \</application> \</manifest> dengan menyelesaikan langkah ini, anda telah membangun koneksi yang aman antara front end android anda dan backend back4app semua permintaan dan transaksi data dialihkan dengan aman melalui sdk ini, mengurangi kompleksitas panggilan rest atau graphql manual (meskipun anda masih dapat menggunakannya jika diperlukan) langkah 2 – menyiapkan database menyimpan dan mengambil data dengan proyek back4app anda yang sudah disiapkan dan sdk parse terintegrasi ke dalam aplikasi android anda, sekarang anda dapat mulai menyimpan dan mengambil data cara umum untuk membuat dan menyimpan catatan adalah dengan menggunakan parseobject kelas parseobject gamescore = new parseobject("gamescore"); gamescore put("score", 1337); gamescore put("playername", "sean plott"); gamescore put("cheatmode", false); gamescore saveinbackground(e > { if (e == null) { // success! } else { // failed } }); untuk mengquery data parsequery\<parseobject> query = parsequery getquery("gamescore"); query whereequalto("playername", "sean plott"); query findinbackground((objects, e) > { if (e == null) { // objects now contains the results } else { // something went wrong } }); sebagai alternatif, anda dapat menggunakan rest api dari back4app curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"score" 1337, "playername" "sean plott", "cheatmode" false}' \\ https //parseapi back4app com/classes/gamescore back4app juga menyediakan antarmuka graphql mutation { creategamescore(input { fields { score 1337 playername "sean plott" cheatmode false } }) { gamescore { objectid score playername cheatmode } } } mutation { creategamescore(input { fields { score 1337 playername "sean plott" cheatmode false } }) { gamescore { objectid score playername cheatmode } } } opsi yang beragam ini memungkinkan anda mengintegrasikan operasi data dengan cara yang paling sesuai dengan proses pengembangan anda—baik itu melalui parse android sdk, rest, atau graphql desain skema dan tipe data secara default, parse memungkinkan pembuatan skema secara langsung , tetapi anda juga dapat mendefinisikan kelas dan tipe data anda di dasbor back4app untuk kontrol yang lebih baik navigasikan ke bagian “database” di dasbor back4app anda buat kelas baru (misalnya, “gamescore”) dan tambahkan kolom yang relevan back4app juga mendukung berbagai tipe data string , number , boolean , object , date , file , pointer, array, relation , geopoint , dan polygon anda dapat memilih tipe yang sesuai untuk setiap field back4app menawarkan agen ai yang dapat membantu anda merancang model data anda buka agen ai dari dasbor aplikasi anda atau di menu deskripsikan model data anda dalam bahasa sederhana (misalnya, “tolong buat aplikasi todo baru dengan skema kelas yang lengkap ”) biarkan agen ai membuat skema untuk anda data relasional jika anda memiliki data relasional—katakanlah, sebuah kategori objek yang menunjuk ke beberapa gamescore objek—anda dapat menggunakan penunjuk atau relasi di parse misalnya // linking a gamescore to a category with a pointer public void creategamescoreforcategory(string categoryobjectid, int scorevalue) { parseobject gamescore = new parseobject("gamescore"); // construct a pointer to the category parseobject categorypointer = parseobject createwithoutdata("category", categoryobjectid); // set fields gamescore put("score", scorevalue); gamescore put("category", categorypointer); gamescore saveinbackground(e > { if (e == null) { // success } else { // error } }); } ketika anda melakukan kueri, anda dapat menyertakan data penunjuk parsequery\<parseobject> query = parsequery getquery("gamescore"); query include("category"); query findinbackground((scores, e) > { if (e == null) { // scores now has category details } }); kueri langsung untuk pembaruan waktu nyata, back4app menyediakan kueri langsung anda dapat berlangganan perubahan dalam kelas tertentu dari aplikasi android anda aktifkan kueri langsung di dasbor back4app anda di bawah pengaturan server aplikasi anda inisialisasi kueri langsung dalam kode anda di android, anda biasanya mengandalkan perpustakaan parse livequery android https //github com/parse community/parselivequery android untuk berlangganan langkah langkahnya mirip dengan platform lain, tetapi anda akan mengintegrasikan livequeryclient dependencies { implementation "com github parse community\ parselivequery android\ latest version here" } kemudian livequeryclient livequeryclient = new livequeryclient builder("wss\ //your subdomain here b4a io", 443) build(); parsequery\<parseobject> query = parsequery getquery("gamescore"); subscriptionhandling\<parseobject> subscriptionhandling = livequeryclient subscribe(query); subscriptionhandling handleevents((query1, event, gamescore) > { switch (event) { case create // a new gamescore object was created break; case update // existing gamescore updated break; case delete // existing gamescore deleted break; default break; } }); dengan berlangganan, anda menerima notifikasi waktu nyata setiap kali catatan baru dibuat, diperbarui, atau dihapus fitur ini sangat berharga untuk aplikasi kolaboratif atau dinamis di mana banyak pengguna perlu melihat data terbaru tanpa menyegarkan halaman langkah 3 – menerapkan keamanan dengan acl dan clp mekanisme keamanan back4app back4app menganggap keamanan dengan serius dengan menyediakan daftar kontrol akses (acl) dan izin tingkat kelas (clp) fitur fitur ini memungkinkan anda membatasi siapa yang dapat membaca atau menulis data berdasarkan objek atau kelas, memastikan hanya pengguna yang berwenang yang dapat memodifikasi data anda daftar kontrol akses (acl) sebuah acl diterapkan pada objek individu untuk menentukan pengguna, peran, atau publik mana yang dapat melakukan operasi baca/tulis sebagai contoh public void createprivatescore(int scorevalue, parseuser owneruser) { parseobject gamescore = new parseobject("gamescore"); gamescore put("score", scorevalue); parseacl acl = new parseacl(owneruser); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); gamescore setacl(acl); gamescore saveinbackground(e > { if (e == null) { // success } else { // failed } }); } izin tingkat kelas (clp) clp mengatur izin default seluruh kelas, seperti apakah kelas tersebut dapat dibaca atau ditulis secara publik, atau jika hanya peran tertentu yang dapat mengaksesnya pergi ke dasbor back4app anda , pilih aplikasi anda, dan buka database bagian pilih sebuah kelas (misalnya, “gamescore”) buka izin tingkat kelas tab konfigurasikan default anda izin ini menetapkan dasar, sementara acl menyempurnakan izin untuk objek individu model keamanan yang kuat biasanya menggabungkan baik clp (pembatasan luas) dan acl (pembatasan halus per objek) untuk informasi lebih lanjut, kunjungi pedoman keamanan aplikasi https //www back4app com/docs/security/parse security langkah 4 – menulis dan menerapkan fungsi kode cloud mengapa cloud code cloud code adalah fitur dari lingkungan parse server yang memungkinkan anda menjalankan kode javascript kustom di sisi server—tanpa perlu mengelola server atau infrastruktur anda dengan menulis cloud code, anda dapat memperluas backend back4app anda dengan logika bisnis tambahan, validasi, pemicu, dan integrasi yang berjalan dengan aman dan efisien di parse server contoh fungsi fungsi cloud code sederhana yang menghitung panjang string teks yang dikirim dari klien main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); penerapan back4app cli dasbor di dasbor aplikasi anda, pergi ke cloud code > fungsi salin/tempel kode anda ke main js dan klik terapkan memanggil fungsi anda dari android (java) menggunakan parse sdk hashmap\<string, object> params = new hashmap<>(); params put("text", "hello back4app"); parsecloud callfunctioninbackground("calculatetextlength", params, (result, e) > { if (e == null) { // result is a hashmap; get the length map\<?, ?> mapresult = (map\<?, ?>) result; object lengthval = mapresult get("length"); // cast to number, etc } else { // handle error } }); anda juga dapat memanggilnya melalui rest atau graphql fleksibilitas ini memungkinkan anda untuk mengintegrasikan logika kustom anda ke dalam frontend android anda atau klien lain yang mendukung rest atau graphql langkah 5 – mengonfigurasi autentikasi pengguna autentikasi pengguna di back4app back4app memanfaatkan kelas parse user sebagai dasar untuk autentikasi secara default, parse menangani hashing kata sandi, token sesi, dan penyimpanan yang aman ini berarti anda tidak perlu mengatur alur keamanan yang kompleks secara manual mengatur autentikasi pengguna dalam aplikasi android yang menggunakan java, anda dapat membuat pengguna baru parseuser user = new parseuser(); user setusername("myusername"); user setpassword("mypassword"); user setemail("email\@example com"); user signupinbackground(e > { if (e == null) { // sign up success } else { // sign up failed } }); masuk sebagai pengguna yang sudah ada parseuser logininbackground("myusername", "mypassword", (parseuser, e) > { if (e == null) { // logged in successfully } else { // login failed } }); melalui rest, login mungkin terlihat seperti curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login manajemen sesi setelah login berhasil, parse membuat sebuah token sesi yang disimpan pada objek pengguna anda dapat memeriksa pengguna yang saat ini masuk parseuser currentuser = parseuser getcurrentuser(); if (currentuser != null) { // user is logged in } else { // no user is logged in } anda dapat keluar parseuser logout(); integrasi login sosial back4app dan parse dapat terintegrasi dengan penyedia oauth populer seperti google atau facebook sebagai contoh, anda dapat mengatur facebook login dengan mengonfigurasi facebook app id dan menggunakan parse facebookutils khusus untuk android instruksi rinci bervariasi, jadi silakan merujuk ke dokumentasi login sosial https //www back4app com/docs/platform/sign in with apple verifikasi email dan reset kata sandi untuk mengaktifkan verifikasi email dan reset kata sandi navigasikan ke pengaturan email di dasbor back4app anda aktifkan verifikasi email konfigurasikan alamat dari dan template email ini membantu memastikan email pengguna anda valid dan menyediakan metode pemulihan kata sandi yang aman langkah 6 – menangani penyimpanan file mengunggah dan mengambil file parse menyertakan kelas parsefile untuk menangani unggahan file, yang disimpan dengan aman oleh back4app file file = new file("/path/to/image jpg"); byte\[] data = // read file as bytes parsefile parsefile = new parsefile("image jpg", data); parsefile saveinbackground(e > { if (e == null) { // file saved } else { // error } }); lampirkan file ke objek parseobject photo = new parseobject("photo"); photo put("imagefile", parsefile); photo saveinbackground(); ambil url file parsefile imagefile = photo getparsefile("imagefile"); string url = imagefile geturl(); keamanan file parse server menyediakan konfigurasi fleksibel untuk mengelola keamanan unggahan file, termasuk mengontrol apakah pengguna anonim atau terautentikasi dapat mengunggah file pastikan untuk memeriksa dokumen untuk konfigurasi yang lebih lanjut langkah 7 – verifikasi email dan reset kata sandi ikhtisar verifikasi email memastikan pengguna baru memiliki alamat email yang digunakan untuk mendaftar reset kata sandi memungkinkan pengguna memulihkan akun mereka dengan aman konfigurasi dasbor back4app aktifkan verifikasi email di dasbor aplikasi anda, pergi ke pengaturan email aktifkan reset kata sandi konfigurasikan alur email reset kata sandi kode/implementasi memicu reset kata sandi dalam java parseuser requestpasswordresetinbackground("email\@example com", e > { if (e == null) { // email sent } else { // something went wrong } }); langkah 8 – penjadwalan tugas dengan cloud jobs cloud jobs gunakan cloud jobs di back4app untuk menjadwalkan tugas berulang, seperti membersihkan data lama atau mengirim email harian contoh parse cloud job('cleanupoldscores', async (request) => { const gamescore = parse object extend('gamescore'); const query = new parse query(gamescore); // e g , remove scores older than 30 days // }); jadwalkan di dasbor back4app > pengaturan aplikasi > pengaturan server > tugas latar belakang langkah 9 – mengintegrasikan webhook webhook memungkinkan aplikasi back4app anda mengirim permintaan http ke layanan eksternal setiap kali peristiwa tertentu terjadi, misalnya, mengirim data ke layanan pihak ketiga seperti stripe navigasi ke webhook di dasbor back4app anda > lainnya > webhooks tambahkan webhook dengan endpoint eksternal anda konfigurasi pemicu untuk peristiwa yang relevan langkah 10 – menjelajahi panel admin back4app aplikasi admin back4app adalah antarmuka manajemen berbasis web yang dirancang untuk pengguna non teknis ini memungkinkan operasi crud cepat dan manajemen data rutin tanpa menulis kode mengaktifkan aplikasi admin pergi ke dasbor aplikasi > lainnya > aplikasi admin dan klik aktifkan aplikasi admin buat pengguna admin pertama dan subdomain, dan anda akan memiliki ui web untuk administrasi data kesimpulan dengan mengikuti tutorial komprehensif ini, anda telah membuat backend yang aman untuk aplikasi android (java) di back4app mengonfigurasi database dengan skema kelas, tipe data, dan hubungan mengintegrasikan kueri waktu nyata (kueri langsung) untuk pembaruan data segera menerapkan langkah langkah keamanan menggunakan acl dan clp untuk melindungi dan mengelola akses data menerapkan cloud code fungsi untuk menjalankan logika bisnis kustom di sisi server mengatur otentikasi pengguna dengan dukungan untuk verifikasi email dan pengaturan ulang kata sandi mengelola unggahan file dan pengambilan, dengan kontrol keamanan file opsional menjadwalkan pekerjaan cloud untuk tugas latar belakang otomatis menggunakan webhooks untuk mengintegrasikan dengan layanan eksternal menjelajahi panel admin back4app untuk manajemen data dengan frontend android yang solid (java) dan backend back4app yang kuat, anda sekarang siap untuk mengembangkan aplikasi yang kaya fitur, skalabel, dan aman teruslah menjelajahi fungsionalitas yang lebih canggih, integrasikan logika bisnis anda, dan manfaatkan kekuatan back4app untuk menghemat waktu anda dalam administrasi server dan database selamat coding! langkah selanjutnya bangun aplikasi android yang siap produksi dengan memperluas backend ini untuk menangani model data yang lebih kompleks, strategi caching, dan optimasi kinerja integrasikan fitur fitur canggih seperti alur otentikasi khusus, kontrol akses berbasis peran, atau api eksternal (seperti gerbang pembayaran) periksa dokumentasi resmi back4app untuk penjelasan lebih dalam tentang keamanan canggih, penyetelan kinerja, dan analisis log jelajahi tutorial lainnya tentang aplikasi chat real time, dasbor iot, atau layanan berbasis lokasi anda dapat menggabungkan teknik yang dipelajari di sini dengan api pihak ketiga untuk membuat aplikasi kompleks di dunia nyata