Android Local HTML
assets
Easiest way to read local HTML file is to save file into assets folder.
By default, Android Studio project doesn’t have assets directory.
You should make under app/src/main
And save html file under it.
Source code
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="jp.co.rakuten.toolbar.webviewtest.MainActivity" tools:showIn="@layout/activity_main"> <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent"> </WebView> </RelativeLayout>
Source
public class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webview); //webView.getSettings().setJavaScriptEnabled(true); // Load local webview webView.loadUrl("file:///android_asset/index.html"); }
HTML file
<html> <head> <title>JavaScript</title> <script> function test() { alert("OK"); } </script> </head> <body> <button onclick="test();">Click me!</button> </body> </html>