android 使用html做应用程序界面初探
以前做毒霸极速版、网盾客户端都使用过网页做界面。所以对于这种模式我是情有独钟,而android 中的webview组件带的可是webkit内核,V8 脚本引擎啊,HTML5 啊,如果用这个做一些在线应用的界面,应该会是一个不错的选择吧。虽然android 写界面已经很简单了(相比5年前用Java Swing 写GUI 的痛苦记忆),但是在线的网页自然有在线的好处。而且HTML5 的离线存储功能也不错。说了一堆废话,对不起。
首先建立工程,使用webview 组件。
demo 代码核心部分:
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) this.findViewById(R.id.webview);
mHandler = new Handler();
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInte易做图ce(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:wave()");// 调用脚本函数
}
});
}
}, "demo"); // 为脚本函数提供了接口,window.demo.clickOnAndroid()
mWebView.loadUrl("file:///android_asset/html/notice.html");
有几点需要注意的地方:
(1)如果应用需要访问上网,在AndroidManifest.xml 中加入:
<uses-permission android:name="android.permission.INTERNET"/>
(2)代码中android_asset 相当于 工程路径中:assets 目录下的资源。
(3)setJavaScriptEnabled 是设置是否允许使用javascript脚本,一定要打开。
(4)在layout 下main.xml 中,<WebView android:id="@+id/webview" android:layout_width="fill_parent“ android:layout_height="wrap_content" />
顺利的完成该demo ,该demo 中主要就两个点:1。使用了网页做界面,2。实现了JavaScript 与 Java 的互相调用。
作者 -274°C
补充:移动开发 , Android ,