iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
自我挑戰組

30 天開發 Android App 的流水帳系列 第 7

Day 7:藉由 Retrofit 嫁接星戰 API(1/2)

Retrofit 在 Android App 開發網路層中已經成為主流的選擇之一。從 Google 就可以搜尋到很多的教學,所以今天不會花篇幅來說明 Retrofit 網路層要怎麼建置,對 Retrofit 本身想要深入了解的朋友,可以參考下面的連結們:

Retofit 官方

教學

今天的目標就是 App 用 Retrofit 可以拿到星戰人物資料表,所以在 MainActivity 這邊先直接呼叫:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // Call profile list api
        val call = NetworkManager.client.profileList()
        call.enqueue(object : Callback<ProfileList> {
            override fun onResponse(call: Call<ProfileList>, response: Response<ProfileList>) {
                response.body()?.let {
                    it.results.forEach {
                        Log.i("MainActivity", "$it")
                    }
                }
            }

            override fun onFailure(call: Call<ProfileList>, t: Throwable) {

            }
        })
    }
}

從 logcat 的印出結果:
https://ithelp.ithome.com.tw/upload/images/20200919/20130546JVh6MHGPOK.png

那下半部也就是明天要做些什麼呢?

  • 整理 API response 的成功及失敗 callback 方式
  • 使用 Repository 方式將呼叫 API 的方式,整理在這個中間層裡面

上一篇
Day 6:星戰人物 response 分析及單元測試撰寫(3/3)
下一篇
Day 8:藉由 Retrofit 嫁接星戰 API(2/2)
系列文
30 天開發 Android App 的流水帳32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言