2012-06-07 130 views
0

我想從服務器讀取所有文本,我認爲我的代碼沒有從服務器檢索文本,請你幫我我該如何解決這個問題,我是新的android開發。在此先感謝不從服務器讀取文本

public class TestActivity extends Activity { 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    TextView tv= (TextView)findViewById(R.id.my_text); 


       try { 

        URL url = new URL("http://www.google.com:80/"); 
        StringBuilder content = new StringBuilder(); 
        // read text returned by server 

        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
        String line; 
        while ((line = in.readLine()) != null) { 
         content.append(line +"\n"); 
        } 
        tv.setText(content.toString()); 
        setContentView(tv); 

        in.close(); 
       } 

       catch (MalformedURLException e) { 

        System.out.println("Malformed URL: " + e.getMessage()); 

       } 

       catch (IOException e) { 

        System.out.println("I/O Error: " + e.getMessage()); 

       } 


};   


} 
+1

嘗試在這篇文章中給出的代碼 http://stackoverflow.com/questions/2094529/android-read-contents-of-a-url-content-missing-after-in-result – Nirali

回答

0

把這些線

tv.setText(line); 
setContentView(tv); 

出while循環而循環

使用StringBuilder對象(循環之前申報),並在追加的字符串。 後從StringBuilder的while循環取串並做tv.setText(串)

+0

我編輯了我的代碼,但它仍然不工作,我怎麼能檢查是否從服務器讀取文本? –

0

可能是你可以嘗試這樣的,只僅僅是一個想法:

StringBuilder content = new StringBuilder(); 
       // read text returned by server 
       BufferedReader in = new BufferedReader(new InputStreamReader(new URL("http://www.google.com:80/").openConnection().getInputStream())); 
       String line; 
       while ((line = in.readLine()) != null) { 
        content.append(line +"\n"); 
       } 

tv.setText(content.toString()); 
setContentView(tv); 
+0

感謝您的快速回復,我上面編輯了我的代碼請看看,它仍然不工作 –

+0

仍然無法正常工作,有沒有任何IDE設置允許從URL中讀取文本。 –

+0

你得到的錯誤是什麼?請粘貼你的錯誤,如果有的話 – UVM

相關問題