android

androidアプリ作成時のメモです。

808 views

設定

retrofitを使う場合は次の設定をbuild.gradle(:app)に記述する。

* build.gradle(:app)*

    def retrofit_version = "2.7.1"
    implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
    implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
    implementation "com.google.code.gson:gson:2.8.6"
    implementation 'com.burgstaller:okhttp-digest:2.5'

サンプルコード

package com.konishisoft.twi

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.http.GET
import retrofit2.http.Path

class User(var name: String?, var mail:String?, var tel:String?, var noData:String?) {
    fun to_s():String = "${name} [{$mail}, ${tel}]"
}

interface RetrofitApi{
    @GET("mydata.json")
    fun getUsers(): Call<MutableList<User>>?

    @GET("/mydata/{id}.json")
    fun getUser(@Path("id") id:Int): Call<User>?

}


class MyViewModel(): ViewModel(){

    val retrofit = Retrofit.Builder()
        .baseUrl("https://tuyano-dummy-data.firebaseio.com")
        .addConverterFactory(GsonConverterFactory.create())
        .build()

    val api: RetrofitApi = retrofit.create<RetrofitApi>(RetrofitApi::class.java)

    fun getUsersByRetrofit() {
        val call = api.getUsers() as Call<MutableList<User>>
        call.enqueue(object : Callback<MutableList<User>> {
            override fun onResponse(
                call: Call<MutableList<User>>,
                response: Response<MutableList<User>>
            ) {
                Log.d("konishi", response.toString())
            }

            override fun onFailure(call: Call<MutableList<User>>, t: Throwable) {
                Log.d("konishi", t.message.toString())
            }
        })
    }
}

class TestActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)

        val viewModel = MyViewModel()
        viewModel.getUsersByRetrofit()
    }
}

Page 17 of 19.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626