2011-05-17 74 views
0

我已將一些信息存儲在HTML文件中,並將其放入資產文件夾中。然而,當我想要顯示它時,網頁開始,但它說「網頁不可用」,雖然我已將它存儲在資產文件夾中。Android,爲什麼我的html文件不顯示?

這是我的代碼:

@Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.am_culture); 

     final FrameLayout frame01 = (FrameLayout) findViewById(R.id.ch_frame01); 
     final WebView wv = new WebView(this); 

     frame01.setOnClickListener(new View.OnClickListener() {   
      @Override 
      public void onClick(View v) { 
       wv.loadUrl("file:///android_asset/people.html"); 
       setContentView(wv); 
      } 
     }); 
    } 

enter image description here

+0

只是一個瘋狂的建議代碼:試試這個網址:' file:// android_asset/people.html'額外的'/'將它指向設備的根目錄,我不認爲該文件會是。 – 2011-05-17 13:48:27

+0

感謝哥們,但它有同樣的結果。 – Hesam 2011-05-17 13:56:11

回答

0
WebView mWebView = null; 
    mWebView = (WebView) findViewById(R.id.wb1); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    InputStream is; 
    try { 
     is = getAssets().open("people.html"); 
     int size = is.available(); 
     // Read the entire asset into a local byte buffer. 
     byte[] buffer = new byte[size]; 
     is.read(buffer); 
     is.close(); 
     // Convert the buffer into a string. 
     String strContent = new String(buffer); 
     mWebView.loadData(strContent, "text/html", "UTF-8"); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

感謝哥們。我測試了它,但它不起作用!我看到LogCat,它說程序跳轉到異常,因爲找不到文件!我已經在root> assets> people.html中保存了這個文件,但我不明白爲什麼會拋出異常! – Hesam 2011-05-17 14:22:13

0

這應該是你的檢索資產的文件

public String inputStreamToString() 
{ 
    StringBuffer sBuffer = new StringBuffer(); 
    try 
    { 
     InputStream is = getResources().getAssets().open("people.html"); 

     byte[] b = new byte[1024]; 
     for (int n; (n = is.read(b)) != -1;) { 
      sBuffer.append(new String(b, 0, n)); 
     } 
    } 
    catch (Exception e) { 
     // TODO: handle exception 
     //Log.e("inputstream",e.toString()); 
    } 

    return sBuffer.toString(); 
}  

public void webview() 
{ 
    WebView wb = (WebView) findViewById(R.id.webView1); 
    wb.getSettings().setJavaScriptEnabled(true); 

    String summary = inputStreamToString(); 
    wb.loadData(summary, "text/html", "utf-8"); 
} 
相關問題