冲刺(三)

徐利峰:

今天花费将近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框,试了之后感觉体验感不好,就放弃这个想法了,改用固定的方式。

原文地址:https://www.cnblogs.com/xlk3/p/12793796.html