retrofit 相关问题

Retrofit是Square,Inc。的Android和Java类型安全的REST客户端。

如何通过url传递sharedpreferences值?

您好,我想在 api 接口 android 中传递共享首选项值(例如:保存在共享首选项中的用户 ID)URL 或者有什么方法可以做到这一点。我是编程新手 @FormUrlEncoded @POST(“用户....

回答 0 投票 0

如何查看响应体值?

嗨,我想检查 json 响应 id 和存储在共享首选项中的用户登录 id 这是我的 json 响应 {"code":1,"message":"成功","结果":[{"id&...

回答 0 投票 0

java.lang.IllegalStateException: cannot make a new request because the previous response is still open: please call response.close()

这是拦截器代码,我不知道在 logCat 上调用 response.close() 的位置,它指出错误出现在“response = chain.proceed(request)”上。我在哪里放置

回答 1 投票 0

向服务器发送代码并获取信息

我是 android 编程的初学者,我正在尝试在 android studio 中构建一个应用程序。 当单击发送按钮时,我想向服务器发送一个像(1234567)这样用编辑文本编写的代码......

回答 0 投票 0

我的 Retrofit call.enque() 方法被完全跳过,不知道为什么

我正在使用 Retrofit 的 enqueue() 方法进行调用。我在我的 MainActivity 的 onCreate() 中调用我的 refreshImages(),refreshImages() 然后调用一个方法 refreshImagesIds() 这应该是一个

回答 3 投票 0

如何使用包含更多json对象的json对象

我是调用 API 的新手。我在 Java 中使用 Retrofit 调用 API。有时我会得到那种类型的对象。 { “错误”:0, "msg": "成功", “数据”: { &

回答 1 投票 0

Kotlin and Retrofit: HTTP FAILED: java.io.IOException: Canceled only in Fragment

我不明白为什么当我从一个片段打电话时它会抛出这个错误。如果我从 MainActivity 进行调用,则代码有效。 这是 ViewModel 中的代码: 有趣的初始同步(同步请求:

回答 1 投票 0

如何在 android java 中通过改造获取用户 ID

我对通过改造在 android 中获取 UserId 感到困惑,当我使用 getUserId() 时,我试图将 UserId 变成一个整数。它显示错误 不兼容的类型。找到:'void',需要:'java.lang.Inte ...

回答 2 投票 0

retrofit2.HttpException:调用新闻 Api 时显示 HTTP 426 错误

我正在以正确的方式调用 api 但仍然给出 http 426 错误这里是完整的错误 致命异常:主进程:com.example.news_api_jetpack_compose,PID:7437 retrofit2.HttpException ...

回答 0 投票 0

使用 baseUrl 从 android 中的变体中获取数据

我的 gradle 文件中有两个变体,每个变体都有不同的 BaseUrl,用于从我使用改造的 api 获取数据,现在我正在使用 BuildConfig 传递基于 var 的 BaseUrl ...

回答 1 投票 0

Jetpack Compose 无法观察 MutableLiveData

查看 viewModel.todoLists.observe(lifecycleOwner){ it?.let { label.value = it.toString() } } 视图模型 val todoLists : MutableLiveData = MutableLiveData() ...

回答 2 投票 0

如何在片段上复制此代码以使其不会崩溃?

我刚刚开始了一个食谱应用程序的个人项目,只是为了学习 API 的基础知识。我在 YouTube 上找到了一个教程,我心想这将是一个很好的起点,直到我掌握了基本知识……

回答 0 投票 0

改造可选和必填字段

使用 Retrofit 时,我知道您可以使用 @FieldMap Map 选项来指定可选查询。 假设我有一个 api 调用,它有 2 个必填字段和 3 个可选字段。 怎么...

回答 5 投票 0

Non-body HTTP 方法不能包含@Body (Android)

我是 android 应用程序的新手,我正在做一个项目,我正在用 get 测试 Retrofit,我有一个错误,它给出了 Non-body HTTP 方法不能包含@Body 的错误。

回答 2 投票 0

我可以添加多少 Retrofit Interceptor 到 retorfit 实例?

我的一个面试问题是, 我可以添加到 Retrofit 实例的拦截器的最大数量是多少? 我想了想,如果我要创建这样一个库,为什么要限制数量...

回答 1 投票 0

Kotlin, Retrofit, ClassCastException, com.google.gson.internal.LinkedTreeMap 无法转换为 List<CatListItem>?

我的界面 接口 ApiService { @GET("网址") 有趣的 getCatList( @Query("var1") var1: 字符串, @Query("var2") var2: 字符串, ): 呼叫 我的界面 interface ApiService { @GET("URL") fun getCatList( @Query("var1") var1: String, @Query("var2") var2: String, ): Call<List<CatListItem>?> } 我的帮手 class ApiClient { companion object { private lateinit var retrofit: Retrofit fun getClient(): Retrofit { val interceptor = HttpLoggingInterceptor() interceptor.level = HttpLoggingInterceptor.Level.BODY val client = OkHttpClient.Builder().addInterceptor(interceptor).build() retrofit = Retrofit.Builder() .baseUrl(ApiConstants.baseUrl) .addConverterFactory(GsonConverterFactory.create()) .client(client) .build() return retrofit } } } 我的应用程序 override fun getCatList(var1: String, var2: String) { val apiInterface: ApiService = ApiClient.getClient().create(ApiService::class.java) val call = apiInterface.getCatList(var1, var2) call.enqueue(object : Callback<List<CatListItem>?> { override fun onResponse( call: Call<List<CatListItem>?>, response: Response<List<CatListItem>?> ) { if (response.isSuccessful) { val answer = CatList(response.body()) return } } override fun onFailure(call: Call<List<CatListItem>?>, t: Throwable) { call.cancel() } }) } 我的数据类 data class CatList( @field:SerializedName("catList") val catList: List<CatListItem?>? = null ) data class CatListItem( @field:SerializedName("name") val name: String? = null, ) 我的 JSON [{"name":"1"},{"name":"2"}] 我的 ProGuard 规则 -keep,allowobfuscation,allowshrinking interface retrofit2.Call -keep,allowobfuscation,allowshrinking class retrofit2.Response -keep,allowobfuscation,allowshrinking class retrofit2.* -keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation -keep class com.google.gson.** { *; } -keep class com.google.gson.reflect.** { *; } -keep class com.google.gson.stream.** { *; } -keep class com.google.gson.internal.** { *; } -keep class * implements java.io.Serializable { *; } -keepclassmembers class * { @com.google.gson.annotations.SerializedName <fields>; } -keepclassmembers enum * { *; } Release 模式下的 Logcat,除 Release 模式外在 Debug 模式下一切正常 java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to q2.a at o2.c.run(Unknown Source:385) at java.util.TimerThread.mainLoop(Timer.java:562) at java.util.TimerThread.run(Timer.java:512) 问题出在APK Release模式下,Debug模式下一切正常 我改变了超时,但没有任何改变。还在界面中测试了一个带有 suspend fun 的 runBlocking,没有任何改变。好像少了什么。我怀疑这是在内部处理列表时发生的? 需要你的帮助来解决这个问题。在此先感谢您的支持。 好的,谢谢你的回答。 我的问题的解决方案是: - 评论我的乐趣 getCatList(var1: String, var2: String)。 -编译发布。 - 然后取消注释我的功能。 - 再次编译。 不知道为什么这是这个问题的解决方案。 但对我有用。 如果有人能告诉我为什么会这样,将帮助我理解这个项目中是否遗漏了什么。 稍后。

回答 1 投票 0

我们有没有可能在 OkHttp 拦截器中停止请求?

在我们的应用程序中,我们遇到了一个特殊情况 - 如果我们的 App.specialFlag == true,我们需要停止来自我们代码的任何请求。我们认为,在这种情况下最好的方法是包含特殊的拦截器

回答 3 投票 0

是否可以使用 flutter 读取二进制文件进行改造?

我有一个二进制文件,我需要为我的 flutter 应用程序使用改造来读取它的内容。 我想知道这是否可能。 如果是的话,有链接吗? 否则,我需要一些

回答 2 投票 0

Android 无法读取转换体的原始响应体

在下面的代码中,我将我的数据同步到服务器,但应用程序不断崩溃并显示此消息异常是:java.lang.IllegalStateException:无法读取转换后的主体的原始响应主体。我是

回答 1 投票 0

如何从适配器获取项目并将其传递给 activity android?

我在有列表类型请求的地方使用改造。 public RequestBody(String msisdn, List routePlanDayRequests) { 这个.msisdn = msisdn; 这个。

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.