YY天气 应用展示
主界面 功能演示
添加桌面小插件
功能:
- 后台自动更新
- 桌面小插件
- 提供未来五天的天气预报
- ...
开发过程所遇到的坑
-
HttpURLConnection 做网络请求设置 setDoOutput(true) 时 setRequestMethod("GET") 将无效,会变为 POST方法.
(在要求请求方法为 GET 的情况下,只能设置 setDoInput(true); ) -
网络请求的address有中文时,在 Android5.0 系统以下因为编码问题导致 address 乱码
(统一将 address 中有中文的部分通过 URLEncoder.encode( 中文 ,"utf-8") 转换) -
RecyclerView 并没有提供 Item 点击事件,解决方法:
通过构造方法传入一个接口实例,在 onBindViewHolder 中,在 Item 布局控件的 onClick 方法中回调我们传入的 listener ,并通过 holder.getLayoutPosition() 返回当前被点击的 Item 下标。
- 项目由于需要发起两个不同的网络请求,最终都会去调用 RecycleView 更新数据,当同一时间多次更新 RecycleView ,数据来源于 SharedPreferences 时,有可能因为 SharedPreferences 的线程安全导致效率低,从而在更新 RecycleView 上的数据显示时会 奔溃。
(两次网络请求分别用一个标记值标记,当两个标记值都为 true 时,再统一更新)
YY天气开源(GitHub) & APP上架商店的地址
希望大家多多支持,GitHub点击star;应用商店给好评,谢谢大家,大家对该项目有什么想问的可以留言,我看到会回复的。
GitHub: https://github.com/RunHuaOil/YYWeather
YY天气(酷安网):http://www.coolapk.com/apk/com.runhuaoil.yyweather
(也上架了腾讯应用宝,小米应用商城正在审核)
网友评论