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时间格式化处理
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例子就很好理解了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- flex DataGridColumn 固定序号
- 当出现“所有数字相同的多位数”时,如何让我的程序执行任何
- swift – requestWhenInUseAuthorization()无法在iOS 8中使
- postgresql – Howto pg_restore
- 指向C#中的类实例的指针
- c# – 如何使用AutoMapper将List映射到ASP.NET MVC中的Sele
- ruby-on-rails-4 – Rails 4 I18n:在关联验证消息中使用人
- c# – MVC控制器和业务逻辑之间的区别(3层)
- iphone – PhoneGap和Zxing QrCode – 构建问题
- JAXB解析xml文件转换为POJO