以前做前端开发的时候,经常遇到需要把H5页面直接在app里面打开的情况,比如论坛、抽奖活动、秒杀活动等,将H5嵌入WebView的做法,可以减少客户端开发,升级等,小功能快速交付上线,但是也有一个问题,调试非常麻烦,在浏览器里面测试没有问题的功能,在WebView里面可能会遇到很多问题。
这里介绍如何开发一个简单的WebView,并打开http://www.baidu.com页面。
1、activity_main.xml配置文件中设计一个WebView控件,控件id为wv。
<?xml version="1.0" encoding="utf-8"?>
<WebView android:id="@+id/wv"
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"/>
2、在默认的MainActivity中编写WebView相关的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//initView();
webView = (WebView)findViewById(R.id.wv);
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.loadUrl("http://www.baidu.com/");
}
3、在AndroidManifest.xml文件中配置uses-permission,一定要加。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.myandroidapp">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
最后运行MainActivity.java,连接手机测试。展示baidu H5页面。
如果不在AndroidManifest.xml文件中设置uses-permission,那么就会出现如下图所示的网页无法打开错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)