频道栏目
首页 > 资讯 > Android基础教程 > 正文

第98章、WebView组件(从零开始学Android)

16-02-02        来源:[db:作者]  
收藏   我要投稿
WebView很简单,目的就是为了显示网页,而且显示在指定区域中。

(1)LoadUrl直接显示网页内容;

(2)LoadData显示中文网页内容。

(3)setJavaScriptEnabled()支持JavaScript。

一、设计界面

1、布局文件

打开res/layout/activity_main.xml文件。
输入以下代码:

[html] view plain copy
 
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
  3. android:orientation="vertical"   
  4. android:layout_width="match_parent"   
  5. android:layout_height="match_parent" >   
  6.     <WebView   
  7.         android:id="@+id/webview"   
  8.         android:layout_width="match_parent"   
  9.         android:layout_height="400dip" />  
  10.   
  11.     <Button  
  12.         android:id="@+id/show"  
  13.         android:layout_width="wrap_content"  
  14.         android:layout_height="wrap_content"  
  15.         android:text="WebView显示网页" />  
  16.    
  17. </LinearLayout>   

二、程序文件

打开“src/com.genwoxue.webview/MainActivity.java”文件。
然后输入以下代码:

[java] view plain copy
 
  1. package com.genwoxue.webview;  
  2.   
  3. import android.app.Activity;   
  4. import android.os.Bundle;   
  5. import android.view.KeyEvent;   
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.webkit.WebView;   
  9. import android.webkit.WebViewClient;   
  10. import android.widget.Button;  
  11.   
  12. public class MainActivity extends Activity {   
  13.     private WebView webview;   
  14.     private Button btnShow=null;  
  15.     @Override   
  16.     public void onCreate(Bundle savedInstanceState) {   
  17.         super.onCreate(savedInstanceState);   
  18.         setContentView(R.layout.activity_main);   
  19.           
  20.         btnShow=(Button)super.findViewById(R.id.show);  
  21.         btnShow.setOnClickListener(new OnClickListener(){  
  22.                public void onClick(View v)  
  23.                {    
  24.                     webview = (WebView) findViewById(R.id.webview);   
  25.                     //设置WebView属性,能够执行Javascript脚本   
  26.                     webview.getSettings().setJavaScriptEnabled(true);   
  27.                     //加载需要显示的网页   
  28.                     webview.loadUrl("http://www.genwoxue.com");   
  29.                     //设置Web视图:目的是在WebView中打开其他链接仍然显示在此,而不是新开Android默认的浏览器打开新页面   
  30.                     webview.setWebViewClient(new HelloWebViewClient ());   
  31.                 }  
  32.         });  
  33.     }   
  34.   
  35.     @Override   
  36.     //设置回退 :目的防止单击手机BACK键退出应用程序  
  37.     //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法   
  38.     public boolean onKeyDown(int keyCode, KeyEvent event) {   
  39.         if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {   
  40.             webview.goBack(); //goBack()表示返回WebView的上一页面   
  41.             return true;   
  42.         }   
  43.         return false;   
  44.     }     
  45.   
  46.     //Web视图   
  47.     private class HelloWebViewClient extends WebViewClient {   
  48.         @Override   
  49.         public boolean shouldOverrideUrlLoading(WebView view, String url) {    
  50.             view.loadUrl(url);   
  51.             return true;   
  52.         }   
  53.     }  
  54. }  


三、配置文件

打开“AndroidManifest.xml”文件。

然后输入以下代码:

[html] view plain copy
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.genwoxue.webview"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.   
  7.     <uses-sdk  
  8.         android:minSdkVersion="10"  
  9.         android:targetSdkVersion="15" />  
  10.       
  11.         <uses-permission android:name="android.permission.INTERNET" />  
  12.   
  13.     <application  
  14.         android:allowBackup="true"  
  15.         android:icon="@drawable/ic_launcher"  
  16.         android:label="@string/app_name"  
  17.         android:theme="@style/AppTheme" >  
  18.         <activity  
  19.             android:name="com.genwoxue.webview.MainActivity"  
  20.             android:label="@string/app_name" >  
  21.             <intent-filter>  
  22.                 <action android:name="android.intent.action.MAIN" />  
  23.                 <category android:name="android.intent.category.LAUNCHER" />  
  24.             </intent-filter>  
  25.         </activity>  
  26.           
  27.     </application>  
  28.   
  29. </manifest>  

 

注意:由于访问网络,需要在AndroidManifest.xml文件中添加权限:

<uses-permission android:name="android.permission.INTERNET" />

四、运行结果

相关TAG标签
上一篇:第99章、Android调用Javascript(从零开始学Android)
下一篇:第97章、短信监听(从零开始学Android)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站