-
Notifications
You must be signed in to change notification settings - Fork 1
【Android项目(开发中)】在线观看漫画的App,使用聚合数据提供的漫画相关的API接口
License
ZhaoYukai/ManhuaHouse
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
【Android项目】在线观看漫画的App,使用聚合数据提供的“漫画书”相关的API接口
####本项目的聚合数据 openid 和 key 不提供,可以去聚合数据自己申请漫画书的SDK。
本项目由于用到了TabPageIndicator,所以需要引入一个名叫viewPagerlibrary的外部库
项目地址为:https://github.com/ZhaoYukai/viewPagerlibrary
把该项目import进Eclipse后,按照图示配置即可。
####本项目涉及的知识点:
(1)使用TabPageIndicator + ViewPager实现顶部Tab滑动切换效果。
~~(2)使用三级缓存机制来加载并显示图片。~~
~~1.第一层缓存是网络层:根据聚合数据的API传递参数,解析返回的JSON数据,从中提取出~~
~~漫画相关的图片的网址URL,然后根据这个URL创建网络连接获取到图片的输出流。~~
~~2.第二层是使用DiskLruCache实现的在Android手机的硬盘上(或者说是SD卡)缓存图片。~~
~~程序从网络上下载到图片后,会使用DiskLruCache的硬盘缓存机制,把图片的URL作为key写入~~
~~到硬盘里,并把图片的资源添加到内存中。~~
~~3.第三层是使用LruCache实现的内存层。~~
~~图片在加载的时候,首先会检测内存中是否有图片的资源,如果有就直接加载;如果内存中没有~~
~~就去硬盘里面去找,如果找到了就添加进内存中。如果硬盘中也没有就开启一个AsyncTask异步~~
~~任务从网络中去加载。~~
(2)由于上面删除线中使用的三级缓存的方法发生了比较大的OOM问题,所以我进行了全面的更新,
使用了著名的图片加载开源库Universal-Image-Loader,极大地提高了图片加载的性能。
Universal-Image-Loader不仅实现了上面所说的三级缓存,而且对内存释放进行了优化。
Universal-Image-Loader的开源库地址:https://github.com/nostra13/Android-Universal-Image-Loader
~~(3)使用自定义控件ZoomImageView来扩充ImageView的功能。~~
~~由于ImageView并没有能对图片使用手势控制的功能,因此需要自定义控件来实现对图片的~~
~~手势缩放、缩放后对图片平移、双击缩放等功能。~~
(3)自定义的这个ZoomImageView还是稍微有点性能问题,所以使用了更加优秀的开源库PhotoView
该开源库不仅实现了多点触碰缩放、双击缩放、平滑移动的功能,而且能与Universal-Image-Loader
很好地适配,与ViewPager相配合也非常完美。
PhotoView的开源库地址:https://github.com/chrisbanes/PhotoView
(4)为了将JSON数据转换成HashMap格式的数据,使用了阿里巴巴公司开源的库FastJson,该开源库
不仅能将List、Map等复杂数据结构抽象成类的形式进行存储,而且存储与解析的速度非常快。
FastJson的开源库地址:https://github.com/alibaba/fastjson
(5)使用自定义控件TopBar来自行重新定义顶部动作条的功能。
(6)ListView使用了convertView + ViewHolder的方法提升了性能。
(7)使用SharedPreference缓存接收到的JSON字符串,实现了将数据缓存到本地的功能,即使处于
离线状态也能使用本App;当手机联网时则会采用线上的数据。
(8)使用蒲公英提供的SDK实现了软件的自动更新功能,一旦连接网络,就能自动检测是否有最新
的版本,如果有则出现对话框供用户选择是否下载更新。用户也可以进入设置界面自行选择软件更新。
####后期需要优化的地方:
(1)添加用户登录界面,实现更加精准的内容推荐,自建服务器,使用大数据技术根据用户的 浏览习惯数据进行数据挖掘,推荐内容更加精准,提高用户体验。
####下面是软件的截图:
![image](https://github.com/ZhaoYukai/ManhuaHouse/blob/master/%E7%A4%BA%E4%BE%8B%E5%9B%BE%E7%89%87/01.jpeg)
![image](https://github.com/ZhaoYukai/ManhuaHouse/blob/master/%E7%A4%BA%E4%BE%8B%E5%9B%BE%E7%89%87/02.jpeg)
![image](https://github.com/ZhaoYukai/ManhuaHouse/blob/master/%E7%A4%BA%E4%BE%8B%E5%9B%BE%E7%89%87/03.jpeg)
![image](https://github.com/ZhaoYukai/ManhuaHouse/blob/master/%E7%A4%BA%E4%BE%8B%E5%9B%BE%E7%89%87/04.jpeg)
![image](https://github.com/ZhaoYukai/ManhuaHouse/blob/master/%E7%A4%BA%E4%BE%8B%E5%9B%BE%E7%89%87/05.jpeg)
![image](https://github.com/ZhaoYukai/ManhuaHouse/blob/master/%E7%A4%BA%E4%BE%8B%E5%9B%BE%E7%89%87/06.jpeg)
![image](https://github.com/ZhaoYukai/ManhuaHouse/blob/master/%E7%A4%BA%E4%BE%8B%E5%9B%BE%E7%89%87/07.jpeg)
About
【Android项目(开发中)】在线观看漫画的App,使用聚合数据提供的漫画相关的API接口
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published