如何将html文件加载到Android应用程序?

时间:2014-08-30 05:22:39

标签: android android-webview

我是Android开发的新手,我试图弄清楚如何加载包含视频的HTML文件。每次我在手机上运行我的应用程序时都会崩溃。

这是我的代码,可以在onCreate主类中找到。

WebView wv = (WebView)this.findViewById(R.id.video);
WebSettings wbset=wv.getSettings();
wbset.setJavaScriptEnabled(true);
wv.setWebViewClient(new WebClientClass());
wv.loadUrl("file:///assets/video.html");

我在资源文件夹中有视频。这是我的清单xml类。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.video"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="21" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

活动就在这里。

<pre lang="text">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.video.MainActivity" >

    <WebView
        android:id="@+id/video"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:1)

使用#

  

wv.loadUrl(&#34;文件:///android_asset/video.html");

<强>相反#

  

wv.loadUrl(&#34;文件:///assets/video.html");

有关详细信息,请参阅Printing HTML Documents.

答案 1 :(得分:0)

您需要获取资产文件夹的路径。您可以使用以下命令获取Asset文件夹的路径:wv.loadUrl(context.getAssets()。open(&#34; video.html&#34;))。

答案 2 :(得分:0)

使用此代替您使用: -

wv.loadUrl( “文件:///android_asset/video.html”);