按下android

时间:2017-04-05 12:58:58

标签: android html

我有一个简单的Android屏幕,其中包含一个按钮,如下所示

Android screen with button

我还在android studio上的webpage文件夹中存储了一个名为webpage.html的本地assets

enter image description here

点击Android屏幕上的button时,我想打开我存储的本地网页。如果我尝试打开http://www.google.com,它就可以了。但是现在打开任何本地页面似乎都有问题。以下是我的MainActivity.java代码段 -

//click this button to open a web page 
    public void onOpenWebBrowser(View v)
    {
        Intent webPageIntent = new Intent(Intent.ACTION_VIEW);
        webPageIntent.setData(Uri.parse("/Users/user/AndroidStudioProjects/ProjectName/app/src/main/assets/webpage.html"));

        try {
            startActivity(webPageIntent);
        } catch (ActivityNotFoundException ex) {
            // can do something about the exception.
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

以下是我的activity_main.xml文件的内容 -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:onClick="onOpenWebBrowser"
        android:text="Open Web Browser" />

</RelativeLayout>

P.S - 如果我在浏览器中从外面打开它,网页就可以正常工作。请帮忙!

3 个答案:

答案 0 :(得分:0)

首先在activity_main.xml

中添加webview布局
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".MainActivity" >
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="onOpenWebBrowser"
                android:text="Open Web Browser" />

        <WebView
            android:id="@+id/web_view"
            android:layout_below="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

        </RelativeLayout>

现在在MainActivity.java

WebView webView = (WebView)findViewById(R.id.web_view);
webView.loadUrl("file:///android_asset/filename.html");

这会有效!

希望这有帮助!

答案 1 :(得分:0)

你可以在意图的地方试试: -

WebView wb = new WebView(this);
    wb.loadUrl("file:///android_asset/index.htm");
    setContentView(wb);

将此虚拟网址路径替换为您的文件路径。

希望它可以帮到你。 :)

答案 2 :(得分:0)

您可以在文字视图中显示HTML,但仅当您只进行基本的HTML标记时,这才有效:

try
{
  InputStream inputStream = getResources().getAssets().open("myFile.html");

  String html = IOUtils.toString(inputStream);

  myTextView.setText(Html.fromHtml(html));
}
catch (IOException exception)
{
  myTextView.setText("Failed loading html.");
}