• 冲刺(三)


    徐利峰:

    今天花费将近3个多小时的时间,将以前的Android知识回顾了一遍,同时自己针对自己的任务做了一个小Demo。

    主要用到的是ViewModel来存储页面数据,Respositry仓库来进行数据的增删改查,还有一个Database数据库,一个Dao和展示数据的Adapter

    在数据的增删改查利用的事AsynceTask的副线程,创建singleton单实例数据库。

    在实现的过程中,出现的问题有:

    对AsynceTask的线程问题不熟悉,一开始的做法是直接在活动中强制在主线程执行增删改查,查了相关操作后才发现可以用AsynceTask的副线程,即安全又可靠。

    Word.java

     View Code

    WordDao.java

     View Code

    WordDataBase.java

     View Code
    WordRepository.java(仓库类)
     View Code
    WordViewModel(页面数据)
     View Code

    MyAdapter(适配器)

     View Code

    MainActivity

     View Code

    页面实现:

    卡片布局

    点击视图切换后,跟换为正常布局:

     点击相应的item,会跳转到有道词典来翻译当前的单词:

    例如点击watermelon这个单词后:

    就会跳转掉到:

    -------------------------------------------------------------------------------------------------------------------------------------------------

    明天要做的是:利用今天复习的东西,先实现基础的整体轮廓的布局,再将python爬取的新闻信息做成卡片展示

    李浩:实时评论

    效果图:

    具体过程:

      1、点击输入框获取焦点之后会弹出软键盘;

      2、当内容为空的时候无法发送评论;

      3、发送之后,文本框会自动失去焦点,并且软键盘消失;

      4、发送之后,评论会立刻出现在评论区的第一个位置,并且也会写入云端数据库;

    总结:其实这个功能很简单,是我想复杂了,具体实现方法是在底部固定一个文本框和按钮即可,点击之后开启线程发送数据,云端正常接收之后会返回此评论数据,客户端接收之后会在评论区的容器中的第一位插入该条评论;如果云端没有正常接收,即代表插入数据库不成功,那么软键盘不会消失并且会提示用户重新点击。早上我想的是点击之后弹出PopWindow框,试了之后感觉体验感不好,就放弃这个想法了,改用固定的方式。

  • 相关阅读:
    Confluence 6 PostgreSQL 设置准备
    Confluence 6 MySQL 问题解决
    Confluence 6 MySQL 测试你的数据库连接
    Confluence 6 MySQL 输入你的数据库细节
    Confluence 6 下载和安装 MySQL 驱动
    Confluence 6 MySQL 创建数据库和数据库用户
    Confluence 6 配置 MySQL 服务器
    Confluence 6 MySQL 数据库设置准备
    Confluence 6 SQL Server 问题解决
    Confluence 6 SQL Server 数据库驱动修改
  • 原文地址:https://www.cnblogs.com/xlk3/p/12793796.html
Copyright © 2020-2023  润新知