• 第一轮铁大树洞APP开发冲刺(3)


    写在前面

    经过昨天的错误方向尝试后,今天终于找到了正确的方向。APP不过是一个客户端,请求数据的事交给servlet去处理就好,app只需要获得数据并处理就好。在想明白这些后,一切就明朗了起来。起床后先是学习了Okhttp的知识,下午实现了RecyclerView的展示和下拉刷新模块。
    团队冲刺博客地址:https://www.cnblogs.com/three3/p/12733546.html

    正文

    今日成果展示

    首先是RecyclerView显示所有内容:

    然后下拉可以刷新:

    逻辑和困难分析

    这个看似很简单的功能,实现起来是非常的费事啊。在安卓开发中,请求数据和更新数据的行为都需要在非主线程进行,防止数据堵塞。我们这里封装了Okhttp获取call,然后在Activity中对其回调进行处理,处理完成后通过Message传递给Handler来通知主线程更新UI。同时在做这些事之前我们要定义一个响应的瀑布流适配器,以用来放置数据等。至于下拉刷新功能,导入SwipeRefreshLayout后就可以很简单的实现了。主要说说今天遇到的困难:

    • 无法处理http请求。从安卓9.0后,不再支持使用不安全的连接(http),可我自己的API都是http的,我也没钱去买域名申请https服务器。经过一番操作后,终于搞定了。如图:
      在Manifests文件里首先添加网络请求

      在application下打开对http的访问请求:

      注意,我们在打开后需要删除掉APP然后再安装一次。这样才能获取到权限。
    • 对于数据的处理犯了难。从后台提交了json数据,前台怎么转成list呢?我们可以这样:
                            Type type = new TypeToken<List<Post>>(){}.getType();
                            List<Post> posts = mGson.fromJson(response.body().string(), type);
    

    明日任务

    今天晚些时候整理了一下回帖模块的思路。明天估计能写完。

  • 相关阅读:
    python学习笔记4核心类型字典
    python学习笔记5核心类型元组和文件及其他
    python学习笔记11异常总结
    python学习笔记14类总结
    python学习笔记17常用函数总结整理
    python学习笔记1核心类型数字
    python学习笔记3核心类型列表
    python学习笔记16各种模块和开放工具收集整理
    源码、反码、补码
    素数
  • 原文地址:https://www.cnblogs.com/wushenjiang/p/12734528.html
Copyright © 2020-2023  润新知