加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite cursor

发布时间:2020-12-13 00:19:08 所属栏目:百科 来源:网络整理
导读:首先android对于提供有关SQLite的方法尚未完善,这里谈谈我在开发项目当中对于SQLite在android 的一些用法与Cursor的体会的一些看法。 SQLite的增删改都很简单,关键是查询,当你想要执行一些复杂的查询时,你往往就会觉得android 提供的SQLite方法明显不够

首先android对于提供有关SQLite的方法尚未完善,这里谈谈我在开发项目当中对于SQLite在android 的一些用法与Cursor的体会的一些看法。

SQLite的增删改都很简单,关键是查询,当你想要执行一些复杂的查询时,你往往就会觉得android 提供的SQLite方法明显不够。

在查询返回的是一个Cursor类型的对象,它是一个指针,且永远都不会为空,所以,当你查询某语句,并判断返回值是否为空时,切勿用cursor==null表示。而有个方法,cursor.getCount()==0就能判断其结果值是否为空了。另外,对于一些dao类的方法,最好写在一个文件中,且最好抽象化,养成这个习惯,以便将来可以进行代码复用。

关于这一部分,必须注意sqlite的主键命名,由于simpleCursorAdapter的方法只识别_id,所以,当你用到sqlite的simpleCursorAdapter时,必须把数据表的主键命名为_id。否则就会出现

java.lang.IllegalArgumentException: column '_id' does not exist

错误。

JAVA时间格式化处理
日期格式化
import java.util.Date;
import java.text.SimpleDateFormat;
class dayTime
{
public static void main(String args[])
{
Date nowTime=new Date();
System.out.println(nowTime);
SimpleDateFormat time=new SimpleDateFormat("yyyy MM dd HH mm ss");
System.out.println(time.format(nowTime));
}
}

Android数据库SQLite使用方法

http://www.android123.com.cn/androidkaifa/282.html(很多好文章)

大多数过去做MIS或OA系统的可能都很熟悉数据库相关的操作,Android平台和Windows Mobile一样都支持本地的SQL数据处理,这点Android使用了比MySQL嵌入版更轻量级的SQLite,Google有关Android数据操作的方法提供一个高层的封装就是ContentProvider。一组数据操作可以使用ContentValues对象来完成度或写,ContentValues提供了put和get两种方法分别对应设置和读取,如果对于原始SQL语法比较了解还是建议使用更为灵活的raw执行语言比较快。

主要注意的是Android中使用的SQLite受数据库版本因素而限制,SQLiteDatabase是原始的数据库操作类,提供了createDatabase方法来创建一个新的数据库,最终保存为.db格式的文件,而已经存在的数据可以使用openDatabase方法直接打开,使用execSQL方法可以直接执行SQL语句,完成插入、更新、删除等等,而查询也可以使用本地的SQL语句直接完成,使用rawQuery方法即可,这样会返回一个Cursor对象,我们直接遍历Cursor使用movetoFisrt和movetoNext方法进行遍历查询。直接使用getString或getInt等方法获取每列的数据即可。

而ContentProvider方式比较简单,大家直接看Android SDK中的NoteList例子就很好理解了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读