- まず、Retrofitをプロジェクトに追加します。Gradleの依存関係に以下の行を追加します。
implementation 'com.squareup.retrofit2:retrofit:2.x.x'
- フォームエンコードを行うためのデータクラスを作成します。例えば、以下のようなクラスを作成します。
data class FormData(
@Field("username") val username: String,
@Field("password") val password: String
)
- Retrofitのインスタンスを作成します。以下のようなコードを使用します。
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com")
.addConverterFactory(FormUrlEncodedConverterFactory.create())
.build()
- APIインターフェースを作成します。以下のようなメソッドを持つインターフェースを作成します。
interface ApiService {
@FormUrlEncoded
@POST("login")
fun login(@Field("username") username: String, @Field("password") password: String): Call<ResponseBody>
}
- フォームエンコードを行うリクエストを送信します。以下のようにリクエストを作成し、実行します。
val apiService = retrofit.create(ApiService::class.java)
val call = apiService.login("myUsername", "myPassword")
call.enqueue(object : Callback<ResponseBody> {
override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {
// リクエストが成功した場合の処理
}
override fun onFailure(call: Call<ResponseBody>, t: Throwable) {
// リクエストが失敗した場合の処理
}
})
これで、Retrofitを使用してフォームエンコードを行う方法がわかりました。上記の手順に従ってコードを実装してみてください。