我目前为Android创建了一个应用程序 在这个应用程序中,我成功显示了一个XLS文件,感谢google doc viewer并将文件传递给这样的URL:
WebView mWebView=new WebView(MyActivity.this);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+LinkTo);
setContentView(mWebView);
所以,现在我需要显示我保存到设备存储中的相同XLS文件,这次不是来自URL,而是直接来自存储。
我发现很多建议都是通过链接到网址中的文件,但不是我的文件已经存在我的设备上。
所以,在我开始之前,我想知道它是否可能?
我看到了这种方法myWebView.loadData( );
我可以用它来解决我的问题吗? 我可以将docs.google.com/gview与内部文件一起使用吗?
修改
我尝试了Der Gol的解决方案...... lum
这是我的代码:
WebView wv = (WebView)findViewById(R.id.fileWebView);
wv.getSettings().setJavaScriptEnabled(true);
String root = Environment.getExternalStorageDirectory().toString();
String my_path = root + "/excel_files/";
wv.loadUrl("file://" + my_path + excelFile.getName());
wv.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
但是webview显示空白页
答案 0 :(得分:1)
假设您的文件是静态和不可变,您可以将该文件放在assets
文件夹中,然后使用
mWebView.loadUrl("file:///android_asset/your_file");
加载到WebView中 我使用这种技术来显示帮助(HTML文件)。
您也可以在assets
下使用子文件夹(在我的情况下,我使用的网址如:"file:///android_asset/help/help_" + language + ".htm"
),
因为我的文件在assets/help/
。