第一步:使用WebView组件

第二步:assets文件夹放对应HTML文件或js文件

第三步:引用

webView = findViewById(R.id.webView);//相关属性设置WebSettings webSettings = webView.getSettings();//是否支持JavaScriptwebSettings.setJavaScriptEnabled(true);// 开启DOM storage API 功能webSettings.setDomStorageEnabled(true);// 启动缓存webSettings.setAppCacheEnabled(true);// 设置缓存模式webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);webSettings.setDefaultTextEncodingName("utf-8");// 设置字符编码webSettings.setLoadWithOverviewMode(true);webSettings.setAllowUniversalAccessFromFileURLs(true);webSettings.setAllowFileAccess(true);// 设置允许访问文件数据webSettings.setAllowFileAccessFromFileURLs(true);
//关于setWebChromeClient的用法可以自己百度webView.setWebChromeClient(new WebChromeClient() {    public boolean shouldOverrideUrlLoading(WebView view, String url) {        view.loadUrl(url);        return true;    }    @Override    public void onProgressChanged(WebView view, int newProgress) {        super.onProgressChanged(view, newProgress);       //页面加载进度条        if (newProgress >= 100) {                //可以对页面数据进行加载            }        }    }    //拦截js alert()弹框    @Override    public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {        AlertDialog.Builder b2 = new AlertDialog.Builder(MapActivity.this);        b2.setTitle("提示");        b2.setMessage(message);        b2.setPositiveButton("ok", new AlertDialog.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                result.confirm();            }        });        b2.setCancelable(false);        b2.create();        b2.show();        return true;    }});
webView.loadUrl(“file:///android_asset/map/html/index.html”);//webview页面加载,到此为止,页面加载完成
//js调用Android方法webView.addJavascriptInterface(new MapJsApi(this), "androidView"); //对JS提供方法进行注册

//android 调用js方法

String call = "javascript:ys.home.map.cancelDraw()"; //直接去map中的方法

String call = "javascript:addElementLine('" + element.getPosition() + "','" + MapConstant.DC_LINE_LAYER_NAME + element.getName() + "','" + CoordinateUtil.convertDFMToDu(longtitude) + "','" + CoordinateUtil.convertDFMToDu(latitude)        + "','" + element.getTableType() + "','" + element.getHeritageId() + "','" + element.getFieldID() + "','" + element.getUniformNumber() + "','firebrick',3)";//复杂参数调用单引号包双引号

call = "javascript:clearFeaturesByLayerName('test1')"; //在init.js中有申明

webView.loadUrl(call);

 

更多相关文章

  1. 常用方法(1)------根据图片的url路径获得Bitmap对象
  2. Android静态安全检测 -> 密钥硬编码
  3. android屏幕监控上下左右滑动
  4. 使用android中的AIDL让Service与Activity通信[转]
  5. Android(安卓)BaseFragment封装
  6. Android之自定义ViewGroup
  7. [Android]单元测试实例
  8. android DrawerLayout 点击穿透、点击自身消失等问题解决
  9. android 解决viewpager+多个fragment+recyclerview,viewpager展示

随机推荐

  1. android win8效果实现进阶(一)
  2. No cached version of com.android.tools
  3. android 合包
  4. Canvas
  5. Android(安卓)关于Activity的四种启动模
  6. android Preference之android:dependency
  7. android 笔记 --- Bitmap与Drawable转换
  8. Android通知栏点击通知消失
  9. Android的屏幕多样性支持
  10. cocos2dx 使用jni方法获取android mac地