2017 Xi'an GDG DevFest codelab app starter
codelab地址:Build an App with Architecture Components Codelab
从网络获取数据的相关类
-
网络获取与解析函数已经帮你写好了,你的工作是在正确的时间获取数据并展示结果
-
你无须修改
NetworkUtils,OpenWeatherJsonParserandWeatherResponse相关类 -
WeatherNetworkDataSource管理与网络相关的所有事情,它是一个单例,包含有:-
scheduleRecurringFetchWeatherSync():使用FirebaseJobDispatcher.来完成一个周期的JobService,这个job最终会在后台同步天气信息数据。
-
startFetchWeatherService():获取即时天气数据的一个IntentService服务 -
fetchWeather():获取天气数据的方法,该类使用 JSON parsing和network classes来发起请求,它不处理任何与获取天气数据相关的事情
-
所有和本地缓存数据相关的类(现在基本是空的)
- WeatherEntry - 表示一天天气的Java对象
所有和展示相关的的activity和adapters
DetailActivity- 展示某一天天气数据的Activity
MainActivty- 展示WeatherEntry天气列表的ActivityForecastAdapter- 展示WeatherEntry天气列表的RecyclerView.Adapter
- 你无须修改
SunshineDateUtils或者SunshineWeatherUtils SunshineDateUtils- 跨时区格式化时间的工具方法SunshineWeatherUtils- 展示天气相关的工具方法,例如选取图片资源等。
提供全局的线程池,简而言之,该类可以很容易的在子线程中执行你的代码