Android 如何使用libgdx HttpRequest和HttpResponseListener保存网页中的图像?
我当前使用这些方法的代码就在这里,可以很好地恢复文本。我如何修改它以将映像保存到文件系统Android 如何使用libgdx HttpRequest和HttpResponseListener保存网页中的图像?,android,libgdx,Android,Libgdx,我当前使用这些方法的代码就在这里,可以很好地恢复文本。我如何修改它以将映像保存到文件系统 public static class URLResponseListener implements HttpResponseListener { public void handleHttpResponse(HttpResponse httpResponse) { statusCode = httpResponse.getStatus().getStatusCode();
public static class URLResponseListener implements HttpResponseListener {
public void handleHttpResponse(HttpResponse httpResponse) {
statusCode = httpResponse.getStatus().getStatusCode();
urlResults = httpResponse.getResultAsString();
}
public void failed(Throwable t) {
statusCode = Constants.CONNECTION_FAILED;
urlResults = null;
}
public String getLastResponse() {
return urlResults;
}
@Override
public void cancelled() {
urlResults = null;
}
}
private void getUrlData() {
httpGet = new HttpRequest(HttpMethods.GET);
httpGet.setUrl(Constants.DATA_URL);
responseListener = new URLResponseListener();
Gdx.net.sendHttpRequest (httpGet, responseListener);
}
在我的render方法中,我检查了http连接何时完成
if (statusCode >= 200 && statusCode <= 300 && null != urlResults) {
try {
// process urlResults text
} catch (Exception e) {
e.printStackTrace();
}
statusCode = 0;
urlResults = null;
}
if (statusCode == Constants.RETRY_CONNECTION || statusCode == Constants.CONNECTION_FAILED) {
statusCode = 0;
getUrlData();
}
if(statusCode>=200&&statusCode在libgdx论坛上从BurningHand那里得到了答案
@Override
public void handleHttpResponse (HttpResponse httpResponse) {
if (httpResponse.getStatus().getStatusCode() == 200) {
Gdx.files.external("downloaded.img").write(httpResponse.getResultAsStream(), false);
}
}