Posts List

毕设项目中的开源库

这篇博文分享一下我在毕业设计开发时用到的一些开源库和技术。 Aria 用于实现WebView的文件下载功能,我们知道原生的WebView是没有下载功能的,所以需要自己实现。我并没有这方面的知识,从网上看了一些资料后,最终选择了Aria,使用效果还是不错的。 BRVAH 全名BaseRecyclerViewAdapterHelper,是一个RecyclerAdapter框架。我的项目使用了很多RecyclerView,而定义Adapter是个很头疼的事情,太多重复的工作。项目使用此框架后精简了很多代码,此外它还有Item点击事件、列表加载动画、拖拽/滑动删除等一系列实用的功能。

WebView开发问题

今天来说一下我在毕业设计开发时遇到的一个问题。我开发的是一个基于Android WebView手机浏览器。网上说WebView有不少坑,在实际开发时发现确实有不少坑。我遇到的其中一个问题出现在浏览器的前进后退功能上。首先出现的情况是网页因重定向无法正常调用WebView的goBack()方法,这个在网上已有不少解答了。然而网上的解决方法在我测试的Android 4.4手机上仍会出现问题,具体表现就是goBack()方法没有任何反应。所以只能采取自定义历史栈的方法。定义一个后退栈mBrowsedHistory和一个前进栈mForwardHistory,当访问一个网页时,将网页URL添加到后退栈中。执行后退时,后退栈弹出此URL,并同时在前进栈中加入此URL。当通过点击网站上的超链接访问网页时,前进栈会被清空。因刷新、重定向等载入的网页不会加入后退栈中。