1

我想打开保存在资产文件夹中的 html 文件的内容。html 文件包含 Google 图表提供的图表 api。

HTML 文件的内容是:

<html>
<head>    
<script type="text/javascript" src="https://www.google.com/jsapi">
</script>    
<script type="text/javascript">      
google.load("visualization", "1", {packages:["corechart"]});      
google.setOnLoadCallback(drawChart);      
function drawChart()
 {        
var data = google.visualization.arrayToDataTable([   ['Task', 'Hours per Day'],          
['Work',     11],          
['Eat',      2],          
['Commute',  2],          
['Watch TV', 2],          
['Sleep',    7]        
]);        
var options = {title: 'My Daily Activities'};        
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}    
</script>  
</head>  
<body>    
<div id="chart_div" style="width: 900px; height: 500px;"></div>  
</body>
</html>

我将我的主要活动类写为:

 package com.example.webapptest;

import java.io.IOException;
import java.io.InputStream;
import java.net.ConnectException;

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

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WebView webview = new WebView(this); 
        WebSettings webSettings = webview.getSettings(); 
        webSettings.setJavaScriptEnabled(true);
        setContentView(webview); 

        InputStream fin;
        try {
            fin = getAssets().open("web_page_test.html");
            byte[] buffer = new byte[fin.available()]; 
            fin.read(buffer); 
            fin.close();
            webview.loadData(new String(buffer), "text/html", "UTF-8");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 




    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

但它显示网页已关闭或不可用错误。

4

0 回答 0