zoukankan      html  css  js  c++  java
  • Android 数据库的线程合作

      前言:之前琢磨了很多线程相关的东西,一直摸不着头脑,直到学到了数据库,终于发现世界原来如此美好,任何事物都有存在的理由。

      1.主线程,我把它比作长江,作为母亲河的长江,想必大家每个人都不会很陌生。

      2.后台线程,我把它比作支流,当然支流可以有很多很多,为了辅助长江的压力,自己就产生了。

      3.我们很多时候是作为一个用户的角度,看到的只是美丽的长江,殊不知它的背后有很多支流对它产生的影响。

      4.更新视图给用户,在长江的主线程里面进行,用户只会说,长江好漂亮哦,所以看到的就是主体。

      5.数据库的交互呢,在分支中进行,为了辅助主干完成更多事情,类似于人的血管,每天都会交互很多东西。

      6.AsyncTask是一条回流,在外部进行数据库操作,最终还是要回到主线程。怎么从后台更新数据库呢?用onPreExecute()函数即可完成,它在分支处,已经到分流处的初始部分了,算作子线程中。这个AsyncTask中的函数,要操作数据库前,拿走家中的“信物”,就是视图中的一些信息,在doInBackground函数中进行数据库操作,这里就是在后台线程中运行数据库的代码部分了,和实际的数据库SQLiteOpenHelper有关系。在回流处执行onPostExecute方法,在屏幕上显示,这一路披荆斩棘,可是数据库代码依然没有成功运行,Toast一下,传递消息给用户。

      主要路线就是-----onPreExecute-----doInBackground-----onProgressUpdata-----onPostExecute

      执行地方        -----主线程          -----刚好进入后台   -----主线程                  -----主线程

      7.昨天写了很多绘声绘色的故事,可以睡前忘记保存,早上起来也不想重新写一遍了,故很气,仅此而已。

         早安!2017-7-9 7:06

    既然选择了,便不顾风雨兼程。Just follow yourself.
  • 相关阅读:
    两种无限递归菜单
    python导出项目所有依赖库,在新环境中安装所有依赖库
    python3.6中安装Crypto模块
    在Django中settings文件内,配置MySQL和Redis
    Django继承AbstractUser新建User Model时出现fields.E304错误
    django_orm操作MySQL数据库,批量插入数据
    在用脚手架搭建vue项目时,运行vue报错
    django命令行运行失败
    redis pipline 操作
    tcpdump 与 MySQL sniffer 【转】
  • 原文地址:https://www.cnblogs.com/Jason-Jan/p/7135648.html
Copyright © 2011-2022 走看看