转化json数据为string对象
public static String getContent(String url) {
StringBuilder sb = new StringBuilder();
try {
HttpClient client = new DefaultHttpClient();
HttpParams httpParams = client.getParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 3 * 1000);
HttpConnectionParams.setSoTimeout(httpParams, 5000);
HttpResponse response = client.execute(new HttpGet(url));
HttpEntity entity = response.getEntity();
if (entity != null) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(entity.getContent(), "UTF-8"),
8192);
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
reader.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
转换json数据为json对象,并获取alues
class LoadSubList extends AsyncTask<String, SubInfo, Integer> {
@Override
protected Integer doInBackground(String... params) {
try {
String jsonStr = NetUtil.getContent(path);
JSONArray array = new JSONArray(jsonStr);
for (int i = 0; i < array.length(); i++) {
JSONObject json = array.getJSONObject(i);
String logo = json.getString("logo");
String updatecycle = json.getString("updatecycle");
int isdelete = json.getInt("isdelete");
int pid = json.getInt("pid");
String categoryHtml = json.getString("categoryHtml");
String url = json.getString("url");
int id = json.getInt("id");
int issy = json.getInt("issy");
String pushtime = json.getString("pushtime");
String createtime = json.getString("createtime");
String categoryname = json.getString("categoryname");
int hasChild = json.getInt("hasChild");
String introduction = json.getString("introduction");
SubInfo subInfo = new SubInfo(logo, updatecycle, isdelete,
pid, categoryHtml, url, id, issy, pushtime,
createtime, categoryname, hasChild, introduction);
publishProgress(subInfo);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Integer result) {
super.onPostExecute(result);
}
@Override
protected void onProgressUpdate(SubInfo... values) {
super.onProgressUpdate(values);
syncAdapter(values);
}
}
public void syncAdapter(SubInfo[] values) {
for (SubInfo subInfo : values) {
adapterSubManager.add(subInfo);
adapterSubManager.notifyDataSetChanged();
}
}