【问题标题】:Webview loads html in android 2.2 but not android 2.1Webview 在 android 2.2 中加载 html 而不是 android 2.1
【发布时间】:2011-03-29 18:54:10
【问题描述】:

当用户选择帮助菜单按钮时,我有一个简单的 web 视图用于加载文件 help3.html

文件可以在 android 2.2 (8) 模拟器中很好地加载和查看,但我在使用 Android 2.1 (7) 模拟器时收到 "file //android_res/raw/help3.html not found" 错误消息。

我假设 java 或 xml 文件中有 2.1 版不喜欢的代码,并且找不到文件错误是侥幸。

我的java代码加载html文件:

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;


public class Help extends Activity   
{   @Override  
    public void onCreate(Bundle savedInstanceState)  
    {   super.onCreate(savedInstanceState);  
    setContentView(R.layout.helpview);  
    WebView mywebview = (WebView)findViewById(R.id.webviewHelp);  
    mywebview.loadUrl("file:///android_res/raw/help3.html");  
    }       
}  

我的 helpview.xml 文件是:

<?xml version="1.0" encoding="utf-8"?>  

<WebView xmlns:android="http://schemas.android.com/apk/res/android"  
android:id="@+id/webviewHelp"   
android:layout_width="fill_parent"  
android:layout_height="fill_parent"/>  

我被难住了。任何想法为什么这不起作用?

【问题讨论】:

    标签: java android android-emulator


    【解决方案1】:

    我不知道file:///android_res 在任何版本的 Android 中都有效。

    如果您将 HTML 放在项目的 assets/ 文件夹中,则可以使用 file:///android_asset 作为前缀。 This sample project 演示了这一点。

    【讨论】:

    • 这些功能有官方文档吗?我只能在 WebView 和 WebSettings javadocs 中找到参考资料。
    • @bigstones:曾经有 android_asset,但自从我上次查找它以来,它似乎已经在文档更新中被吃掉了。
    • @CommonsWare - 我将 help3.html 文件移至资产并相应地更改了 java 代码。现在我在 android 2.2 模拟器中也收到了“file///android_assets/help3.html”消息。
    • @Ted Betz:您在file 之后缺少一个冒号,并且在asset 的末尾有一个不应该存在的s
    • 对我输入的草率回复感到抱歉。 java文件包含:mywebview.loadUrl("file:///android_assets/help3.html");用冒号和's'。我的文件夹被 Motodev 命名为“assets”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多