sqlite cursor

 

首先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例子就很好理解了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值