Android 高德天气移动应用开发之一:应用功能及移动框架总述

【版权说明】

1. 请支持原创,转载请注明出处:https://blog.csdn.net/cbk861110/article/details/86665564

2. 项目源码请移步:https://github.com/caobaokang419/WeatherApp(欢迎Github Fork&Star,框架和技术实现不妥之处,请帮忙指正),谢谢!

-------------------------------------------

专栏说明:

1. 以整个项目的方式,整合移动及应用开发的开发组件及组件间的配合使用;

2. 以框架概要说明,关键组件的关键实现代码,及整个项目的源码公开方式,试图阐述清楚具体功能实现;

3. 寻求具体不同细分组件专业人士的有益反馈和框架参与修改,进一步改善现有框架和后续功能扩展;

-------------------------------------------

文章目录(未完,待续):

Android 高德天气移动应用开发之一:应用功能及移动框架总述 https://blog.csdn.net/cbk861110/article/details/86665564

Android 高德天气移动应用开发之二:高德天气API说明及城市天气查询实现 https://blog.csdn.net/cbk861110/article/details/86665655

Android 高德天气移动应用开发之三:公共自定义控件封装及使用 https://blog.csdn.net/cbk861110/article/details/86665790

Android 高德天气移动应用开发之四:左右滑动切换城市天气页面实现 https://blog.csdn.net/cbk861110/article/details/86665964

Android 高德天气移动应用开发之五:应用权限动态申请 https://blog.csdn.net/cbk861110/article/details/86666321

Android 高德天气移动应用开发之六:RecyclerView 实现封装使用,可兼容使用不同UI和不同数据类型的Item项 https://blog.csdn.net/cbk861110/article/details/86666392

Android 高德天气移动应用开发之七:高德天气城市配置文件下载 https://blog.csdn.net/cbk861110/article/details/86666573

Android 高德天气移动应用开发之八:DiskLruCache磁盘缓存使用 https://blog.csdn.net/cbk861110/article/details/86666664

Android 高德天气移动应用开发之九:ThreadPoolExecutor线程池代理及使用 https://blog.csdn.net/cbk861110/article/details/86667101

Android 高德天气移动应用开发之十:天气网络请求框架(retrofit2&okhttp3)封装实现 https://blog.csdn.net/cbk861110/article/details/86667375
 

-------------------------------------------

基于MVVM框架的高德天气APP:

Screenshots:


功能点实现说明:

  • 高德天气查询:Get&Post方式可以正常返回查询高德天气数据并UI显示;
  • 公共控件封装:自定义实现公共控件CommonUI,用于控件复用;
  • 公共数据接口:借助ContentProvider,提供天气数据(DB方式)& 配置属性(SharedPreference方式)的数据访问API,供第三方应用访问使用;
  • 配置文件下载:借助Xutils3,下载并存储高德天气城市配置文件,并需先动态申请存储权限;
  • 配置文件解析:解析存储本地存储高德adcode和城市信息对照表,用于本地天气动态查询api调用;
  • 左右滑动实现:ViewPager实现左右页面滑动切换;
  • 下拉上拉刷新:下拉界面,实现天气自动更新;上拉界面,查询显示更多天气相关信息。
  • 天气设置功能:PreferenceActivity+PreferenceFragment,替代单独使用PreferenceActivity,实现天气设置界面;
  • 天气城市查询:输入城市自动匹配,用于城市天气查询;
  • 应用权限申请:sdk23后,需动态申请应用权限,实现封装权限动态申请机制;
  • 数据缓存功能:封装DiskLruCache,实现磁盘缓存网络下载的图片&文本&Json及其他格式数据,改善用户体验和性能;
  • 线程管理功能:封装ThreadPoolExecutor,并发处理耗时请求,改善性能体验;
  • RecyclerView封装:Android推荐控件,优于ListView,处理不同类型的ItemView封装使用;

MVVM框架和组件实现:

框架说明:借助Android架构组件(Android Architecture Components):可实现MVVM应用框架。

  • Lifecycle components: 生命周期管理,该组件是其它组件的基础,可由于跟踪UI的(Activity和Fragment)的生命周期
  • ViewModels: 一种可以被观察的以及可以感知生命周期的数据容器。
  • LiveData :它是UI,例如Activity、Fragment,与数据之间的桥梁;可以在其内部处理数据业务逻辑,例如从网络层或者数据持久层获取数据、更新数据等。
  • Room:一个简单好用的对象映射层;其对SqliteDatabase进行了封装,简化开发者对于数据持久层的开发工作量
  • WorkManager :可以轻松地指定可延迟的异步任务以及它们应该在何时运行,应只用于处理后台任务。
  • Data-binding :使用xml声明格式(而不是编程方式)将布局中的UI组件绑定到应用程序中的数据源。
  • Paging:分页库使您能够更容易地在应用程序的RecyclerView中逐步、优雅地加载数据。--TBD
  • Navigation:导航是应用程序设计的关键部分。通过导航,您可以设计交互,允许用户在应用程序的不同内容区域之间来回移动。--TBD

网络应用框架和组件实现:

-------------------------------------------

【版权说明】

1. 请支持原创,转载请注明出处:https://blog.csdn.net/cbk861110/article/details/86665564

2. 项目源码请移步:https://github.com/caobaokang419/WeatherApp(欢迎Github Fork&Star,框架和技术实现不妥之处,请帮忙指正),谢谢!

猜你喜欢

转载自blog.csdn.net/cbk861110/article/details/86665564