小编Zim*_*Zim的帖子

使用 Retrofit 调用 Kotlin API

我对 Kotlin、Android 和 OOP 都很陌生(自然-ADABAS 背景,从未接触过 Java、C++ 等),所以我非常绝望。

我有一个 API,其数据如下所示,是一组书籍详细信息:

API数据样本

在此输入图像描述

我对数据模型感到困惑。我知道它应该看起来像 API 中的数据并返回一个数组,但是我到底如何在 Kotlin 中对其进行编码呢?然后我该如何解析它?我读过一些教程,但它们都有所不同。有些使用对象,有些使用类。

我也可能通过将所有内容都放在主要活动中来打破一些标准,但我还没有到达那部分。

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import retrofit2.Call
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
import retrofit2.http.GET
import retrofit2.http.Query

class MainActivity : AppCompatActivity()

 {

private val api: RestAPI = RestAPI()

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)


    val apiGetBooks = api.getBooksList("token123123123")
    val response = apiGetBooks.execute()


    if (response.isSuccessful) {
        val books = response.body()?.title
        println(books)

    } else {
        println("error on API") // What do I do?
    }

}

object  Model …
Run Code Online (Sandbox Code Playgroud)

api android kotlin retrofit2

5
推荐指数
1
解决办法
1万
查看次数

如何离线运行expo --dev-client?

我通常使用以下命令运行我的应用程序,同时通过 USB 调试连接我的物理设备。

npx 博览会运行:android

但现在,我需要在仍然使用 Metro 捆绑程序的同时测试离线功能。我见过的大多数建议都被使用expo start --offline,但我不使用 Expo Go,因为我有本机库。我尝试过expo start --dev-client --offline,它成功构建了该应用程序,但当我在设备上切换到飞行模式时,它与 Metro 捆绑程序失去了连接。这尤其困难,因为我需要在离线模式下启动应用程序,但我无法这样做,因为它需要连接到开发服务器。

我能看到的唯一解决方法实际上是构建一个 apk,在离线模式下安装并打开它,但随后我无法调试,因为没有地铁。使用 EAS 进行构建需要很长时间。

有什么建议么?

android offline react-native expo

5
推荐指数
0
解决办法
428
查看次数

Jetpack Compose 中的动态图标值选择器

有没有办法在 Jetpack Compose 中动态设置图标值?

示例,而不是:

Icon(Icons.Filled.Print, "print")
Run Code Online (Sandbox Code Playgroud)

我想做:

Icon(Icons.Filled.(iconValue), iconValueName)
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose

1
推荐指数
1
解决办法
1297
查看次数

将 Parcelable 对象传递给片段类型不匹配

我是 kotlin 的新手,并试图将一个对象从我的适配器传递给一个片段。但是我在booklist. 它说Required: Parceleable Found: List<ResourcesList>?

我也试过使用putParcelableArrayListandputParcelableArraySerializable但也有相同的类型不匹配。

我的数据模型如下所示:

@Parcelize
class ResourcesList (val id: Int,
                     val name: String,
                     val content: Contents,
                     val tags: List<Tags>) : Parcelable

@Parcelize
class Contents       (val id: Int,
                     val producers: List<Producers>,
                     val categories: List<Categories>,
                     val isAvailable: Boolean): Parcelable
@Parcelize
class Producers     (val name: String,
                     val role: String): Parcelable
@Parcelize
class Categories    (val id: Int,
                     val name: String): Parcelable
Run Code Online (Sandbox Code Playgroud)

分段

class SeeAllFragment: Fragment() {

    override fun onCreateView(inflater: LayoutInflater, …
Run Code Online (Sandbox Code Playgroud)

android parcelable android-fragments kotlin

0
推荐指数
1
解决办法
2477
查看次数