Tutorial Kotlin Cara Membuat Register Menggunakan MySQL
![]() | |
tutorial membuat register menggunakan mysql |
Codingtive.com - Pada tutorial kali ini kita akan belajar tentang cara membuat register menggunakan retrofit dengan database mysql. form register merupakan salah satu hal penting pada suatu aplikasi , karena dengan adanya register ini user dapat menyimpan informasi user itu sendiri.
Sebelum membuat project android , kita harus mempersiapkan beberapa tools yang akan digunakan :
1. Server lokal : menggunakan Xampp, server lokal ini digunakan agar kita dapat membuat database & webservirce secara lokal.
link download xampp https://www.apachefriends.org/download.html
2. Webservice : menggunakan Codeigniter, nah untuk backend nya sendiri menggunakan CI, karena query nya lebih simple dari pada php native. untuk webservice sendiri sudah disiapkan, oleh karena itu anda harus download kemudian pindahkan ke htdocs, serta didalam dokumen tersebut ada databasenya, silahkan import database tersebut beri nama db_codingtive.
download webservice
3. Text Editor : Visual Studio Code , untuk text editor bebas.
Pada project kali ini kita akan menerapkan tentang pattern MVP (Model, View, Presenter), oke selanjutnya ikuti langkah-langkah nya :
1. Membuat Project dan Memulai Latihan
Buat project baru di Android Studio
beri nama Register App , tunggu sampai sinkronasi selesaiImport Library
buka build.gradle (module:app), sesuaikan seperti dibawah ini :dependencies{ implementation 'androidx.cardview:cardview:1.0.0' implementation 'com.google.android.material:material:1.0.0' implementation 'com.squareup.retrofit2:retrofit:2.6.1' implementation 'com.squareup.retrofit2:converter-gson:2.6.1' implementation("com.squareup.okhttp3:logging-interceptor:4.2.0") implementation "org.jetbrains.anko:anko:0.10.8" implementation "org.jetbrains.anko:anko-commons:0.10.8" }
Buat Activity Baru dan Beberapa Package
buat package baru beri nama register, kemudian didalam tersebut buat activity baru beri nama RegisterActivity , kurang lebih seperti ini :
struktur kode register app |
1. Membuat Model
buat package baru data didalamnya buat kelas baru beri nama ResultRegister,sesuaikan kode berikut:
data class ResultRegister( val message : String ? = null, val status : Int ? = null )
2. Membuat Presenter
presenter ini berisi semua logic aplikasi, buat package baru beri nama presenter , buat kelas baru nama RegisterPresenterclass RegisterPresenter(val registerView: RegisterView) { fun register(nama : String, email : String, hp : String, password : String) { NetworkConfig.serviceUser() .register(nama, email, hp, password) .enqueue(object : Callback{ override fun onFailure(call: Call , t: Throwable) { registerView.onErrorResgister(t.localizedMessage) } override fun onResponse( call: Call , response: Response ) { if(response.body()?.status == 200){ registerView.onSuccessRegister(response?.message()) }else{ registerView.onErrorResgister(response?.message()) } } }) } }
kemudian buat interface baru RegisterView
interface RegisterView { fun onSuccessRegister(msg : String?) fun onErrorResgister(msg : String?) }kemudian pada RegisterActivity sesuaikan kode seperti ini :
class RegisterActivity : AppCompatActivity(), RegisterView { override fun onSuccessRegister(msg: String?) { alert { title = "Pesan" message = msg ?: "" }.show() } override fun onErrorRegister(msg: String?) { alert { title = "Gagal" message = msg ?:"" }.show() } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_register) val presenter = RegisterPresenter(this) btnRegister.onClick { val nama = edtName.text.toString() val email = edtEmail.text.toString() val hp = edtHp.text.toString() val password = edtPassword.text.toString() presenter.register(nama, email, hp, password) } } }selanjutnya kita buat package baru diluar register, beri nama network , kurang lebih seperti ini jadinya :
![]() | ||||
package network |
buat object baru beri nama NetworkConfig :
object NetworkConfig { //untuk logging fun getInterceptor(): OkHttpClient { val interceptor = HttpLoggingInterceptor() interceptor.level = HttpLoggingInterceptor.Level.BODY return OkHttpClient().newBuilder() .addInterceptor(interceptor) .build() } fun getRetrofit(): Retrofit { return Retrofit.Builder() .baseUrl("http://192.168.10.193/server_codingtive/index.php/Api/") .client(getInterceptor()) .addConverterFactory(GsonConverterFactory.create()) .build() } fun service() = getRetrofit().create(RegisterService::class.java) }setelah itu buat interface didalam package network RegisterService :
interface RegisterService { @FormUrlEncoded @POST("registerUser") fun register( @Field("nama") nama : String, @Field("email") email : String, @Field("hp") hp : String, @Field("password") password : String ) : Call<ResultRegister> }Langkah terakhir buka AndroidManifest.xml tambahkan permission internet :
<uses-permission android:name="android.permission.INTERNET"/>pindahkan intent filter dari activity main ke register activity di manifest, tujuan nya yaitu ketika aplikasi di jalan kan activity yang pertama kali muncul adalah Register Activity
<activity android:name=".register.RegisterActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>Setelah itu kita coba run aplikasinya :
Belum ada Komentar untuk "Tutorial Kotlin Cara Membuat Register Menggunakan MySQL"
Posting Komentar