LoopJ AndroidAsyncHttp StringEntity 问题
LoopJ AndroidAsyncHttp StringEntity Issue
我正在将 StringEntity 与 AndroidAsyncHttp 结合使用,但它已被弃用。有没有另一种方法可以在以我发送到我的网络服务的方式发送我的 json 字符串时让它工作?
public void getPropertyImagesAsync(final String[] params) {
JsonStructure jsonStructure = new JsonStructure();
jsonStructure.methodName = "getPropertyWorkorders";
jsonStructure.serviceName = "mobileapi";
jsonStructure.parameters = params;
String jsonString = new Gson().toJson(jsonStructure);
StringEntity entity = null;
try {
entity = new StringEntity(jsonString);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
AsyncHttpClient client = new AsyncHttpClient();
client.post(visnetawrap, BASE_URL + "/amf/gateway/?contentType=application/json", entity, "application/json", new TextHttpResponseHandler() {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
AppUtils.outputJsonString(s);
}
@Override
public void onSuccess(int i, Header[] headers, String s) {
AppUtils.outputJsonString(s);
}
});
}
密切关注情况,但您暂时可以继续使用 StringEntity
。
StringEntity
实际上是 Apache HTTP 的一部分,而不是 android-async-http。 Google 在 SDK 22 中弃用了整个 Apache HTTP API,并在 SDK 23(M 预览版)中将其从存根库中删除。据报道它仍然可以在 M 设备上运行,但你无法编译它。
不幸的是,android-async-http 是围绕 Apache HTTP 设计的。更糟糕的是,它公开了它对 API 的使用,因此无法在不导致损坏的情况下对其进行更改。开发人员已宣布计划确保持续支持,可能通过引入对独立 Apache HTTP 的依赖。
我建议您使用库来进行网络操作。你可以使用改造。这是一个功能强大且易于使用的库。
我正在将 StringEntity 与 AndroidAsyncHttp 结合使用,但它已被弃用。有没有另一种方法可以在以我发送到我的网络服务的方式发送我的 json 字符串时让它工作?
public void getPropertyImagesAsync(final String[] params) {
JsonStructure jsonStructure = new JsonStructure();
jsonStructure.methodName = "getPropertyWorkorders";
jsonStructure.serviceName = "mobileapi";
jsonStructure.parameters = params;
String jsonString = new Gson().toJson(jsonStructure);
StringEntity entity = null;
try {
entity = new StringEntity(jsonString);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
AsyncHttpClient client = new AsyncHttpClient();
client.post(visnetawrap, BASE_URL + "/amf/gateway/?contentType=application/json", entity, "application/json", new TextHttpResponseHandler() {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
AppUtils.outputJsonString(s);
}
@Override
public void onSuccess(int i, Header[] headers, String s) {
AppUtils.outputJsonString(s);
}
});
}
密切关注情况,但您暂时可以继续使用 StringEntity
。
StringEntity
实际上是 Apache HTTP 的一部分,而不是 android-async-http。 Google 在 SDK 22 中弃用了整个 Apache HTTP API,并在 SDK 23(M 预览版)中将其从存根库中删除。据报道它仍然可以在 M 设备上运行,但你无法编译它。
不幸的是,android-async-http 是围绕 Apache HTTP 设计的。更糟糕的是,它公开了它对 API 的使用,因此无法在不导致损坏的情况下对其进行更改。开发人员已宣布计划确保持续支持,可能通过引入对独立 Apache HTTP 的依赖。
我建议您使用库来进行网络操作。你可以使用改造。这是一个功能强大且易于使用的库。