2016-08-29 51 views
0

意向putExtra JSON數據近日,在我的Web服務器,以獲得JSON文本,我使用AsyncTask如何使用Android上

String strData = ""; 

@Override 
protected void onPostExecute(String result) { 
    super.onPostExecute(result); 

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1); 
try { 
    JSONArray arr =new JSONArray(result); 
     JSONObject ob = arr.getJSONObject(0);  
     strData += ob.getString("name") + "\n" 
       + " - " + ob.getString("school") + "\n" 
       + " - " + ob.getString("job") + "\n\n"; 
     adapter.add(strData); 
} catch (JSONException e) { 
    Log.d(TAG,"DD"); 
} 
ListView listView = (ListView) findViewById(R.id.listView); 
listView.setAdapter(adapter); 
} 

結果

aaa 
- seoul university 
- teacher 

,我想JSON解析器值使用intent.putExtra另一項活動。

我不知道

Intent intent = new Intent(this, anotheractivity.class); 
intent.putExtra("information","I don't know here"); 
startActivity(intent); 

我想school.job數據的另一個活動的運輸。

如何使用數據傳輸JSON解析器數據?

+0

請儘量解釋得清楚你的問題,這是很難理解現在 –

+0

,如果你想通過意向額外嘗試這樣'intent.putExtra(「信息」,「ob.getString從JSON發送數據(「工作」)「);' –

+0

這將解決你的目的。 http://stackoverflow.com/questions/37208243/how-to-pass-list-object-between-fragment/37208349#37208349 – Stallion

回答

0

解析您的JSON結構相同的對象的內部,然後通過該對象的意圖

University uni = new University(); 
uni.setTitle(jsonObj.getJSONObject("Title").opt("val").toString()); 
Intent i = new Intent(this, anotheractivity.class); 
i.putExtra("information", uni); 

,那麼你可以從意向的對象在你的其他活動

+0

什麼是大學?這是錯誤.. :( – chohyunwook

+0

大學是一個類的例子,你可以改變它與你自己的類 –

0

的簡單方法在另一個活動中獲取數據是

要將JSon字符串放入putExtra() ,然後獲取該字符串,將其解析爲另一個活動中的JSON對象。

0
As per your code: 

    @Override 
    protected void onPostExecute(String result) { 
     super.onPostExecute(result); 

    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1); 
    try { 
     JSONArray arr =new JSONArray(result); 
      JSONObject ob = arr.getJSONObject(0);  
      strData += ob.getString("name") + "\n" 
        + " - " + ob.getString("school") + "\n" 
        + " - " + ob.getString("job") + "\n\n"; 
      adapter.add(strData); 
    } catch (JSONException e) { 
     Log.d(TAG,"DD"); 
    } 
    ListView listView = (ListView) findViewById(R.id.listView); 
    listView.setAdapter(adapter); 
    } 

    you are getting server response in result String, so just put the "result" in Intent as follows: 

    Intent intent = new Intent(this, anotheractivity.class); 
    intent.putExtra("result","result"); 
    startActivity(intent); 

    In anotheractivity.class onCreate method: 
    String result=getIntent().getStringExtra("result"); 
    Where result contain your JSON data.