2013-04-04 98 views
0

我有這個應該從數據庫檢索數據的HTTP/JSON代碼,但我該如何將它打印到屏幕上。如果您需要任何額外的代碼,請告訴我。由於將JSON結果打印到屏幕

String result = ""; 
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
nameValuePairs.add(new BasicNameValuePair("name","Badminton")); 

//http post 
try{ 
HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("myurl.php"); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
HttpResponse response = httpclient.execute(httppost); 
HttpEntity entity = response.getEntity(); 
InputStream is = entity.getContent(); 
} 
catch(Exception e1){ 
Log.e("log_tag", "Error in http connection "+e1.toString()); 
} 

//convert response to string 
try{ 
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
StringBuilder sb = new StringBuilder(); 
String line = null; 
while ((line = reader.readLine()) != null) { 
sb.append(line + "\n"); 
} 

is.close(); 
result=sb.toString(); 
} 

catch(Exception e){ 
Log.e("log_tag", "Error converting result "+e.toString()); 
} 

//parse json data 
try{ 
JSONArray jArray = new JSONArray(result); 
for(int i=0;i<jArray.length();i++) 
{ 
JSONObject json_data = jArray.getJSONObject(i); 
Log.i("log_tag","type: "+json_data.getInt("id")); 
} 
} 

catch(Exception e) 
{ 
Log.e("log_tag", "Error parsing data "+e.toString()); 
} 

所以我怎麼會去打印我從PHP文件到屏幕上接收到的數據,我會做更多的東西與它後來

+0

你想在屏幕上顯示哪裏? ListView,GridView,TextView或者其他? – 2013-04-05 05:16:39

+0

此刻的任何地方啊哈 – Ryaller 2013-04-12 12:42:45

回答

0

如果你只想趕快把它顯示給用戶可以使用Toast。更多關於祝酒詞可以發現here

Toast toast = Toast.makeText(getApplicationContext(), text, Toast.LENGH_SHORT).show(); 

如果你想在一個特定的視圖,例如,以顯示它一個TextView屏幕上你需要找到該視圖,並設置你想要顯示的文字。

TextView v = (TextView) findViewById(R.id.where_im_displaying_text); 
v.setText(text); 

如果您正在嘗試做其他事情,請告訴我們,以便我們提供幫助。

+0

嘿,歡呼的回覆。哪個變量是存儲的所有數據? – Ryaller 2013-04-04 16:08:21

+0

在烤麪包中,您要顯示的文字會顯示「文字」的位置。 TextView相同。只要它是一個字符串,你可以放入任何你想要的變量。只需從JSON中提取所需的文本並插入即可。 – Rarw 2013-04-04 16:11:02

+0

我只是想知道在代碼中調用的變量是什麼,從PHP代碼中的數據保存到...因爲我已經改變了textview代碼已經設置 – Ryaller 2013-04-04 16:17:00

1

如果你在JSON的,如果它足夠小,你可以敬酒它一眼只是有興趣..

Toast.makeText(context, text, Toast.LENGTH_LONG).show(); 

如果你想看到整個JSON,你可以把它變成一個TextView和使用JSON對象的toString方法來打印它。

+0

乾杯,我只是想知道哪個變量存儲了來自PHP文件的JSON數據,因爲'change textview code'已經設置了 – Ryaller 2013-04-04 16:18:18

+0

輸出存儲在一個名爲result的變量中。字符串結果=「」;。你發佈的java代碼段不是你的代碼嗎? – 2013-04-04 16:25:58

+0

我在跟着一個教程,但感到困惑。我認爲這是通話結果,但不能確定,因爲我無法想象如何使用它 – Ryaller 2013-04-04 16:47:58