0
我面臨的一個問題與在我所檢索來自restservices數據和在列表視圖顯示它的碼檢索的數據....有問題與添加從輸入流
private class surveyCheck extends AsyncTask<String, Integer,List<SurveyMetaData>> {
protected List<SurveyMetaData> doInBackground(String... params) {
if (mdebug_flag) {
Log.i(TAG_DEBUG, "SurveyCheck:doInBackground");
}
String url = params[0];
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
try {
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
HttpResponse response = httpClient.execute(request);
final int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
Log.w(getClass().getSimpleName(), "Error " + statusCode
+ " for URL " + url);
return null;
}
HttpEntity responseEntity = response.getEntity();
InputStream stream = responseEntity.getContent();
InputStreamReader reader = new InputStreamReader(stream);
Gson gson=new Gson();
Type collectionType=new TypeToken<List<SurveyMetaData>>(){}.getType();
List<SurveyMetaData> result =gson.fromJson(reader,collectionType);
for(SurveyMetaData element : result)
{
Log.d("TAG","I 'm doing stuff with: " + element);
}
Survey_DB dataobj = new Survey_DB(getApplicationContext());
for (int i = 0; i <result.size() ; i++) {
if (dataobj.AddSurvey(result.get(i)) != -1)
ToastUtils.displayToast(Available_Surveys.this,
"Survey Inserted successfully",
(ViewGroup) findViewById(R.id.llRoot));
}
Survey_Adapter adapter = new Survey_Adapter(
getApplicationContext(), R.layout.list_item_menu,
result);
listView1 = (ListView) findViewById(R.id.listview_surveys);
listView1.setAdapter(adapter);
// Populate text field return result;
} catch (IOException e) {
request.abort();
Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
return null;
}
}
的代碼是接收流和閱讀器能夠讀取相同的內容,同時將其添加到 AddSurvey(result.get(i))...它將空值傳遞給參數插入..
粘貼JSON的
onPostExecute
相關的任務你試圖解析。也粘貼SurveyMetaData。 – Zzokk