繁体   English   中英

改造中的字符串响应问题

[英]Issue with String response in Retrofit

我在Android应用中使用Retrofit与服务器进行通信。 在我的一个服务器调用中,我期望服务器发出字符串响应。 因此,我声明了一个需要字符串值的回调。 Callback<String> 在php中,我回显了一个字符串。 echo "test"; 当我打的网址浏览器,回声工作正常test 但是在我的android应用中,调用了失败回调。 我试图更改PHP以echo "\\"test\\""; 在浏览器上: "test"在android上:调用成功回调。

我通过声明一个变量解决了它。 Php:

$result = "test";
echo $result;

浏览器: test

Android:调用成功回调。

我的问题是,这是改造的原理吗? 还是我做错了什么? 另外,要解决此问题,除了声明变量之外,还有其他方法吗?

在改造的上下文中, Callback<String>没有多大意义。 默认情况下,翻新使用GSON进行。

您实际上从服务器等待的是将json反序列化为POJO(简单的Java对象)。

假设您有一个类似的数据模型(POJO):

public class User {
    public final String name;
}

然后,您将使用像Callback<User>这样的Callback<User> 从服务器应该执行以下操作: echo '{ "name" : "Simon" }';

在成功回调中,您将有一个User类的实例,其名称字段设置为'Simon'。

此处的更多信息: http : //square.github.io/retrofit/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM