Android开发学习笔记 浅谈WebView_Android

第一种方法的步骤:

1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
  互联网用:webView.loadUrl("http://www.google.com");
  本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
  <uses-permission android:name="android.permission.INTERNET" />

下面是具体例子:

MainActivity.java

package com.android.webview.activity; 

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView; 

public class MainActivity extends Activity {
 private WebView webview;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //实例化WebView对象
  webview = new WebView(this);
  //设置WebView属性,能够执行Javascript脚本
  webview.getSettings().setJavaScriptEnabled(true);
  //加载需要显示的网页
  webview.loadUrl("http://www.jb51.net/");
  //设置Web视图
  setContentView(webview);
 } 

 @Override
 //设置回退
 //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
   webview.goBack(); //goBack()表示返回WebView的上一页面
   return true;
  }
  return false;
} 

在AndroidManifest.xml文件中的17行添加权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.webview.activity"
  android:versionCode="1"
  android:versionName="1.0">
 <uses-sdk android:minSdkVersion="10" /> 

 <application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name=".MainActivity"
     android:label="@string/app_name">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>
 </application>
 <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

效果图:

第二种方法的步骤:

1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl( )方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置  WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET"/>
 
 下面是具体的例子:

MainActivity.java

package com.android.webview.activity; 

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient; 

public class MainActivity extends Activity {
 private WebView webview;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  webview = (WebView) findViewById(R.id.webview);
  //设置WebView属性,能够执行Javascript脚本
  webview.getSettings().setJavaScriptEnabled(true);
  //加载需要显示的网页
  webview.loadUrl("http://www.jb51.net/");
  //设置Web视图
  webview.setWebViewClient(new HelloWebViewClient ());
 } 

 @Override
 //设置回退
 //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
   webview.goBack(); //goBack()表示返回WebView的上一页面
   return true;
  }
  return false;
 } 

 //Web视图
 private class HelloWebViewClient extends WebViewClient {
  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
   view.loadUrl(url);
   return true;
  }
 }
} 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
 <WebView
  android:id="@+id/webview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />
</LinearLayout> 

在AndroidManifest.xml文件中的17行添加权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.webview.activity"
  android:versionCode="1"
  android:versionName="1.0">
 <uses-sdk android:minSdkVersion="10" /> 

 <application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name=".MainActivity"
     android:label="@string/app_name">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>
 </application>
 <uses-permission android:name="android.permission.INTERNET"/>
</manifest> 

效果图:

本文出自 “IT的点点滴滴” 博客

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
webview
,以便于您获取更多的相关知识。

时间: 2024-11-08 17:25:03

Android开发学习笔记 浅谈WebView_Android的相关文章

Android开发学习笔记 浅谈WebView

第一种方法的步骤: 1.在要Activity中实例化WebView组件:WebView webView = new WebView(this); 2.调用WebView的loadUrl()方法,设置WevView要显示的网页:   互联网用:webView.loadUrl("http://www.google.com");   本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets

友善之臂Mini6410之Android开发学习笔记(4)-EEPROM Demo

友善之臂Mini6410之Android开发学习笔记源码同步更新,请使用git工具进行同步.关于Git工具更多信息,请参考:http://progit.org/book/zh/ git clone https://code.google.com/p/androiddemoformini6410/ EEPROMActivity.java package com.mini6410.EEPROM; import android.app.Activity; import android.os.Bundl

友善之臂Mini6410之Android开发学习笔记(1)-LED Demo

友善之臂Mini6410之Android开发学习笔记源码同步更新,请使用git工具进行同步.关于Git工具更多信息,请参考:http://progit.org/book/zh/ git clone https://code.google.com/p/androiddemoformini6410/ LEDActivity.java package com.mini6410.LED; import com.friendlyarm.AndroidSDK.HardwareControler; impor

友善之臂Mini6410之Android开发学习笔记(3)-ADC Demo

友善之臂Mini6410之Android开发学习笔记源码同步更新,请使用git工具进行同步.关于Git工具更多信息,请参考:http://progit.org/book/zh/ git clone https://code.google.com/p/androiddemoformini6410/ ADCActivity.java package com.mini6410.ADC; import java.util.Timer; import java.util.TimerTask; import

友善之臂Mini6410之Android开发学习笔记(2)-PWM Demo

友善之臂Mini6410之Android开发学习笔记源码同步更新,请使用git工具进行同步.关于Git工具更多信息,请参考:http://progit.org/book/zh/ git clone https://code.google.com/p/androiddemoformini6410/ PWMActivity.java package com.mini6410.PWM; import android.app.Activity; import android.os.Bundle; imp

Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式_Android

本文将讲解如何通过codecogs.com和Google.com提供的API接口来将LaTeX数学函数表达式转化为图片形式.具体思路如下:       (1)通过EditText获取用户输入的LaTeX数学表达式,然后对表达式格式化使之便于网络传输.       (2)将格式化之后的字符串,通过Http请求发送至codecogs.com或者Google.com.       (3)获取网站返回的数据流,将其转化为图片,并显示在ImageView上. 具体过程为: 1.获取并格式化LaTeX数学表

C#学习笔记- 浅谈数组复制,排序,取段,元组_C#教程

C#学习笔记- 浅谈数组复制,排序,取段,元组 using System; using System.Collections.Generic; namespace Application { class Test { static void Main () { //元组类型Tuple是静态类型,用静态方法创建实例,超过8个元素则第8个元素是元组类型 var tupe = Tuple.Create<int,int,string,string> (1, 2, "a", &quo

android 开发学习笔记 -------- 编译环境的配置

前言:                   android开发环境的配置是一个经常出现在博客的话题,这里重复别人的内容的同时也是提醒自己记住一些基础的知识.          基本上每一个成熟的平台的源码包都会附带一个编译环境配置的文档,内容大同小异,这里仅就主要的内容描述如下: 正文:       1.   安装linux操作系统,建议安装 ubuntu LTS版本,地址:http://www.ubuntu.com.cn/download . 2.   需要的编译器:Python:GNU Ma

Android开发学习笔记 Gallery和GridView浅析_Android

一.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery还可以和ImageSwitcher组件结合使用来实现一个通过缩略图来浏览图片的效果. Gallery常用的XML属性 属性名称 描述 android:animationDuration 设置布局变化时动画的转换所需的时间(毫秒级).仅在动画开始时计时.该值必须是整数,比如:100. android:gravity 指定在对象的X和Y轴上如何放置内