ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而HashTable却可以存储对象。
在忘数据库中插入数据的时候,首先应该有一个ContentValues的对象所以:
ContentValues initialValues = new ContentValues();
initialValues.put(key,values);
SQLiteDataBase sdb ;
sdb.insert(database_name,null,initialValues);
插入成功就返回记录的id否则返回-1;
就可以插入一行数据,详细见下面代码
public Uri insert(Uri uri, ContentValues initialValues) {
if (uriMatcher.match(uri) != CONTACTS) {
throw new IllegalArgumentException("unknow uri " + uri);
}
ContentValues values;
if (initialValues != null) {
values = new ContentValues(initialValues);
System.out.println("contentValues插入成功,initailValues不是空的");
} else {
values = new ContentValues();
}
Long now = Long.valueOf(System.currentTimeMillis());
// 设置默认值
if (values.containsKey(ContactColumn.CREATED) == false) {
values.put(ContactColumn.CREATED, now);
}
if (values.containsKey(ContactColumn.NAME) == false) {
values.put(ContactColumn.NAME, now);
}
if (values.containsKey(ContactColumn.EMAIL) == false) {
values.put(ContactColumn.EMAIL, now);
}
if (values.containsKey(ContactColumn.MOBILE) == false) {
values.put(ContactColumn.MOBILE, now);
}
if (values.containsKey(ContactColumn.MODIFIED) == false) {
values.put(ContactColumn.MODIFIED, now);
}
System.out.println("应该插入成功了吧");
long RowId = contactsDB.insert(CONTACTS_TABLE, null, values);
if (RowId > 0) {
Uri noteUri = ContentUris.withAppendedId(CONTENT_URI, RowId);
getContext().getContentResolver().notifyChange(noteUri, null);
System.out.println("到这里也是没问题的!");
return noteUri;
}
throw new IllegalArgumentException("unknow uri " + uri);
}
分享到:
相关推荐
**SQLite的主要特点:** 1. **小巧高效**:SQLite的源代码很小,但功能强大,运行速度快,占用资源少。 2. **跨平台**:SQLite可以在多种操作系统上运行,包括Android、iOS、Windows等。 3. **ACID事务**:SQLite...
SQLite数据库具有轻量级、可嵌入式、无服务器模式等特点,使得它成为移动应用的理想选择。在Android系统中,每个应用程序都可以拥有自己的SQLite数据库,且可以进行基本的CRUD(创建Create、读取Read、更新Update、...
SQLite被广泛应用于移动应用中,因为它具有高效、可靠且易于集成的特点。本教程将深入探讨如何在Android应用中使用SQLite进行数据的增删查改操作,并展示如何结合ListView来展示查询结果。 首先,我们需要创建一个...
ContentValues cv = new ContentValues(); cv.put(FIELD_TITLE, title); long rowId = db.insert(TABLE_NAME, null, cv); return rowId; } ``` **6. 删除数据** - **方法**:使用`getWritableDatabase`方法...
这三种数据存储方式各有特点,应根据实际需求选择合适的方法。SharedPreferences适合简单配置,File流适用于大文件,而SQLite则适用于结构化数据的复杂操作。在实际应用中,开发者可能需要结合使用这些方法来满足...
ContentValues values = new ContentValues(); values.put("column1", "value1"); values.put("column2", 123); db.insert("table_name", null, values); ``` 4. 查询数据 - `rawQuery()`方法用于执行SQL查询...
SQLite以其轻量级、高效和嵌入式的特点,广泛应用于移动设备,如iPhone和Android手机。本文将重点讨论Android中SQLite数据库的基本操作和相关API。 SQLite在Android中的核心类是`SQLiteDatabase`,它提供了对数据库...
SQLite数据库因其小巧高效的特点,成为移动设备上理想的本地数据存储解决方案。下面将详细探讨Android中SQLite数据库的基本操作,包括创建数据库、创建表、插入数据、查询数据以及更新和删除数据。 1. **创建数据库...
SQLite数据库以其高效、可靠和易于集成的特点,成为Android平台首选的本地数据库解决方案。本篇文章将深入探讨如何在Android应用中进行SQLite数据库的基础操作,包括创建数据库、数据更新、插入与删除以及查询。 ##...
**特点:** - **标准化的API:** 提供了一套标准的API用于读取和修改数据。 - **安全性高:** 可以通过权限控制来限制其他应用对数据的访问。 - **灵活性强:** 可以根据需要选择公开哪些数据,以及允许进行哪些操作...
SQLite是一种轻量级的关系型数据库管理系统,因其体积小、性能高、易于移植等特点而被广泛应用于各种设备上,尤其是在移动设备如Android和iOS上有着不可替代的地位。对于Android开发者而言,掌握SQLite的基本使用...
总结来说,SQLite是Android开发中不可或缺的数据存储工具,其简洁高效的特点使得它成为小型应用存储数据的理想选择。理解并熟练运用SQLite的创建、操作、事务处理以及与其他组件的交互,对于提升Android应用的开发...
ContentValues values = new ContentValues(); values.put("name", "John"); values.put("age", 30); long newRowId = db.insert("users", null, values); ``` - 查询数据: ```java Cursor cursor = db....
SQLite具有轻量级、无服务器、零配置等特点,非常适合移动设备上的应用开发。 #### 1.2 Android中的SQLite 在Android中,SQLite是默认支持的数据库解决方案之一。Android提供了一个名为`SQLiteOpenHelper`的抽象类...
SQLite是一个开源的数据库系统,它的特点是不需要独立的服务器进程,可以直接在客户端应用程序中运行。在Android中,SQLite数据库被广泛用于存储应用数据,如用户设置、应用状态等。由于其小巧高效,特别适合移动...
在Android开发中,SQLite数据库是应用内存储数据的常用方式,尤其对于轻量级的数据管理,SQLite具有高效、本地化和灵活的特点。本示例主要关注`SQLiteDatabase`的增删改查操作,并且对比了Android自带的SQLite API与...
SQLite是一种嵌入式的数据库引擎,具有体积小、速度快、使用简单的特点,适用于移动设备。Android系统内置了SQLite,并提供了一系列API来方便开发者进行数据库操作。 #### 二、创建SQLite数据库 为了在Android中...
选项B正确,而A、C、D描述的是DOM解析器的特点。 7. **Menu操作**:在Android中,可能需要重写的方法有`onCreateOptionsMenu()`和`onOptionsItemSelected()`来创建和响应菜单项。 8. **SQLiteOpenHelper**:使用此...