刚写了个Http get请求,回调回来是json格式的字符串。问题是这样的,如果是短的json字符串,可以完整的显示,但是请求的json很大时,就只能显示2000多个字符串,请问是不是HttpURLConnection是不是有显示字节流数的。哪位高人可以指点下不?代码如下:/**
* send get request
*
* @param mUrlString
*/
public void sendRequestbyHttpURLConnection(String mUrlString) {
String result = "";
HttpURLConnection conn = null;
try {
URL url = new URL(mUrlString);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
// conn.setConnectTimeout(5000);
conn.setRequestProperty("User-Agent", UserAgent.USER_AGENT);
conn.setRequestProperty("accept", "*");
result = transformStreamToString(conn.getInputStream());
Message message = new Message();
message.what = EVENT_FINISHED;
message.obj = result;
mHandler.sendMessage(message); } catch (Exception ee) {
Message message = new Message();
message.what = EVENT_ERROR;
message.obj = ee.toString();
mHandler.sendMessage(message);
Log.e(TAG, "HttpTask.run exception " + ee.toString());
} finally {
if (conn != null) {
conn.disconnect();
}
}
}
private String transformStreamToString(InputStream inStream) {
BufferedReader br = new BufferedReader(new InputStreamReader(
inStream));
String line = "";
stringBuffer.setLength(0);
try {
while ((line = br.readLine()) != null) {
stringBuffer.append(line);
Logger.d("Response", line);
}
} catch (Exception e) {
Logger.d("Response", e.getMessage());
}
return stringBuffer.toString();
}
}
* send get request
*
* @param mUrlString
*/
public void sendRequestbyHttpURLConnection(String mUrlString) {
String result = "";
HttpURLConnection conn = null;
try {
URL url = new URL(mUrlString);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
// conn.setConnectTimeout(5000);
conn.setRequestProperty("User-Agent", UserAgent.USER_AGENT);
conn.setRequestProperty("accept", "*");
result = transformStreamToString(conn.getInputStream());
Message message = new Message();
message.what = EVENT_FINISHED;
message.obj = result;
mHandler.sendMessage(message); } catch (Exception ee) {
Message message = new Message();
message.what = EVENT_ERROR;
message.obj = ee.toString();
mHandler.sendMessage(message);
Log.e(TAG, "HttpTask.run exception " + ee.toString());
} finally {
if (conn != null) {
conn.disconnect();
}
}
}
private String transformStreamToString(InputStream inStream) {
BufferedReader br = new BufferedReader(new InputStreamReader(
inStream));
String line = "";
stringBuffer.setLength(0);
try {
while ((line = br.readLine()) != null) {
stringBuffer.append(line);
Logger.d("Response", line);
}
} catch (Exception e) {
Logger.d("Response", e.getMessage());
}
return stringBuffer.toString();
}
}
解决方案 »
- 刚开始学Android,学着书上写了个程序结果运行就直接异常关闭了,求高手帮忙看看~
- 编译Android4.0无法通过
- 参加一个程序设计比赛,全国性的,请大家给个建议,急。。。。。。
- 安卓程序运行出错 The source attachment does not contain the source for the file
- 初学者问个很菜的问题,谢谢
- 高手指点,关于SQLite的问题。谢谢!
- android 图标缩放问题
- 谁会怎么实现人体运动轨迹识别啊,相关的资料也可以
- 在Android Studio中打包apk文件的时候出现了IOException的问题
- okhttp3,如何把文件和值为int类型键值对,一起提交。
- android sqlite 添加后查出来的数据不一样l
- 请大家帮忙看看这个滑动手势代码的问题
public void setFixedLengthStreamingMode (int contentLength)