android 使用html做应用程序界面初探

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.addJavascriptInterface( 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 的互相调用。

你可能感兴趣的:(android 使用html做应用程序界面初探)