Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
BufferedReader在Android中不工作_Android - Fatal编程技术网

BufferedReader在Android中不工作

BufferedReader在Android中不工作,android,Android,我曾尝试使用BufferReader实例读取网页内容,但在运行应用程序时,当到达以下行时,它会立即移动以捕获块: BufferedReader=新的BufferedReader(新的InputStreamReader(conn.getInputStream()) 你能告诉我有什么问题吗? 顺便说一句,我已经在mainifest文件中注册了一个Internet连接,并且在Log cat中没有注册错误! 这是我的java代码: Thread thrd = new Thread( ne

我曾尝试使用BufferReader实例读取网页内容,但在运行应用程序时,当到达以下行时,它会立即移动以捕获块:

BufferedReader=新的BufferedReader(新的InputStreamReader(conn.getInputStream())

你能告诉我有什么问题吗? 顺便说一句,我已经在mainifest文件中注册了一个Internet连接,并且在Log cat中没有注册错误! 这是我的java代码:

        Thread thrd = new Thread( new Runnable() {          
        @Override
        public void run() {
            final Button btn = (Button) findViewById(R.id.btn_1);

            final TextView tv = (TextView) findViewById(R.id.tv_1);


            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                    try {
                    URL url = null;
                    url = new URL("http://www.google.com/");
                    URLConnection conn = url.openConnection();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));

                    String Line = "";
                while( (Line= reader.readLine() )  != null){
                                           tv.append(Line);
                                          }
                                            catch (Exception e){
                    tv.append("There is a problem");  
                                            }
                }
            });

        }
    });
    thrd.start();   

    return true;
}

您是否尝试记录异常?类似于

Log.d(TAG, "onClick", e); 
在你的接球区

话虽如此,您可能会得到一个
NetworkOnMainThreadException
,因为您试图在主线程上访问网络。由于网络调用被阻塞,这将导致UI冻结——这是一种非常糟糕的用户体验。所有网络调用都应该在一个单独的线程中完成(可以是服务、异步任务或
线程


有关
网络维护线程异常的更多信息,请参阅打印您捕获的异常!“有问题”不是一条很有帮助的消息,请您替换
tv.append(“有问题”)带有
e.printStackTrace()要查看,抛出了什么类型的异常?