版本已升级至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之高仿雅虎天气(二)---代码结构解析相关推荐

  1. Android高仿雅虎天气(两)---代码结构分析

    版本已经升级到1.0.1 源码地址: GitHub:https://github.com/way1989/WayHoo OsChina:http://git.oschina.net/way/WayHo ...

  2. Android之高仿雅虎天气

    首先感谢作者:weidi1989 的无私分享 转来自:http://blog.csdn.net/way_ping_li/article/details/38963807点击打开链接 引言: 记得去年下 ...

  3. Android之高仿雅虎天气(一)

    引言: 记得去年下半年有上传一份代码(超逼真仿雅虎天气界面):http://download.csdn.net/detail/weidi1989/6312271 但那仅仅只是一个界面,而且还有一些比较 ...

  4. Android之高仿墨迹天气桌面组件(AppWidgetProvider) .

    Android之高仿墨迹天气桌面组件(AppWidgetProvider) . 点击:382 发布时间:2012-10-03 更多0 相信墨迹天气,大家都见过,他在时间显示和天气界面上,很吸引人,今天 ...

  5. android仿微信聊天功能,Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...

  6. android 微信高仿,Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...

  7. Android之高仿QQ6.6.0侧滑效果(背景动画、透明+沉浸式状态栏、渐变效果)

    根据需求实现类似QQ侧滑效果,之前看到过很多实现方式通过SlidingMenu,但是既然官方推出了自己的专属控件,那么使用DrawerLayout就是不二选择.且看下文. 一.先来看看官方文档解释 D ...

  8. Flutter开发实战 高仿微信(二)发现页

    Flutter开发实战 高仿微信(二)发现页 Flutter开发实战 高仿微信(二)发现页 1.1 微信发现页面简述 1.2 APP框架优化 1.2.1 配置APP Logo和启动图片 1.2.2 配 ...

  9. android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...

最新文章

  1. JAVA的instanceOf什么时候用
  2. Python的全局和局部变量
  3. 什么是document对象?如何获取文档对象上的元素?_javascript自学记录:Document类型...
  4. Linux编译安装中configure、make和make install各自的作用详解
  5. java学习(22):if语句
  6. python发邮件详解_python:利用smtplib发送邮件详解
  7. 正则表达式——(一)
  8. 4.5.2 循环语句
  9. IE6下Png透明最佳解决方案(推荐) Unit PNG Fix
  10. 数论基本定理及应用(四)
  11. python settings_python settings如何配置sqlite?
  12. 怎样下载最新的SCI/SSCI/EI目录期刊列表?
  13. 低配置电脑最适合系统—win10企业版2016长期服务版本密钥和激活方法
  14. 全国哀悼日 网站变灰装(附代码)
  15. 【005】基于Vue.js及相关插件的仿微博移动版的单页应用(SPA)项目(含源码、运行教程)
  16. 实现ppt幻灯片播放倒计时
  17. 利用Python实现校园网自动登录(部署在树莓派)
  18. 超微服务器芯片,北京超微GPU服务器
  19. 内网穿透工具--lanproxy
  20. CSS 的background-size:cover属性值和contain属性值

热门文章

  1. 怎么剪辑视频教程,剪辑视频的软件怎么剪辑视频制作原创视频
  2. 让我们看看目前的一些做视频会议厂家在WebRTC上做了哪些事?
  3. 计算机删除的照片怎么恢复数据,被删除的照片怎么恢复-快速恢复您丢失的照片...
  4. Kali Linux渗透测试——MSF实战篇(一)
  5. Linux基础选择题与解析12.19
  6. spring boot项目实战之理财系统
  7. kotlin入门笔记
  8. 计算机maple3D绘图画爱心,【1人回答】用3DMax做个爱心的形状怎么做?-3D溜溜网...
  9. java学习之nio
  10. HashMap底层的扩容机制(以及2倍扩容的原因)