您的位置:首页 > 理论基础 > 计算机网络

《项目——网络音乐播放器》——网络请求之for循环内嵌套的try...catch...里面放break

2015-05-22 20:50 381 查看
今天在做一个使用百度音乐接口的音乐播放器

在做网络请求时,有可能获取不到数据,返回一个"[]"

我也是醉了,居然在for循环内嵌套的try...catch...里面放break,还想跳出循环

到底是做得少

作此笔记以记之

for (int i = 0; i < 50; i++) {
try {
HttpGet get = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
InputStreamReader inputStreamReader;
BufferedReader reader;
String line;// 一行数据
if (entity != null) {
inputStreamReader = new InputStreamReader(
entity.getContent());
reader = new BufferedReader(inputStreamReader);
if ((line = reader.readLine()) != null) {
mJSONString = line;//返回结果中
}
array = new JSONArray(mJSONString);
for (int j = 0;; j++) {
if (array.getJSONObject(j) == null) {
break;// 获取不到对象就跳出
}
list.add(array.getJSONObject(j));
}

}

} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
<span style="color:#FF0000;">// 能获取到信息时,跳出循环,这个判断不能放在try...catch...内
if (list.size() > 0) {
break;
}</span>
}


有些代码有点累赘,得修改修改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: