简单webview
Webview翻译API如果你想在你的客户端应用中添加一个网页,你就可以使用webview,webview这个类是来自于android的view类,它允许你将网页内容作为应用的一部分显示,它不包括任何网页的开发特性,比如各种控件和工具条,这都是web的内容,他只包括显示网页(也就是它只显示网页的内容)。基本的使用方案中介绍使用webview是很有帮助的,当你想在你的应用中使用更新信息的时候
Webview翻译API
如果你想在你的客户端应用中添加一个网页,你就可以使用webview,webview这个类是来自于android的view类,它允许你将网页内容作为应用的一部分显示,它不包括任何网页的开发特性,比如各种控件和工具条,这都是web的内容,他只包括显示网页(也就是它只显示网页的内容)。
基本的使用方案中介绍使用webview是很有帮助的,当你想在你的应用中使用更新信息的时候,比如说一份用户指南,在这里你就可以创建一个activity包含一个webview,然后使用它来在线显示。
另一个使用webview的好处是如果你的应用需要提供给用户一些数据,那些数据是需要联网取回的,比如说email,如果这样的话,你就可以建一个webview,用来显示这些数据,比起先从网页获取数据再解析要好的多,同时,你也可以设计一个网页用来适应你的webview,让它可以在那下载。
下面介绍了如果使用webview和添加一些内容,比如浏览和添加JavaScript的支持在你的自己的开发应用中。
1、在布局文件中申明webview元素
<WebView
android:id="@+id/wv"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
2、使用loadUrl()来打开相应的网页
WebView wv1;
wv1=(WebView)findViewById(R.id.wv);
wv1.loadUrl("www.baidu.com");
//记得加http://协议,刚开始的时候没使用http://提示跟没有权限是一样的
3、添加相应的权限
<uses-permission android:name="android.permission.INTERNET"/>
如果没有这个权限,那么将会出现webpage not available
而且一般情况下,如果你在打开你的模拟器之前没网,即使你这么设置了也不可以联网,你的重新启动模拟器。最简单的方法是打开你的模拟器的浏览器看能不能联网
通过上述设置之后,当你打开网页,当你运行代码的时候它会通过浏览器来打开,而非你的webview来打开,因为还需设置
wv1.setWebViewClient(new WebViewClient());
给它一个默认的webviewclient对象,有这个设置之后,它就会在当前的webview中打开相应的网页,这儿除了上面一种方法,还有一个比较完整的方法
wv1.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
);
实际上就是给它添加了一个方法,重写了它的shouldOverrideUrlLoading方法,我在模拟器上实现的时候没复写这个方法,也是可以在当前webview中打开网页的
4、当我们在一个activity中按下返回键,那么它就会执行退出这个activity,从而将原本的activity杀死,因为我们需要进行设置,实现activity的onkeyDown方法
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判断,当按下的是返回键,而且这个webview可以返回的时候,调用webview的返回方法
if(keyCode==KeyEvent.KEYCODE_BACK && wv1.canGoBack()){
wv1.goBack();
}
//注意,这儿就不能调用父类的处理方式了,不然你是可以返回上一个界面,然后你的整个activity都会死掉,因此你应该直接返回true
//return super.onKeyDown(keyCode, event);
Return true;
}
5、如果你想让你的webview支持javascript,你必须在你的webview中确保它能够使用,你就应该在你的应用代码和javascript代码之间创建一个链接。
javaScript并没有被webview默认支持,你能够通过websetting让你的webview支持它,你也可以通过getsetting()来取回数据,然后setJavaScriptEnabled()来允许访问。
wv1.getSettings().setJavaScriptEnabled(true);
Webview翻译API
如果你想在你的客户端应用中添加一个网页,你就可以使用webview,webview这个类是来自于android的view类,它允许你将网页内容作为应用的一部分显示,它不包括任何网页的开发特性,比如各种控件和工具条,这都是web的内容,他只包括显示网页(也就是它只显示网页的内容)。
基本的使用方案中介绍使用webview是很有帮助的,当你想在你的应用中使用更新信息的时候,比如说一份用户指南,在这里你就可以创建一个activity包含一个webview,然后使用它来在线显示。
另一个使用webview的好处是如果你的应用需要提供给用户一些数据,那些数据是需要联网取回的,比如说email,如果这样的话,你就可以建一个webview,用来显示这些数据,比起先从网页获取数据再解析要好的多,同时,你也可以设计一个网页用来适应你的webview,让它可以在那下载。
下面介绍了如果使用webview和添加一些内容,比如浏览和添加JavaScript的支持在你的自己的开发应用中。
1、在布局文件中申明webview元素
<WebView android:id="@+id/wv" android:layout_width="match_parent" android:layout_height="match_parent" /> |
2、使用loadUrl()来打开相应的网页
WebView wv1; wv1=(WebView)findViewById(R.id.wv); wv1.loadUrl("www.baidu.com"); //记得加http://协议,刚开始的时候没使用http://提示跟没有权限是一样的 |
3、添加相应的权限
<uses-permission android:name="android.permission.INTERNET"/> 如果没有这个权限,那么将会出现webpage not available 而且一般情况下,如果你在打开你的模拟器之前没网,即使你这么设置了也不可以联网,你的重新启动模拟器。最简单的方法是打开你的模拟器的浏览器看能不能联网 |
通过上述设置之后,当你打开网页,当你运行代码的时候它会通过浏览器来打开,而非你的webview来打开,因为还需设置
wv1.setWebViewClient(new WebViewClient()); 给它一个默认的webviewclient对象,有这个设置之后,它就会在当前的webview中打开相应的网页,这儿除了上面一种方法,还有一个比较完整的方法 wv1.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } ); 实际上就是给它添加了一个方法,重写了它的shouldOverrideUrlLoading方法,我在模拟器上实现的时候没复写这个方法,也是可以在当前webview中打开网页的 |
4、当我们在一个activity中按下返回键,那么它就会执行退出这个activity,从而将原本的activity杀死,因为我们需要进行设置,实现activity的onkeyDown方法
public boolean onKeyDown(int keyCode, KeyEvent event) { //判断,当按下的是返回键,而且这个webview可以返回的时候,调用webview的返回方法 if(keyCode==KeyEvent.KEYCODE_BACK && wv1.canGoBack()){ wv1.goBack(); } //注意,这儿就不能调用父类的处理方式了,不然你是可以返回上一个界面,然后你的整个activity都会死掉,因此你应该直接返回true //return super.onKeyDown(keyCode, event); Return true; } |
5、如果你想让你的webview支持javascript,你必须在你的webview中确保它能够使用,你就应该在你的应用代码和javascript代码之间创建一个链接。
javaScript并没有被webview默认支持,你能够通过websetting让你的webview支持它,你也可以通过getsetting()来取回数据,然后setJavaScriptEnabled()来允许访问。
wv1.getSettings().setJavaScriptEnabled(true); |
更多推荐
所有评论(0)