我们可以在我的应用程序中显示来自设备存储的xls文件
我目前为Android创build了一个应用程序。
在这个应用程序,我成功地显示一个XLS文件,感谢谷歌文档查看器和传递文件的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这次,直接从存储。
我发现很多build议,使其链接到URL中的文件,但没有与我的文件已经到我的设备上。
那么,在我开始之前,我想知道是否有可能?
我看到了这个方法myWebView.loadData( );
我可以用它来解决我的问题吗?
我可以使用docs.google.com/gview和内部文件吗?
编辑
我尝试Der Gol … lum的解决scheme
这是我的代码:
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显示一个空白页面
假设你的文件是静态的和不可变的 ,你可以把这个文件放到你的assets
文件夹中,然后使用
mWebView.loadUrl("file:///android_asset/your_file");
加载到您的WebView。
我使用这种技术来显示帮助(HTML文件)。
您也可以使用assets
下的子文件夹(在我的情况下,我使用的URL如"file:///android_asset/help/help_" + language + ".htm"
),
因为我的文件在assets/help/
。