`
cnetwei
  • 浏览: 177123 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android中SQLite操作示例

阅读更多

Android中SQLite操作示例

 

在Android中对SQLite数据库的操作,涉及以下几个方面:

1、确认数据库文件,即.db文件;

2、通过android.database.sqlite. SQLiteDatabase类的openOrCreateDatabase()方法打开数据库;

3、数据库操作:

A、开始事务: SQLiteDatabase.beginTransaction();

B、执行sql语句;

C、结束事务: SQLiteDatabase.endTransaction();

 

具体代码可参考如下:

static boolean installDefaultSitesToDB(Context cxt) {
	// 确认目标数据库文件
	File path = cxt.getDir("databases", Context.MODE_WORLD_WRITEABLE);
	path = new File(path, "db_name.db");

	
	SQLiteDatabase db = null;
	try {
              // 打开数据库
               db = openDB(path.getAbsolutePath());
		if (db == null) {
			//Log.e("tag", "open db_name.db ERROR~");
			return false;
		}

		db.beginTransaction();//开始事务

                boolean bool = doInstallData(db);//执行sql语句,插入数据

               //设置事务标志
                if (bool) {
			db.setTransactionSuccessful();// 设置事务标志
		} else {
			//Log.w("tag", "doInstall.DEFAULT_SITES Fail~!");
		}
		return bool;
	} finally {
		if (db != null) {
                        //结束事务
			if (db.inTransaction()) {db.endTransaction();}
			db.close();
		}
	}
}

private static SQLiteDatabase openDB(String file) {
	try {
		//SQLiteDatabase.openOrCreateDatabase(file, null);
		int flag = SQLiteDatabase.OPEN_READWRITE;
		flag = flag | SQLiteDatabase.CREATE_IF_NECESSARY;
		flag = flag | SQLiteDatabase.NO_LOCALIZED_COLLATORS;
		SQLiteDatabase db = SQLiteDatabase.openDatabase(file, null, flag);
		return db;
	} catch (Throwable e) {
		//Log.e("tag","openDatabase error:" + e.getMessage());
		return null;
	}
}	

//
private static boolean doInstallData(SQLiteDatabase db) {
	try {
		//create table
		String sql = "CREATE TABLE IF NOT EXISTS Permissions (origin TEXT UNIQUE NOT NULL, allow INTEGER NOT NULL)";
		db.execSQL(sql);
		
		ContentValues cv = new ContentValues();
		for (String site : DEFAULT_SITES) {
			cv.clear();
			cv.put("origin", site);
			cv.put("allow", 1);
			long ret = 	db.insertOrThrow("Permissions", null, cv);
			Log.d("tag", "db.insert.RET:" + ret);
		}
		return true;
	} catch (SQLException se) {
		String msg = "doInstall.error:[%s].%s";
		Log.d("tag",String.format(msg, se.getClass(),se.getMessage()));
		return false;
	}
}
分享到:
评论

相关推荐

    mono for android sqlite操作示例源代码

    mono for android sqlite操作示例源代码、 包括 sqliteconnection 获取 地址设置 commond 链接,操作 完成了 数据库文件创建,数据库表创建, 内容添加等 没做提示窗口, 请用 Android device logging 查找标签:...

    android数据库sqlite完整示例带注释

    下面是一个关于Android中使用SQLite的详细示例,包括创建数据库、表以及进行CRUD(创建、读取、更新、删除)操作。 首先,我们需要创建一个SQLiteOpenHelper的子类,这个类将负责数据库的创建和版本管理: ```java...

    Android 连接Sqlite代码示例,并用sqliteStudio进行可视化显示

    本示例将详细讲解如何在Android应用中连接SQLite数据库,并利用sqliteStudio工具进行可视化展示。 首先,我们需要在Android项目中创建SQLite数据库。这通常通过继承`SQLiteOpenHelper`类来实现。这个类提供了创建、...

    Android中使用SQLite示例

    在Android应用开发中,SQLite是一个重要的组成部分,它是一个轻量级的数据库系统,可以在设备上本地存储数据。SQLite被广泛用于需要持久化数据的应用中,比如用户设置、游戏进度、应用配置等。以下是对Android中使用...

    Android数据库SQLite详解

    本文将深入探讨SQLite在Android中的使用,包括基本概念、数据库操作以及实际应用示例。 ### 1. SQLite基本概念 - **数据库**: 数据库是存储和组织数据的结构化系统,SQLite在Android中表现为一个数据库文件,扩展...

    android 的sqlite数据库加密实现

    在Android应用开发中,SQLite是一个常用的轻量级数据库,它为数据存储提供了便利。然而,随着数据安全性的日益重要,对SQLite数据库进行加密是必要的,以保护敏感信息免受未授权访问。本篇文章将深入探讨如何在...

    android studio1.2 sqlite的操作

    在Android Studio 1.2版本中,SQLite的操作对于开发者来说是构建应用程序的基础,特别是那些需要存储用户数据或者需要持久化数据的应用。下面将详细介绍如何在Android Studio 1.2中进行SQLite操作。 首先,我们需要...

    android之sqlite实现增删改查

    "Android之SQLite实现增删改查"这个标题表明了本文将介绍如何在Android平台中使用SQLite数据库来实现增删改查操作。 描述解释 "这是学习及开发SQlite的一个很好的例子,含有其增删改查的所有功能附有完整的代码可以...

    android sqlite示例代码

    在`HelloSQLite`示例中,可能还包含了如何在Activity中使用这些数据库操作的代码,例如在按钮点击事件中调用`insertData()`,或者在ListView中显示查询结果等。 总之,Android中的SQLite提供了一个方便的本地数据...

    android 简易通讯录(sqlite示例)

    接下来,我们将详细讨论如何在Android中使用SQLite实现一个简易通讯录。 首先,我们需要在Android Studio(IDEA)中创建一个新的Android项目,并在项目的`res/layout`目录下设计通讯录的用户界面。通常,这个界面会...

    Android下操作sqlite简单示例

    本示例将详细介绍如何在Android环境下进行SQLite数据库的基本操作。 首先,我们需要在Android项目中创建一个SQLiteOpenHelper的子类,这个类负责数据库的创建、升级以及版本管理。例如,我们可以创建一个名为`...

    Android Database SQLite 多表操作源码

    总之,这个"Android Database SQLite 多表操作源码"示例将涵盖上述各种操作,为开发者提供一个实战平台,以加深对SQLite在Android环境中多表操作的理解。通过分析和运行这个源码,你可以学习如何在Android Studio中...

    Android数据库SQLite基本操作工程

    在这个"Android数据库SQLite基本操作工程"中,我们将深入探讨如何在Android应用中进行最基础的数据库操作:增、删、改、查。 1. **创建SQLite数据库** - 在Android中,我们通常通过继承`SQLiteOpenHelper`类来创建...

    android的sqlite增删改查示例

    在`SQLite_ex1`这个示例中,首先会有一个SQLiteOpenHelper的子类,可能命名为`DatabaseHelper`,它会包含以下关键代码: ```java public class DatabaseHelper extends SQLiteOpenHelper { // 数据库版本号 ...

    arcgis for android 读取加载sqlite数据库.rar

    本教程将探讨如何在ArcGIS for Android环境中利用SQLite数据库进行数据存储和读取。 1. **SQLite数据库介绍**: SQLite是一个自包含、无服务器、零配置、事务性的SQL数据库引擎,无需额外的数据库管理器进程,直接...

    Android的SQLite中DateTime类型数据的存取问题

    Android 的 SQLite 中 DateTime 类型数据的存取问题 Android 平台中的 SQLite 数据库在存储 DateTime 类型的数据时会遇到一些问题。本文将详细介绍这些问题和解决方案。 日期类型数据的存储问题 -----------------...

    Android SQLite数据库操作demo

    本篇将基于一个名为"Android SQLite数据库操作demo"的示例项目,探讨如何在Android中进行SQLite数据库的相关操作。原作者的博客地址为http://blog.csdn.net/liuhe688/article/details/6715983。 首先,我们来看一下...

    android的SQlite完整demo实现

    本篇文章将详细解析如何在Android中实现一个完整的SQLite数据库示例,包括创建数据库、表,以及进行数据的增删改查操作。 首先,我们需要在Android项目中创建一个SQLiteOpenHelper的子类,这个类是用来管理和操作...

    android操作sqlite-SQLiteDemo

    下面将详细介绍如何在Android中操作SQLite,以及如何创建和使用数据库。 1. **创建SQLite数据库** - 首先,你需要创建一个`SQLiteOpenHelper`的子类,这个类提供了创建和升级数据库的接口。例如,你可以创建一个名...

Global site tag (gtag.js) - Google Analytics