2017 Xi'an GDG DevFest codelab app starter
codelab地址:Build an App with Architecture Components Codelab
从网络获取数据的相关类
-
网络获取与解析函数已经帮你写好了,你的工作是在正确的时间获取数据并展示结果
-
你无须修改
NetworkUtils
,OpenWeatherJsonParser
andWeatherResponse
相关类 -
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
- 展示天气相关的工具方法,例如选取图片资源等。
提供全局的线程池,简而言之,该类可以很容易的在子线程中执行你的代码