YY天气(Android) 完成啦!

YY天气 应用展示


主界面
功能演示

添加桌面小插件

功能:

  • 后台自动更新
  • 桌面小插件
  • 提供未来五天的天气预报
  • ...

开发过程所遇到的坑


  • HttpURLConnection 做网络请求设置 setDoOutput(true) 时 setRequestMethod("GET") 将无效,会变为 POST方法.
    (在要求请求方法为 GET 的情况下,只能设置 setDoInput(true); )

  • 网络请求的address有中文时,在 Android5.0 系统以下因为编码问题导致 address 乱码
    (统一将 address 中有中文的部分通过 URLEncoder.encode( 中文 ,"utf-8") 转换)

  • RecyclerView 并没有提供 Item 点击事件,解决方法:

12312.png

通过构造方法传入一个接口实例,在 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
(也上架了腾讯应用宝,小米应用商城正在审核)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,995评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,747评论 2 45
  • 准备语句(prepared statement)对象代表一个简单SQL语句对象的实例,这个对象通常被称为“准备语句...
    Crazy2015阅读 3,978评论 0 0
  • HTML、XML、XHTML有什么区别 XHMTL与HTML的区别 XHTML 元素必须被正确地嵌套。 XHTML...
    小假期阅读 1,468评论 0 0
  • “如果我把这票投给云鹏,大家会说我有私心,因为他是我的师弟。但我还是要把票投给他,因为他太难得的人才了.........
    凤语凤文阅读 3,709评论 0 2

友情链接更多精彩内容