我正在尝试从服务器读取所有文本,我认为我的代码不是从服务器检索文本,请你帮我解决这个问题,我是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());
}
};
}
答案 0 :(得分:0)
采取这些行
tv.setText(line);
setContentView(tv);
out while while循环
在while循环中使用StringBuilder对象(在循环之前声明)并在其中附加字符串。 while循环后从StringBuilder获取字符串并执行tv.setText(string)
答案 1 :(得分: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);