2014-08-29 114 views
0

我正在構建一個Android應用程序,我通過Web服務連接到數據庫。當我通過Web服務發送信息時,我得到了一個XML結果,我然後將其轉換爲字符串,並將其顯示在EditText上就這樣解析包含xml數據的對象

Handler uiThreadHandler = new Handler() { 
      public void handleMessage(Message msg) { 
       Object o = msg.obj; 

       EditText textIn = (EditText)((Activity)context).findViewById(R.id.editTextDoSelectResult); 
       textIn.setText(o.toString()); 

       System.out.println(o.toString()); 
      } 
     }; 

     Message msg = uiThreadHandler.obtainMessage(); 
     msg.obj = result; 
     msg.arg1 = sid; 
     uiThreadHandler.sendMessage(msg); 
     } 

我試圖解析XML,以獲得出XML結果的具體值,並在相應的字段中顯示的話,我想我應該遵循這樣的事情

http://developer.android.com/training/basics/network-ops/xml.html

我的問題是,我該如何使用XML結果,我在我的代碼獲得XmlPullParser中的輸入流

如果有反正我可以改善這個問題,請讓我知道

+0

嗯,你提供的鏈接不是給你一個非常好的教程,已經完全符合你的要求嗎? – PrivatMamtora 2014-08-29 02:53:06

+0

我在問如何使用我在本教程的代碼中得到的結果,因爲本教程沒有告訴您如何獲得輸入 – Mash 2014-08-29 02:59:34

+0

您的意思是輸入,如何獲取輸入流? – PrivatMamtora 2014-08-29 03:03:14

回答

0

也許這對你有幫助。

要獲得的InputStream:

private static InputStream downloadUrl(String urlString) throws IOException { 
    URL url = new URL(urlString); 
    HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
    conn.setReadTimeout(10000 /* milliseconds */); 
    conn.setConnectTimeout(15000 /* milliseconds */); 
    conn.setRequestMethod("GET"); 
    conn.setDoInput(true); 
    // Starts the query 
    conn.connect(); 
    return conn.getInputStream(); 
} 

轉換的InputStream字符串:

private static String convertStreamToString(InputStream is) { 
    ByteArrayOutputStream oas = new ByteArrayOutputStream(); 
    copyStream(is, oas); 
    String t = oas.toString(); 
    try { 
     oas.close(); 
     oas = null; 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return t; 
} 

集到的EditText:

... 
youredittext.setText(convertStreamToString(downloadUrl(your_url))); 
...