天天看點

WebView + jQuery

 相信UI設計是很多人頭疼的問題,今天看了一個視訊是通過webview+html 設計UI界面,想了一想可以将jquery整合進去(我以前是學做網站的,jquery可以實作很多效果)是以做了個demo,我這個demo隻是實驗下我的猜想是否可行,不是真正的ui設計,是以更多的是效果的實作界面挺難看的

WebView + jQuery

。 (demo在附件中)

先上圖:

WebView + jQuery
WebView + jQuery
WebView + jQuery

關鍵代碼(demo在附件中):

---------------------------------------------activity

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        view = (WebView)findViewById(R.id.wbShwo);

        view.getSettings().setJavaScriptEnabled(true);

        view.getSettings().setCacheMode(0);

        // 注冊javascript對象

        view.addJavascriptInterface(new JavaScriptMake(view,this),"jsMake");

    }

-----------------------------------------javascript與java互動類

package com.my;

import org.apache.commons.logging.Log;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import android.app.Activity;

import android.webkit.WebView;

import android.widget.Toast;

public class JavaScriptMake {

 private WebView view;

 private Activity activity ;

 public JavaScriptMake(WebView view,Activity activity) {

  this.view = view;

  this.activity= activity;

 }

 /**

  * java 将資料傳給js  通過loadUrl()調用 js方法

  */

 public void javaToJs()

 {

  view.loadUrl("javascript:iniData('"+inidata()+"')");

  * js 将資料傳給 java 通過WebView 的addJavascriptInterface()方法 映射一個對象 然後再js中通過javascript:對象.方法(參數)的方式調用

  * @param s

 public void jsTojava(String s)

  Toast.makeText(activity,s,Toast.LENGTH_SHORT).show();

  * 初始化資料

  * @return

 public String inidata() {

  try {

   //封裝json對象

   JSONObject jsonObject = new JSONObject();

   jsonObject.put("name", "zhangsan");

   jsonObject.put("sex", "男");

   jsonObject.put("age","16");

   JSONObject jsonObject1 = new JSONObject();

   jsonObject1.put("name", "lisi");

   jsonObject1.put("sex", "男");

   jsonObject1.put("age","25");

   JSONObject jsonObject2  = new JSONObject();

   jsonObject2.put("name", "wangwu");

   jsonObject2.put("sex", "男");

   jsonObject2.put("age","26");

   JSONArray array = new JSONArray();

   array.put(jsonObject);

   array.put(jsonObject1);

   array.put(jsonObject2);

   android.util.Log.d("log",array.toString());

   return array.toString();

  } catch (JSONException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

  return "";

}