虚幻引擎UE4材质节点初级探究视频教程
16371 人在学
安卓是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
现在的app里面会嵌套一些h5酷炫的界面,而我们的app就需要和H5进行交互,下面我们就来看看怎么进行具体的交互。
HTML简易代码
里面主要有两个按钮,两个JS方法
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<scripttype="text/Javascript">
functionAndroidCallJs(){
document.getElementById("content").innerHTML=
"<br\\>Android调用了JS的无参函数";
}
functionAndroidCallJsParam(arg){
document.getElementById("content").innerHTML=
("<br\\>"+arg);
}
</script>
</head>
<body>
HTMLTest<br/>
<h1><divid="content">Test</div></h1>
<br/>
<inputtype="button"value="点击调用Android代码"onclick="window.android.startFunction()"/>
<br/>
<inputtype="button"value="点击调用Android代码并传递参数"onclick="window.android.startFunction('https://blog.csdn.net/sinat_26397681?spm=1000.2115.3001.5343')"/>
</body>
</html>
Android的调用方式
//无参数调用JS的方法
webview.loadUrl("javascript:AndroidCallJs()");
//有参调用HTMLjs方法
webview.loadUrl("javascript:AndroidCallJsParam("+"'https://blog.csdn.net/sinat_26397681?spm=1000.2115.3001.5343'"+")");
开启log日志
开启打印web的日志设置,可以看到log信息:
webview.setWebChromeClient(newWebChromeClient(){
publicbooleanonConsoleMessage(ConsoleMessagecm){
LogUtils.e(TAG,"打印web日志------"+cm.message()+"--Fromline"
+cm.lineNumber()+"of"
+cm.sourceId());
returntrue;
}
});
添加JavascriptInterface;
mWebView.addJavascriptInterface(newAndroidJavaScript(),"test");
AndroidJavaScript
publicclassAndroidJavaScript{
@JavascriptInterface
publicvoidtestPage(){
LogUtils.e("test","testPage");
}
}
testPage是和H5约定的名称,以上就是简易的Android和js的交互,具体的细节还需要和H5讨论。
Webview的基本设置
以下是webview的基本设置
WebSettingssetting=mWebView.getSettings();
setting.setJavaScriptCanOpenWindowsAutomatically(true);//设置js可以直接打开窗口,如window.open(),默认为false
setting.setJavaScriptEnabled(true);//是否允许执行js,默认为false。设置true时,会提醒可能造成XSS漏洞
setting.setSupportZoom(true);//是否可以缩放,默认true
setting.setBuiltInZoomControls(false);//是否显示缩放按钮,默认false
setting.setUseWideViewPort(true);//设置此属性,可任意比例缩放。大视图模式
setting.setLoadWithOverviewMode(true);//和setUseWideViewPort(true)一起解决网页自适应问题
setting.setAppCacheEnabled(true);//是否使用缓存
setting.setDomStorageEnabled(true);//DOMStorage
setting.setDatabaseEnabled(true);
setting.setAllowFileAccess(true);
setting.setAppCacheEnabled(true);
setting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);//图片太大
setting.setDatabasePath(getActivity().getApplicationContext().getCacheDir().getAbsolutePath());
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
setting.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。