Android之高仿雅虎天气(二)---代码结构解析
版本已升级至1.0.1
源码地址:
GitHub:https://github.com/way1989/WayHoo
OsChina:http://git.oschina.net/way/WayHoo
本例使用了6个库代码和1个主工程代码。
一、6个库代码如下图所示:
其中
①.MenuDrawer、ViewPagerIndicator、ShowcaseView、SwipeBack都是Github上有名的侧边栏菜单开源库,我这里未做修改,直接引用,感谢开源的力量。
②.PullToRefresh也是Github上有名的下拉刷新开源库,我做了一些小修改,主要是将雅虎下拉刷新的效果添加到其中。如下图所示:
③.weather-lib就是我之前和大家分享的小米天气源,只是加入了本地缓存,也不作多介绍,请参考:http://blog.csdn.net/way_ping_li/article/details/29669045。
二、主代码结构如下图所示:
其中:
com.way.adapter:所有适配器,包括ListView和ViewPager之类。
com.way.beans:所有Java Bean存放的地方。
com.way.common.util:所有工具类存放地方,比如网络判断、系统工具、时间工具等等。
com.way.db:即本工程使用的数据库管理类,就一个文件CityProvider.java,本人比较喜欢使用ContentProvider,确实感觉比直接操作数据库来得方便,而且可以同时处理一个数据库的多个表,只是uri不同,switch case时多判断一下即可。
com.way.fragment:本工程使用到的Fragment,只有一个文件。
com.way.ui.view:所有自定义View,其中值得一提的是TouchDispatchView,顾名思义是分配touch事件的View,由于本代码使用的是scrollview作为下拉刷新,ListView用来显示数据,所以两个View都需要touch事件,就需要一个父容器来分配他们的touch事件。
com.way.yahoo:所有activity所在包。
好了,今天就到此结束,下次和大家详细分析以下3个方面:
①.主界面上滑变模糊,背景跟随滑动。
②.ListView和GridView中遇到多类型item的处理。
③.ViewPager使用fragment的缓存与优化。
谢谢!
Android之高仿雅虎天气(二)---代码结构解析相关推荐
- Android高仿雅虎天气(两)---代码结构分析
版本已经升级到1.0.1 源码地址: GitHub:https://github.com/way1989/WayHoo OsChina:http://git.oschina.net/way/WayHo ...
- Android之高仿雅虎天气
首先感谢作者:weidi1989 的无私分享 转来自:http://blog.csdn.net/way_ping_li/article/details/38963807点击打开链接 引言: 记得去年下 ...
- Android之高仿雅虎天气(一)
引言: 记得去年下半年有上传一份代码(超逼真仿雅虎天气界面):http://download.csdn.net/detail/weidi1989/6312271 但那仅仅只是一个界面,而且还有一些比较 ...
- Android之高仿墨迹天气桌面组件(AppWidgetProvider) .
Android之高仿墨迹天气桌面组件(AppWidgetProvider) . 点击:382 发布时间:2012-10-03 更多0 相信墨迹天气,大家都见过,他在时间显示和天气界面上,很吸引人,今天 ...
- android仿微信聊天功能,Android高仿微信聊天界面代码分享
微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...
- android 微信高仿,Android高仿微信聊天界面代码分享
微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...
- Android之高仿QQ6.6.0侧滑效果(背景动画、透明+沉浸式状态栏、渐变效果)
根据需求实现类似QQ侧滑效果,之前看到过很多实现方式通过SlidingMenu,但是既然官方推出了自己的专属控件,那么使用DrawerLayout就是不二选择.且看下文. 一.先来看看官方文档解释 D ...
- Flutter开发实战 高仿微信(二)发现页
Flutter开发实战 高仿微信(二)发现页 Flutter开发实战 高仿微信(二)发现页 1.1 微信发现页面简述 1.2 APP框架优化 1.2.1 配置APP Logo和启动图片 1.2.2 配 ...
- android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...
接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...
最新文章
- JAVA的instanceOf什么时候用
- Python的全局和局部变量
- 什么是document对象?如何获取文档对象上的元素?_javascript自学记录:Document类型...
- Linux编译安装中configure、make和make install各自的作用详解
- java学习(22):if语句
- python发邮件详解_python:利用smtplib发送邮件详解
- 正则表达式——(一)
- 4.5.2 循环语句
- IE6下Png透明最佳解决方案(推荐) Unit PNG Fix
- 数论基本定理及应用(四)
- python settings_python settings如何配置sqlite?
- 怎样下载最新的SCI/SSCI/EI目录期刊列表?
- 低配置电脑最适合系统—win10企业版2016长期服务版本密钥和激活方法
- 全国哀悼日 网站变灰装(附代码)
- 【005】基于Vue.js及相关插件的仿微博移动版的单页应用(SPA)项目(含源码、运行教程)
- 实现ppt幻灯片播放倒计时
- 利用Python实现校园网自动登录(部署在树莓派)
- 超微服务器芯片,北京超微GPU服务器
- 内网穿透工具--lanproxy
- CSS 的background-size:cover属性值和contain属性值
热门文章
- 怎么剪辑视频教程,剪辑视频的软件怎么剪辑视频制作原创视频
- 让我们看看目前的一些做视频会议厂家在WebRTC上做了哪些事?
- 计算机删除的照片怎么恢复数据,被删除的照片怎么恢复-快速恢复您丢失的照片...
- Kali Linux渗透测试——MSF实战篇(一)
- Linux基础选择题与解析12.19
- spring boot项目实战之理财系统
- kotlin入门笔记
- 计算机maple3D绘图画爱心,【1人回答】用3DMax做个爱心的形状怎么做?-3D溜溜网...
- java学习之nio
- HashMap底层的扩容机制(以及2倍扩容的原因)