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 selesai

Import 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 RegisterPresenter 
class 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 :

Github

untuk project Register menggunakan MySQL bisa didownload :

Berlangganan update artikel terbaru via email:

Belum ada Komentar untuk "Tutorial Kotlin Cara Membuat Register Menggunakan MySQL"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel