Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
??
?
?
?执行此操作后,会新增一个名为“tab”的数据表,利用SQLite客户端(推荐:SQLite Expert Personal 3)可轻松查看此表结构和数据。如下图:
?
?
?
??
三、修改数据
? update(String table, ContentValues values, String whereClause, String[] whereArgs)方法用于修改数据,其四个参数的具体含义如下:
table: 目标表名
values:
?
四、查询数据。
之前一直使用SQLite客户端查看数据情况了,这里就使用android提供的query()和rowQuery()方法执行查询。具体代码如下:
?
???
可以清晰的在查询结果中,红线上下的数据是完全一致的,也就是说query和rawQuery方法在的不同仅仅在于所需参数的不同。rawQuery方法需要开发者手动写出查询SQL,而query方法是由目标表名、where子句、order by子句、having子句等诸多子句由系统组成SQL语句。两方法同返回Cursor对象,所以两方在使用时孰优孰劣,就看具体情况了。本人更喜欢rawQuery的方式,因为此方式更接近传统Java开发,也可以由专业DBA来书写SQL语句,这样更符合MVC的思想,而且这样的代码可读性更高。(query方法里面参数实在太多,有点记不住谁是order by子句,谁是having子句了)
Cursor对象可以理解为游标对象,凡是对数据有所了解的人,相信对此对象都不会陌生,在这里机不再累述。只提醒一点,在第一次读取Cursor对象中的数据时,一定要先移动游标,否则此游标的位置在第一条记录之前,会引发异常。
五、删除数据
删除数据也是一件很简单的事,只需要调用delete方法,传入参数即可,
??
其中_id=8和name=‘name’的数据统统被删除了。
整个数据库的CRUD操作到此演示完了。最后提醒一点,在操作完数据后,一定要记得调用close()方法关闭连接,释放资源。这个原因相信大家都是懂的。
?