android通过webview+jquery设计界面

引用:http://zhanhao.iteye.com/blog/1113776  (有源码包)

相信UI设计是很多人头疼的问题,今天看了一个视频是通过webview+html 设计UI界面,想了一想可以将jquery整合进去(我以前是学做网站的,jquery可以实现很多效果)所以做了个demo,我这个demo只是实验下我的猜想是否可行,不是真正的ui设计,所以更多的是效果的实现界面挺难看的。 (demo在附件中)

先上图:




 

 

关键代码(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");
        //加载xml文件file:///android_asset 表示 assets 资源
        view.loadUrl("file:///android_asset/test.html");
    }

-----------------------------------------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 "";
 }
}

原文地址:https://www.cnblogs.com/sode/p/2119274.html