2013-01-06 45 views
0

我有一个在模拟器中完美运行但在部署的Android设备中无法运行的html文件。Android部署设备中的WebView错误

这是我在具有的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(); 
} 
} 

我的HTML文件>生> basicinfo.html

+1

LogCat中的任何登录? – asgoth

回答

0
wv_basic_info.loadData(readTextFromResource(R.raw.basicinfo), "text/html; charset=UTF-8", null); 

这工作完美,特别是在Android 4.0,它显然忽略字符编码insi de HTML。

测试2.3和4.0.3。

+0

我已经试过这个,但仍然不能在设备上工作:( –

0

是否启用GPU渲染?启用GPU渲染时,不支持的WebView(这可能只是仿真器) http://developer.android.com/tools/devices/emulator.html#acceleration

注意:并非所有的应用程序都与图形硬件加速兼容。特别是,使用WebView组件的浏览器应用程序和应用程序与图形加速不兼容。

+0

嗯应用程序在模拟器中完美工作,但不是在设备上.. –