0

エミュレーターで完全に動作する html ファイルがありますが、デプロイされた Android デバイスでは動作しません。

これは、WebView を持つレイアウトの XML での私のコードです。

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" android:background="@drawable/white_paper_complete">

<WebView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/wv_basicinfo" android:layout_gravity="left|center_vertical"/>
<TextView
        android:layout_width="209dp"
        android:layout_height="86dp"
        android:text="       BASIC INFORMATION"
        android:id="@+id/textView" android:textColor="@android:color/black" android:textSize="30dp"
        android:layout_gravity="center"/>
<ImageView
        android:layout_width="42dp"
        android:layout_height="45dp"
        android:id="@+id/imageView" android:layout_gravity="center" android:background="@drawable/loader"/>
</LinearLayout>

これはそのクラスの私のコードです:

package com.example.ITax;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;


public class OpenBasicInfo extends MyActivity
{
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.basic_info);

    WebView wv_basic_info = (WebView) findViewById(R.id.wv_basicinfo);
    wv_basic_info.loadData(readTextFromResource(R.raw.basicinfo), "html", "utf-8");
}

private String readTextFromResource(int resourceID)
{
    InputStream raw = getResources().openRawResource(resourceID);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    int i;

    try
    {
         i = raw.read();
        while(i != -1)
        {
            stream.write(i);
            i = raw.read() ;
        }
    }

    catch (IOException e)
    {
        e.printStackTrace();
    }

    return stream.toString();
}
}

res > raw > basicinfo.html にある私の html ファイル

4

2 に答える 2

0

GPUレンダリングは有効になっていますか?GPUレンダリングが有効になっている場合、WebViewはサポートされません(これはエミュレーター専用の場合があります) http://developer.android.com/tools/devices/emulator.html#acceleration

:すべてのアプリケーションがグラフィックハードウェアアクセラレーションと互換性があるわけではありません。特に、ブラウザアプリケーションおよびWebViewコンポーネントを使用するアプリケーションは、グラフィックアクセラレーションと互換性がありません。

于 2013-01-06T18:22:22.310 に答える
0
wv_basic_info.loadData(readTextFromResource(R.raw.basicinfo), "text/html; charset=UTF-8", null);

これは、特に Android 4.0 では問題なく動作します。Android 4.0 では、明らかに HTML 内の文字エンコーディングが無視されます。

2.3 および 4.0.3 でテスト済み。

于 2013-01-06T17:44:35.043 に答える