1

HTML で言語固有のヘルプ ファイルを作成し、ブラウザを使用して表示したいと考えています。
最初のバージョンとして、英語版を res/raw に置きました (html または doc ディレクトリはないようです)。
私が見つけたブラウザを起動するには:

        String URL = "android.resource://" + getPackageName() + "/" + R.raw.help;
        Uri u = Uri.parse(URL);
        Intent intent = new Intent(Intent.ACTION_VIEW, u);
        startActivity(intent);

ただし、常に ApplicationNotFound-Exception がスローされます。

変数を見ると、URL が次のようになっていることがわかります。

         android.resource://[PACKAGE_NAME]/[NUMBER]

そしてそれはあなたのコンテンツでもあります。Uri.parse は、指定された文字列をコピーするだけです。

私の質問:

私は何を間違っていますか?
別の方法はありますか?
システムは res/raw-de でファイルを見つけますか?

4

3 に答える 3

2

次を使用して、「Assets」フォルダーから html ページを開くことができます。

//help_activity.xml
<?xml version="1.0" encoding="utf-8"?>
  <WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/helpwebview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

リソース ファイル (strings.xml など) 内。「file:///android_asset」は Android プロジェクトの「Assets」フォルダに対応します。

<string name="help_url">file:///android_asset/help/index_de.html</string>

//HelpActivity のコード

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class HelpActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.help_activity);
        WebView browser = (WebView)findViewById(R.id.helpwebview);

        WebSettings settings = browser.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setBuiltInZoomControls(true);
        browser.loadUrl(getString(R.string.help_url));
    }

}
于 2012-04-23T07:13:31.107 に答える
0

Another way of doing it is to load WebView directly with the resource file.

WebView wv = (WebView) findViewById(R.id.webView1);
wv.loadUrl("file:///android_asset/your_html_file.html");

Make sure you put all your files in Assets folder

于 2012-04-23T06:50:50.953 に答える
0

これが私がやった方法です:

String summary = readRawTextFile(this,R.raw.help);
mWebView.loadDataWithBaseURL (null,summary, "text/html","UTF-8" ,null);
于 2012-04-23T07:13:50.773 に答える