android

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

604 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。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

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

ツイッター

@darkimpact0626