I did try samples, demos from Google codes and other resources with WebView
, but when i try to do it in my own code, it doesn't work for me.
I want to load myfile.html
which i put in assets folder, and using:
private WebView myWebView;
myWebView.loadUrl("file:///android_assets/myfile.html");
On emulator shows error
The web page at
file:///android_assets/myfile.html
could not be loaded as: The requested file was not found./android_assets/myfile.html
When i put that file to res/raw/
folder and using:
myWebView.loadUrl("file:///android_res/raw/myfile.html");
then only emulator android 2.2 API level 8 can load the file probably, other older versions show the same error. Am i missing something?
Is there any way of loading an existing .html file in the application package which works on all API versions ?
ok, that was my very stupid mistake. I post the answer here just in case someone has the same problem.
The correct path for files stored in assets folder is file:///android_asset/*
(with no "s" for assets folder which i was always thinking it must have a "s").
And, mWebView.loadUrl("file:///android_asset/myfile.html");
works under all API levels.
I still not figure out why mWebView.loadUrl("file:///android_res/raw/myfile.html");
works only on API level 8. But it doesn't matter now.
paste your .html file in assets folder of your project folder. and create an xml file in layout folder with the fol code: my.xml:
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
add fol code in activity
setContentView(R.layout.my);
WebView mWebView = null;
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_asset/new.html"); //new.html is html file name.