Android 数据库的线程合作

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

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

 

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

     早安!2017-7-9 7:06

posted @ 2017-07-09 07:08  Jason_Jan  阅读(749)  评论(0编辑  收藏  举报