时间:2021-05-19
前言 Android webView 兼容体验真的差到了极点!!
前一阵子,老板要将 WebAPP 放到 Android 和 iOS 里面,而我因为以前做过安卓,所以这方面就由我来打包,原理是很简单的,就是打开 APP 的时候用 webView 加载网站的网址,这样服务器一次更新,就能更新微信版, iOS 版和 Android 版;
首先我要说一句,如果你的 WebAPP 里面有文件上传,并且想要完全兼容,那么就别用原生的 WebAPP, 后面我会写一个关于 crossWalk 的博客,不过在此之前,我先记录下我所经历的一些坑,我的工具使用的是 Android studio;
创建一个项目,这个我就不说了,网上很多教程;
首先在 app/src/main/AndroidManifest.xml 里添加权限:
注意本文代码中的"..."都代表省略的代码
<manifest ...> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <application ... </application></manifest>再是 app/src/main/res/layout/activity_main.xml 添加:
<WebView android:id="@+id/local_webview" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone" />MainActivety.java:
private WebView webview;//...protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } webview = findViewById(R.id.local_webview); WebSettings settings = webview.getSettings(); loading = findViewById(R.id.loadView); settings.setJavaScriptEnabled(true);//必须 settings.setCacheMode(WebSettings.LOAD_DEFAULT);//关闭webview中缓存 settings.setRenderPriority(WebSettings.RenderPriority.HIGH);//提高渲染的优先级 settings.setUseWideViewPort(true);//WebView是否支持HTML的“viewport”标签或者使用wide viewport。 settings.setAllowContentAccess(true);//是否允许在WebView中访问内容URL settings.setBuiltInZoomControls(true);//是否使用其内置的变焦机制 settings.setJavaScriptCanOpenWindowsAutomatically(true);//是否允许自动打开弹窗 settings.setDomStorageEnabled(true);//是否开启DOM存储API权限 webview.loadUrl("http:///Grewer/android-casing-webapp声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
WebApp的劣势:由于WebApp的开发几乎完全构建在Webview的基础之上,因此在Webview上对事件的处理以及响应的能力就直接决定了用户的体验,Web
本文实例讲述了Android编程使用WebView实现与Javascript交互的方法。分享给大家供大家参考,具体如下:Android中可以使用WebView加
Android解决WebView无法上传文件的问题Android原生的WebView并不支持上传文件,需要我们自己实现相应的方法。于是我把工作中的相关代码记录下
Android设备多分辨率的问题Android浏览器默认预览模式浏览会缩小页面WebView中则会以原始大小显示Android浏览器和WebView默认为mdp
在android中的webview中,可以对文本内容进行对齐,具体方法如下publicclassMainActivityextendsActivity{@Ove