欢迎投稿

今日深度:

SQLite所遇到的坑,SQLite所遇到

SQLite所遇到的坑,SQLite所遇到


使用SQLite的时候总是要在创建数据库的时候卡上半天,而且每次都是,之前都是直接复制别人博客上的代码,然后稍微改几个名字,今天结合Google官方教程中的推荐方法创建成功数据库,现在记录一下。

正确创建数据库与增删改查

详细请看这篇文章的后半段

这篇文章主要讲了如何正确创建数据库,如何正确的使用增删改查。
这里有几个注意点:

  • 使用SQL语句创建表格的时候不要使用SQL语句的关键字作为自定义的名字,比如不要使用create作为列的名字。
  • 如果数据库时,最好使用单例模式,传入Application的Context。

SQLite的更新和读取

经常会遇到在一个Activity里面向SQLite中写入数据,然后另一个Activity中马上将最新的变更读取出来,每次都坑,这里记录一下为什么坑。
首先我们看一下,一个写入的Activity退出和显示Activity的进入,它们所经历的的生命周期进程。

我们假设写入数据的Activity是C,显示最新数据的Activity的A,首先A启动C,然后C结束并重新进入A,整个过程的生命周期是这样的:

我们知道C调用onResume()方法后会正式显示出来,而C结束时,先调用onPause()方法,然后是A插进来调用一系列方法,然后C再调用剩下的方法结束自己。我在代码里以为是C结束,会全部结束,然后A在开始调用,其实实际看上去并不是这样的。

所以我在C的onStop()方法里写入数据,在A的onResume()方法里显示最新的数据,永远要A重新出现两次才可以显示,因为实际上并不是先调用C的onStop()方法,再调用A的onResume()方法,所以我们应该先在C的onPause()方法中写入数据,然后在A的onRestart()或onStart()或onResume()方法中显示数据即可。但是根据官方提示,在onPause()方法写入数据会拖累向下一个Activity的过渡,所以我们应该在onStop()方法中保存数据,但是如果我们下一个Activity要及时的显示最新的数据,我们还是应该调用onPause()方法来显示数据,否则调用onStop()方法就可以了

www.htsjk.Com true http://www.htsjk.com/SQLite/34636.html NewsArticle SQLite所遇到的坑,SQLite所遇到 使用SQLite的时候总是要在创建数据库的时候卡上半天,而且每次都是,之前都是直接复制别人博客上的代码,然后稍微改几个名字,今天结合Google官方教程...
相关文章
    暂无相关文章
评论暂时关闭