【问题标题】:Not Reading text from server不从服务器读取文本
【发布时间】:2012-06-07 11:36:26
【问题描述】:

我正在尝试从服务器读取所有文本,我认为我的代码没有从服务器检索文本,请你帮我解决这个问题,我是 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());

                }


};        


}

【问题讨论】:

标签: java android android-layout android-intent


【解决方案1】:

采取这些措施

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

退出while循环

在 while 循环中使用 StringBuilder 对象(在循环之前声明)并在其中附加字符串。 在 while 循环之后,从 StringBuilder 获取字符串并执行 tv.setText(string)

【讨论】:

  • 我已经编辑了我的代码,但它仍然无法工作,我如何检查它是否从服务器读取文本?
【解决方案2】:

也许你可以这样尝试,只是一个想法:

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);

【讨论】:

  • 感谢您的快速回复,我已经编辑了上面的代码,请看一下,它仍然无法正常工作
  • 仍然无法正常工作,是否有任何允许从 url 读取文本的 IDE 设置。
  • 您遇到的错误是什么?如果有错误,请粘贴您的错误
猜你喜欢
  • 2014-01-18
  • 1970-01-01
  • 1970-01-01
  • 2016-05-28
  • 2019-09-14
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多