之前讲解过在ANDROID中在使用SQLITE中的EXECSQL()与RAWQUERY()方法来实现CURD的操作,但是那些都是在针对我们都非常熟练使用SQLITE的情况下来操作的,只是有时候不能避免我们每个人的操作习惯不同与可能在操作过程中为一些初级者提供更方便的操作过程,所以ANDROID相对来说还是做得很人性话的,如它为一些初级使用在对SQL进行包装,初级使用在只需要对其简单的参数设置与实现就可以完成一般的SQL的CURD操作了,如ANDROID提供了四个方法onInsert(),onUpdate(),onQuery(),onDelete(),下面我们就来对其几个方法进行详细讲解
首先是insert()方法:SQLiteDatabase db = new DBOpenHelper().getWritableDatabae();db.insert(String table,String nullColumnHack,ContentValues values);在这个方法中第一个参数为:所需填入的表名,第二个参数就是空列时的处理方式,第三个参数为用来存放各个字段的值,类似与Map用来存放名值对一样:其详细操作可以如下:当我们有一个可传实体参数名为Contact,其Contact的字段名有:id为主键,name,phone,首先打开数据库,SQLiteDatabase db = new DBOpenHelper().getWritableDatabase(),ContentValues values = new ContentValues();values.put("name",Contact.getName),values.put("phone",Contact.getPhone);db.insert("Contact",null,values);这样就可以完全实现使用基本的插入方法对数据来进行插入操作
其次就是update()方法的使用:同样SQLiteDatabase db = new DBOpenHelper().getWritableDatabase()来打开数据库,然后使用ContentValues values = new ContentValues();values.put("name",contact.getName());values.put("phone",contact.getPhone());db.update(String table,ContentValues values,String whereClause,String[] whereArgs);即第一个参数为表名,第二个参数为所更新的字段名,第三课参数为,对其操作的条件,第四个参数为在第三个参数的基础上所需的条件值,具体操作如下:SQLiteDatabase db = new DBOpenHelper().getWritableDatabasae();ContentValues values = new ContentValues();values.put("name",contact.getName());values.put("phone",contact.getPhone());db.update("contact",values,"id=?",new String[]{String.valueOf(contact.getId())});
再次就是query()的操作:在查询的操作中我们需要对其游标进行操作,所以希望有对数据库SQL的游标不是怎么熟悉的,自己去网上再查看一下,下面我就不多做介绍了:db.query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy);同样第一个参数为表名,第二个参数为列名,即字段,第三个参数为条件,第四个参数为条件值,第五个参数为分组操作,第六个参数为过滤操作,第七个参数为排序操作,EG:SQLiteDatabase db = DBOpenHelper.getReadableDatabase();Cursor cursor = db.query("contact",null,"id=?,new String[]{id.toString()}",null,null,"id asc");if(cursor.moveToFirst()){int id = cursor.getInt(cursor.getColumnIndex("id"));String name = cursor.getString(cursor.getColumnI,ndex("name"));String phone = cursor.getString(cursor.getColumnIndex("phone"));return new Contact(id,name,phone);}, 在这里查询语句也就完毕了,是不是很简单.
最后就是delete()方法的操作了:它更简单:SQLiteDatabase db = new DBOpenHelper().getWritableDatabase();db.delete(String table,String whereClause,String[] selectionArgs):SQLiteDatabase db = new DBOpenHelper().getWritable();db.delete("contact","id=?",new String[]{id.toString()});
好了以上就是在ANDROID里为初学者提供的简单的对SQL的CURD操作,希望有不明白的可以多在网上查些资料来解决,当然它不仅仅只提供了这几个方法,比如还有replace()等,只是在这里我需要说明的是,能不使用这基本的操作尽量不要使用,因为它是对SQL封装后的一种操作,虽然免去了我们写SQL语句的一些细节,但是对执行一个完整SQL语句还是很有影响的,一般来说封装的直接后果会带来不必要的功能添加与数据执行执行周期,这最终会影响数据执行的性能,所以个人还是介意使用execSQL()与rawQuery()来直接代替操作,因为在源码中我们可以看到这么一段:StringBuilder sb = new StringBuilder(521);sb.append("INSERT");if(algorithm!=null){sql.append(" OR ");sql.append(algorithm.value());sql.append("INTO ");sql.append(table);},如我们在使用insert()方法时,其values有没有值,nullColumnHack项都会为我们添加进一条参数,所以当第三个参数为空时,或者集合你没有元素,系统默认为了构造完整的SQL语句就会使用到第二个参数,如果第二个参数也为空的话,这样的语法按理那说还是有问题的,还有就是把第二个参数设置为主键也是不行的,因为其默认为空,然而主键是不能为空的,只是SQLITE认为是可以的,因为当你对其设置为主键后,它的默认空值就不会起作用,它还会自动增长起作用,其名称是可以随意取的,OK在这里对SQLITE的基本查询方式的操作也就讲完了,可能在讲解这些操作中我不是太有顺序的讲解,因为这些都是很久的以前的简单总结,所以就在这里觉得有时间的时候就贴上来,给那些热爱编程的朋友可以做些相关参考......如有什么疑问请可随时留言
分享到:
相关推荐
在Android应用开发中,SQLite是一个不可或缺的组件,它是一个轻量级的关系型数据库,用于存储应用程序中的结构化数据。SQLite数据库被广泛应用于移动设备,因为它不需要独立的服务进程,且能够高效地处理数据。本...
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的数据。SQLite具有高效、可靠且易于集成的特点,使得它成为Android应用数据...
《Android+SQLite学生选课系统详解》 在移动应用开发领域,Android系统以其开源和广泛的应用,成为开发者首选的平台之一。在这个系统中,SQLite作为轻量级的关系型数据库,常用于存储应用程序中的数据,例如本例中...
《Android基于SQLite的学生信息管理系统详解》 在信息技术日益发达的今天,信息管理系统的应用已经渗透到各个领域。本文将深入探讨一个特别针对学生信息管理的系统——“Android基于SQLite的学生信息管理系统”。该...
### Android Spinner+SQLite 三级联动实现详解 #### 一、概览 在Android开发中,经常会遇到需要展示层级数据的情况,比如省份-城市-区县的选择等。这种情况下,使用Spinner(下拉列表框)结合SQLite数据库进行三级...
"Android+SQLite数据库实现的生词记事本功能实例详解" Android+SQLite数据库实现的生词记事本功能实例是指通过Android操作系统和SQLite数据库实现的生词记录功能,主要用于记录和管理单词信息。下面将详细介绍...
《Android内置数据库SQLite详解》 在移动应用开发中,数据存储是不可或缺的一部分,尤其是在Android平台上。Android系统提供了多种数据存储方式,其中SQLite是一款轻量级的、关系型数据库,它是Android内置数据库,...
《基于Android的个人日记本程序:SQLite数据库应用详解》 在移动应用开发领域,Android操作系统以其开源、灵活性和广泛的应用范围占据了重要的地位。本项目“基于Android的个人日记本程序”是一个典型的应用实例,...
《Android版学生选课系统——基于SQLite的数据存储详解》 在移动应用开发领域,尤其是在Android平台上,本地数据存储是至关重要的。本系统“Android版学生选课系统”就是一款利用SQLite数据库来实现数据持久化的...
Android中SQLite应用详解
Android 的 SQLite 数据库提供了事务处理能力,允许批量操作,提高效率并确保数据一致性。例如: ```java database.beginTransaction(); try { // 执行一系列数据库操作 database.setTransactionSuccessful(); //...
《Android SQLite 加密详解》 在移动应用开发中,数据存储是不可或缺的一部分,尤其是在Android平台上,SQLite数据库被广泛用于本地数据管理。然而,随着隐私保护和数据安全的重要性日益凸显,如何对SQLite数据库...
### Android SQLite 使用详解 #### 一、SQLite简介与Android中的应用 SQLite是一种轻量级的数据库,被广泛应用于各种移动设备上,包括Android和iPhone。它支持标准的SQL语法,并且能够有效地处理复杂的查询和事务...
在Android应用开发中,SQLite是一个不可或缺的组件,它是一个轻量级的关系型数据库管理系统,用于存储和管理应用程序中的数据。SQLite被广泛应用于Android系统,因为它的高效性、可靠性和易于集成的特点。本教程将...
《Android基于SQLite的学生信息管理系统详解》 SQLite是一个轻量级的、开源的、自包含的数据库引擎,被广泛应用于移动设备上的应用程序,特别是在Android平台上。本系统“Android基于SQLite的学生信息管理系统”...
2. **ArcGIS for Android与SQLite集成**: ArcGIS for Android 提供了集成SQLite数据库的能力,允许开发者在Android设备上进行空间数据的本地存储和检索。这有助于减少网络通信,提高应用性能,尤其是在离线场景下...
Android 中SQLite技术实例详解 Android 中SQLite技术实例详解是Android 应用程序中的一种常用数据库技术,本文将对 SQLite 技术进行详细的介绍和解释。 一、SQLite 数据库简介 SQLite 数据库是一个轻量级的数据库...
本文档主要讲述的是Android中SQLite应用详解;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看