android学习总结(五)---简单浏览器demo的实现

本文是关于Android简单浏览器的开发总结,详细介绍了实现过程,包括输入网址、前进后退、刷新、历史记录和书签功能的实现。同时,讨论了解决问题的方法,以及后续可改进之处,涉及WebView、ListView、SQLite数据库的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一实现的过程

功能需求的定义

结合WebViewAPI,初步确定这个简单浏览器的功能如下:

输入网址,显示跳转页面

页面的前进和回退

页面刷新

停止加载页面

历史记录的显示和清除

书签的添加和显示

保存图片

设置背景颜色

在页面内查找串

10 清除缓存

后来结合实际情况,最后确定浏览器所具有的功能如下:

输入网址,显示跳转页面

页面的前进和回退

页面刷新

历史记录的显示和清除

书签的添加和显示

接下来,一一介绍这些功能是怎样实现的

1输入网址,显示跳转页面

WebView提供了一个很好的接口void loadUrlString url),要使用WebView控件,需要在AndroidManifest.xml中添加如下权限:

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

为了达到更好的效果,我增加了一个ProcessDialog控件,在页面加载过程中显示该控件;

增加一个ButtonEdtiText,用于相应输入和接受输入。

页面的前进和后退

WebView提供了一对接口canGoBack()和goBack以及canGoFoward()和goFoward(),这里必须注意的是一定要重写onKeyDown()函数,否则当按返回键时,就会退出这个浏览器了。

刷新页面

利用WebView的接口reload()即可。

历史记录显示和删除

1历史记录的显示

在介绍这个之前,还要先介绍我写的另一个类ListShower,这个类将ArrayList<HashMap<String,String>>这样一个结构用listView显示出来,并且选中某一项时,将这一项的URL带回来。HashMap用来存放网址的标题和URL。有了这个类,显示历史记录就很简单了,利用WebView 的接口copyBackForwardList(),可活动历史记录的列表,在将它们放于ArrayList<HashMap<String,String>>这样的对象中,最后利用Intent的对象实现两个Activity之间的数据交换和跳转即可。

2历史记录的删除

利用WebView的接口clearHistory()即可。

书签的添加和显示

书签包含网址的标题和URL,这些信息需要保存到本地,而android数据存储在本地的方式有sharePreferenceFile以及SQLite数据库,考虑到数据的操作方便,我选的是将书签的信息保存到SQLite数据库里,这样取得利用WebView提供的接口getTitlegetUrl取得当前页面的标题和URL,再保存到数据库里即可。

书签的显示,先从数据库里拉取所有的数据,保存到ArrayList<HashMap<String,String>>的结构里,利用ListShower将其显示即可。

二遇到的问题

有时候不能显示网页

数据库创建失败

三解决的方法

刚开始的时候默认浏览器不能浏览器网页,后来设置了它的代理服务器和端口号就可以上网了。但利用WebView有时候还是不能上网。为了方便测试,我做了两个本地网页作为测试用,就解决了不能浏览网页的问题。

数据库这块,我创建了一个Bookmark类来管理,这个类的父类是Activity。在Main这个类里有个Bookmark的对象,它在OnCreate时被new出来,但在创建数据库时,放回的值总是空值,原来一个activitynew出来,但它还是处于为被激活状态,必须通过startAtctivity()将它激活。但这这样做的话必须要先停止Main这个activity。后来我想用Bookmark继承至server类,但发现这样数据交换的话,要改事先定义好的接口。最后我的解决方法是将Bookmar继承至Object类,这样只要new出来就可以了,然后再将Mainthis指针传进去,就可以调用SQLite的接口了。

四 还可以完善和改进的地方

1书签的删除

这个需要删除ListView的选中的一项,然后在数据库中也删除这项。

2保存图片

可以选中网页中的图片,保存到本地

3书签重复

要检查当前添加的书签在数据库中是否已经存在。

五 学到的东西

1 Logcat某些日志信息的含义

2 WebView常用接口的使用

浏览器的基本功能

4 ListView的使用

5 WebView常用接口的使用

6 SQLite数据库的简单使用


效果如如下:

      

资源下载地址:

http://download.csdn.net/detail/shouhuqi/4490081

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值