java - webview 不加载我的 html

标签 java android html webview

我正在开发一个采用网站 HTML 代码的 Android 应用程序。我有一个Webview应该加载这个 HTML 但是当我运行我的程序时,我没有看到我的“HTML”。

这是我的代码:

    package com.example.getdonnees;

import android.app.Activity;

import android.os.Bundle;

import android.webkit.WebView;

public class MainActivity extends Activity {

    WebView webview;

    Web web = new Web();

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        webview = (WebView)findViewById(R.id.webView1);

        webview.getSettings().setJavaScriptEnabled(true);

                try {

                    webview.loadData(web.getCode(), "text/html; charset=UTF-8", null);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

    }


}



    package com.example.getdonnees;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;

import android.app.Activity;

import android.os.Bundle;

import android.webkit.WebView;

public class Web extends Activity {

    WebView webview;
    String s2 = "";

    public String getCode() throws Exception{
        URL oracle = new URL("http://www.google.com/");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                                    yc.getInputStream()));
        String inputLine;
        String s1 = "";
        while ((inputLine = in.readLine()) != null)
            s1 = s1 + inputLine;
        in.close();
        System.out.println(s1);
        s2 = "<h1> test </h1>";
        return s1;
    }

}

如果我输入 webview.loadData("<h1> Test </h1>", "text/html; charset=UTF-8", null);有用 如果我在 getCode() 中返回 s2,它就不起作用。 当然,如果我返回 s1,它就不起作用。

我发现这部分会使应用程序崩溃。你知道为什么吗?

            try {
            in = new BufferedReader(new InputStreamReader(
                                        yc.getInputStream()));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

最佳答案

像这样尝试..

import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;

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

            WebView mainWebView = (WebView) findViewById(R.id.mainWebView);

            WebSettings webSettings = mainWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);

            mainWebView.setWebViewClient(new MyCustomWebViewClient());
            mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

            mainWebView.loadUrl("http://seasonofrejoice.blogspot.com");
        }

        private class MyCustomWebViewClient extends WebViewClient {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        }
    }

添加 xml webview..

<WebView android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:id="@+id/mainWebView">
 </WebView>

关于java - webview 不加载我的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14256802/

相关文章:

java - 调用compareTo方法java问题

java - JpaRepository 中的动态实体名称?

java - 试图反转存储在 Java 数组中的图像

c# - 通话记录器问题 - Xamarin.Android

php - 来自一张表的自定义输出数据

java - 在JSP页面中显示选项卡

html - 层数大于 100vw 的水平 CSS 仅视差效果

java - 如何在 Spigot 1.13.2 的消息中返回 block 类型

android - 如何制作小尺寸的android应用程序?

java - 我如何在 Android 的 TessBaseApi 中设置 textord_equation_detect true