Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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
Java 下载html源代码并加载它_Java_Android_Html_Web Testing - Fatal编程技术网

Java 下载html源代码并加载它

Java 下载html源代码并加载它,java,android,html,web-testing,Java,Android,Html,Web Testing,我从这里找到了这个代码。但当我试着运行它时,我的程序总是崩溃。我已经在中添加了internet权限。有什么想法吗 编辑:这是完整的错误消息。08-02 00:16:47.364:E/EmbeddedLogger(1577):获取包标签时出错:com.jimmyc.lawrenceh.schedulinglookup Edit2:它在安卓2.2上可以工作,但在安卓4.0/3.0上不工作 private void initialize() { //initialize variable

我从这里找到了这个代码。但当我试着运行它时,我的程序总是崩溃。我已经在中添加了internet权限。有什么想法吗

编辑:这是完整的错误消息。08-02 00:16:47.364:E/EmbeddedLogger(1577):获取包标签时出错:com.jimmyc.lawrenceh.schedulinglookup

Edit2:它在安卓2.2上可以工作,但在安卓4.0/3.0上不工作

 private void initialize() {
      //initialize variables here
      try {
          getHtml();
      }
      catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
    }

    public void getHtml() throws ClientProtocolException, IOException {
        HttpClient httpClient = new DefaultHttpClient();
        HttpContext localContext = new BasicHttpContext();
        HttpGet httpGet = new HttpGet("http://www.yahoo.com");
        HttpResponse response = httpClient.execute(httpGet, localContext);
        String result = "";

        BufferedReader reader = 
            new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

        String line = null;
        while ((line = reader.readLine()) != null){
            result += line + "\n";
            // Toast.makeText(Connect.this, line.toString(), Toast.LENGTH_LONG).show();

        }
    }

我认为您正在尝试在UI线程中下载HTML代码。尝试在后台下载它,使用

编辑。如果你说它在安卓2.2上工作,但在安卓4.0/3.0上不工作,那么我完全肯定你是想在UI线程中下载它。从Android 3.0开始,因为你可以阻止它。您必须在指定的时间内完成下载

请原谅我的英语。

当它崩溃时,您是否收到任何错误消息?编辑:以下是错误消息:08-02 00:16:47.364:E/EmbeddedLogger(1577):获取包标签时出错:@user1526556请更新您的问题并从logcatI添加完整的错误消息。我相信这是使用execute函数的HTTP响应有问题。我把一个日志放在ea行之后,它似乎在那里崩溃了。不过,我的logcat没有出现错误。它正在一台旧的平板电脑上工作,但不是一台安卓4.0或3.0的平板电脑。我该怎么做?你必须在你的活动中创建一个内部类。该类必须扩展AsyncTask,并且您必须将方法
getHtml
放入
doInBackground()
中。出于某种原因,它可以工作,但一旦我取消对toast的注释,它就会崩溃。我不允许从后台线程显示任何Toast吗?我认为Toast必须在UI线程中运行,尝试将Toast放入
onPostExecute()
方法中