目录

  • 1 第一周 android简介
    • 1.1 第一课 Android基础入门1
    • 1.2 第二课 Android基础入门2
    • 1.3 第三课 Android UI开发介绍
  • 2 第二周 android布局
    • 2.1 第一课 Android 布局文件介绍1
    • 2.2 第二课 Android 布局文件介绍2
    • 2.3 第三课 Android 布局文件介绍3
  • 3 第三周 Android UI组件开发
    • 3.1 第一课 Button和ImageButton
    • 3.2 第二课 TextView和EditText
    • 3.3 第三课 RadioButton和CheckBox
  • 4 第四周 Android UI组件开发
    • 4.1 第一课 Spinner和ListView
    • 4.2 第二课 应用案例-手机信息页面
    • 4.3 第三课 Android生命周期
  • 5 第五周 Android组件通信
    • 5.1 第一课 Intent的介绍
    • 5.2 第二课 Intent实现各种系统功能
    • 5.3 第三课 应用案例-手机注册页面
  • 6 第六周 数据存储
    • 6.1 第一课 应用案例-新建联系人
    • 6.2 第二课 数据存储-简单文件存储
    • 6.3 第三课 SharedPreferences存储
  • 7 第七周 数据存储
    • 7.1 第一课 xml文件存储
    • 7.2 第二课 应用案例-植物百科
    • 7.3 第三课  ListView 组件高级使用
  • 8 第八周 SQLite数据库
    • 8.1 第一课 应用案例-应用列表
    • 8.2 第二课 使用SQLite数据库存储(创建数据库和表)
    • 8.3 第三课 使用SQLite数据库存储(对表数据操作)
  • 9 第九周 项目实战-商品购物车处理
    • 9.1 第一课 使用SQLite数据库存储(对表数据查询)
    • 9.2 第二课 商品购物车处理(布局)
    • 9.3 第三课 商品购物车处理(数据处理)
  • 10 第十周 内容提供者及广播
    • 10.1 第一课 内容提供者的使用
    • 10.2 第二课 广播概念以及如何使用
    • 10.3 第三课 自定义广播
  • 11 第十一周 广播和服务
    • 11.1 第一课 应用案例-电池电量
    • 11.2 第二课 应用案例-通话记录
    • 11.3 第三课 服务简介
  • 12 第十二周 服务应用
    • 12.1 第一课 应用案例—音乐播放器
    • 12.2 第二课 应用案例—地震监测
    • 12.3 第三课 获得手机SIM卡信息
  • 13 第十三周 网络编程
    • 13.1 第一课 网络编程入门
    • 13.2 第二课 使用HttpClient访问网络
    • 13.3 第三课 webview组件
  • 14 第十四周 网络编程应用案例
    • 14.1 第一课 消息机制简介
    • 14.2 第二课 应用案例-应用升级
    • 14.3 第三课 应用案例-应用升级
第三课 webview组件

一、使用WebView组件浏览网页




在XML布局文件中添加一个WebView组件可以使用下面的代码:

<WebView

    android:id="@+id/webView1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"/>


WebView组件提供的常用方法:

                                   

 

方法

 
 

描述

 
 

loadUrl(String  url)

 
 

用于加载指定URL对应的网页

 
 

loadData(String  data, String mimeType,  String encoding)

 
 

用于将指定的字符串数据加载到浏览器中

 
 

loadDataWithBaseURL(String  baseUrl, String data, String mimeType, String encoding, String historyUrl)

 
 

用于基于URL加载指定的数据

 
 

capturePicture()

 
 

用于创建当前屏幕的快照

 
 

goBack()

 
 

执行后退操作,相当于流利器上的后退按钮的功能

 
 

goForward()

 
 

执行前进操作,相当于浏览器上的前进按钮的功能

 
 

stopLoading()

 
 

用于停止加载当前页面

 
 

reload()

 
 

用于刷新当前页面

 


在Eclipse中创建Android项目,实现应用WebView组件浏览指定网页。


布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.mingrisoft.MainActivity" >

<WebView

    android:id="@+id/webView1"

    android:layout_width="match_parent"

    android:layout_height="match_parent" />

</RelativeLayout>


界面代码:

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

WebView webview=(WebView)findViewById(R.id.webView1); //获取布局管理器中添加的WebView组件

webview.loadUrl("http://192.168.1.66:8080/bbs/"); //指定要加载的网页


}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

}


注意:

如果想让WebView组件具有放大和缩小网页的功能,需要进行以下设置。

webview.getSettings().setSupportZoom(true);

webview.getSettings().setBuiltInZoomControls(true);

二、使用WebView加载HTML代码

loadData()方法和loadDataWithBaseURL()方法

loadDataWithBaseURL()方法的基本语法格式如下:

loadDataWithBaseURL(StringbaseUrl,String data, String mimeType,String encoding, String historyUrl)


loadDataWithBaseURL()方法的参数说明:

                       

 

参数

 
 

描述

 
 

baseUrl

 
 

用于指定当前页使用的基本URL。如果为null,则使用默认的about:blank,也就是空白页

 
 

data

 
 

用于指定要显示的字符串数据

 
 

mimeType

 
 

用于指定要显示内容的MIME类型。如果null,默认使用text/html

 
 

encoding

 
 

用于指定数据的编码方式

 
 

historyUrl

 
 

用于指定当前页的历史URL,也就是进入该页前显示页的URL。如果为null,则使用默认的about:blank

 


在Eclipse中创建Android项目,应用WebView组件加载使用HTML代码实现个人理财通的帮助功能。



布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.mingrisoft.MainActivity" >

<WebView

    android:id="@+id/webView1"

    android:layout_width="match_parent"

    android:layout_height="match_parent" />

</RelativeLayout>


界面实现:

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

WebView webview=(WebView)findViewById(R.id.webView1);//获取布局管理器中添加的WebView组件

//创建一个字符串构建器,将要显示的HTML内容放置在该构建器中

StringBuilder sb=new StringBuilder();

sb.append("<div>《个人理财通》使用帮助:</div>");

sb.append("<ul>");

sb.append("<li>修改密码:选择“系统设置”模块可以修改登录密码,项目运行时,默认没有密码。</li>");

sb.append("<li>支出管理:选择“新增支出”模块可以添加支出信息;选择“我的支出”模块可以查看、修改或删除支出信息。</li>");

sb.append("<li>收入管理:选择“新增收入”模块可以添加收入信息;选择“我的收入”模块可以查看、修改或删除收入信息。</li>");

sb.append("<li>便签管理:选择“收支便签”模块可以添加便签信息;选择“数据管理”模块中的“便签信息”按钮可以查看、修改或删除便签信息。</li>");

sb.append("<li>退出系统:选择“退出”模块可以退出《个人理财通》项目。</li>");

sb.append("</ul>");

webview.loadDataWithBaseURL(null, sb.toString(),"text/html","utf-8",null);//加载数据


}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

}