如何使用 Android 中的改造接收 HTML 页面作为来自 API 的响应?
目前我正在接收 ResponseBody,
public interface DashBoardHtmlJsonAPI {
@FormUrlEncoded
@POST("/MobileDashbord")
Call<ResponseBody> getHtml(@Field("UserName") String username, @Field("Password") String password);
}
我想将 responseBody 转换为 String 并将 html 加载到 webview。
html = response.body().string();
成功响应后,上述代码返回一个空白字符串,
我无法将 html 页面作为字符串检索。
Retrofit retrofit = new Retrofit.Builder().baseUrl(Constants.BASE_URL).addConverterFactory(ScalarsConverterFactory.create()).build();
DashBoardHtmlJsonAPI dashBoardHtmlJsonAPI = retrofit.create(DashBoardHtmlJsonAPI.class);
Call<ResponseBody> call = dashBoardHtmlJsonAPI.getHtml(userName,password);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()){
String html="";
try {
html = response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
loadWebView(html);
Log.i("WEBVIEW",response.toString());
Log.i("WEBVIEW",html);
}
else {
Log.i("WEBVIEW",response.body().toString());
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.i("WEBVIEW",t.getLocalizedMessage());
}
});
有人可以帮助我吗?
API is sending one HTML page as response.
Currently i am receiving as ResponseBody
public interface DashBoardHtmlJsonAPI {
@FormUrlEncoded
@POST("/MobileDashbord")
Call<ResponseBody> getHtml(@Field("UserName") String username, @Field("Password") String password);
}
I want convert the responseBody to String and load the html to webview.
html = response.body().string();
After successful response above code return a blank string
I am not able to retrieve the html page as string.
Retrofit retrofit = new Retrofit.Builder().baseUrl(Constants.BASE_URL).addConverterFactory(ScalarsConverterFactory.create()).build();
DashBoardHtmlJsonAPI dashBoardHtmlJsonAPI = retrofit.create(DashBoardHtmlJsonAPI.class);
Call<ResponseBody> call = dashBoardHtmlJsonAPI.getHtml(userName,password);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()){
String html="";
try {
html = response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
loadWebView(html);
Log.i("WEBVIEW",response.toString());
Log.i("WEBVIEW",html);
}
else {
Log.i("WEBVIEW",response.body().toString());
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.i("WEBVIEW",t.getLocalizedMessage());
}
});
Can anybody help me ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要从正文中检索内容
You need to retrieve the content from body