zoukankan      html  css  js  c++  java
  • 第一轮铁大树洞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);
    

    明日任务

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

  • 相关阅读:
    采用GRE隧道连接不同虚拟机上的mininet网络
    ubuntu下安装Pycharm
    Update to openvswitch 2.3.0
    安装Openvswich 2.3.0
    ubuntu安装git
    解决Vmware Vsphere中虚拟机与本地机复制粘贴问题
    windows下安装python的xlrd和xlwd安装包
    ubuntu 下NetworkX的安装和使用
    大整数乘法 python实现
    推特(Twitter)的Snowflake算法——用于生成唯一ID
  • 原文地址:https://www.cnblogs.com/wushenjiang/p/12734528.html
Copyright © 2011-2022 走看看