`

Android的数据存储(二)——SQLite数据库

 
阅读更多

    Android系统集成了一个轻量级的数据库,SQLite。它是一个嵌入式的数据引擎,专门适用于资源有限的设备上(如手机、PDA等)适量数据存储。SQLite数据库只是一个文件,不需要像Oracle、MySQL等需要安装启动。

1,SQLiteDatabase

     Android提供一个SQLiteDatabase代表一个数据库(底层就是一个数据库文件),一旦获取了SQLiteDatabase对象,就能通过SQLiteDatabase对象来管理操作数据库。

1)获取SQLieteDatabase对象

 

//		打开path文件对应的SQLite数据库
//		db = SQLiteDatabase.openDatabase(path, null, null);
//		打开或创建mydb.dat数据库,该文件在/data/data/app.packagename/files目录中
		db = SQLiteDatabase.openOrCreateDatabase(getFilesDir().getPath()
				+ "/mydb.dat", null);

 

 

2)使用execSQL来执行SQL语句。

//创建
db.execSQL("create table if not exists tb_user(_id integer primary key autoincrement,username varchar(20),password varchar(20) )");
//插入
db.execSQL("insert into tb_user values(null,?,?)", new String[] {
					"张三", "1234" });
//查询
// rawQuery(String sql, String[] selectionArgs)
Cursor cursor = db.rawQuery("select * from tb_user", null);
//删除
db.execSQL("delete from tb_user where _id=49");
db.execSQL("delete from tb_user where _id = ?",new String[] { "50" });
//修改
db.execSQL("update tb_user set username='1234' where _id = ?", new String[]{"12"});

 

3)使用SQLiteDatabase 提供的方法

    

//插入	
	ContentValues values = new ContentValues();
	values.put("username", "张无忌");
	values.put("password", "1234");
	db.insert("tb_user", null, values);
//删除
	db.delete("tb_user", "username like ?", new String[] { "张_" });
//修改
	db.update("tb_user", values, "_id>?", new String[]{"10"});
//查询
// query(String table, String[] columns, String selection,
// String[] selectionArgs, String groupBy, String having, String
// orderBy, String limit)
	Cursor cursor = db.query("tb_user", new String[] { "_id",
						"username", "password" }, "username like ?",
						new String[] { "张%" }, null, null, null, "5,10");

 

   4)遍历Cursor结果集

       boolean  cursor.move(int offset);  offset为正,向下移动,为负,向上移动

       booealn  cursor.moveToFirst()

       booealn  cursor.moveToLast()

       booealn  cursor.moveToNext() 

        booealn  cursor.moveToPosition(int position)  移动到指定行,成功返回true

        booealn  cursor.moveToPrevious()

	Cursor cursor = db.rawQuery("select * from tb_user", null);
	while (cursor.moveToNext()) {
	int id = cursor.getInt(cursor.getColumnIndex("_id"));
	String username = cursor.getString(cursor.getColumnIndex("username"));
	String password = cursor.getString(cursor.getColumnIndex("password"));
        }

 5)事务处理

    SQLiteDatabase.beginTransaction();

    SQLiteDatabase.endTransation();

    SQLiteDatabase.inTransation();  //

    SQLiteDatabase.setTransationSuccessful();//判断事务是否成功,否则在endTransation()时回滚事务

   

	db.beginTransaction();
		try {
			db.execSQL("insert into tb_user values(null,?,?", new String[] {
					"张三", "1234" });//语句有错,异常
			db.setTransactionSuccessful();//此处觉得是提交事务还是回滚事务
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			db.endTransaction();
		}

 

    2,使用命令去操作SQLite数据库

    cmd-->

    >adb shell   进入android系统

    >ls data/data/com.package/files  进入对应数据库文件的存放目录

    >sqlite3 my.db  进入数据库

   > .databases 查看所有数据库文件

   > . tables  查看该数据库的所有表

   > .quit 退出


 

 

 

    

  • 大小: 1.5 KB
  • 大小: 2.3 KB
分享到:
评论

相关推荐

    实验十 使用SQLite数据库存储数据

    实验十 使用SQLite数据库存储数据

    Android 绿豆通讯录【SQLite数据库】

     Android 绿豆通讯录( SQLite数据库 + ListView数据展示控件 ) https://blog.csdn.net/weixin_44949135/article/details/106029404 采用 SQLite数据库 + ListView数据展示控件,可将用户添加的所有信息,分条...

    安卓开发实验6——SQLite和SQLiteDatabase应用

    课堂作业实验6源码。利用android的内置数据库SQLite存储新闻信息,用listview组件以列表形式显示新闻内容,

    Android数据持久化之SQLite数据库用法分析

    这一节我将总结一下android中的另一种数据存储——SQLite 的相关知识点 SQLite数据库是android系统自带的,主要用到的类包括SQLiteOpenHelper和SQLiteDatabase。 1、SQLiteOpenHelper:创建数据库和数据库版本管理的...

    Android项目设计与开发:SQLite 2.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 2 SQLite 数据库管理员 数据库实体A 表 表 数据库实体B 表 表 数据库实体 表 表 SQLite 我们已经掌握: SQLite是一款轻量级的关系型数据库,它的运算效率高...

    移动应用程序设计基础——数据库实践——简单日记本.zip

    移动应用程序设计基础——数据库实践——简单日记本 详细内容在已在本报告中说明

    Android项目设计与开发:SQLite 1.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 1 SQLite 概念: SQLite是一款轻量级的关系型数据库,它的运算效率高,占用资源少,因此比较适合在移动设备上使用。 SQLite Android为了让我们更加方便地...

    Android SQLite数据库增删改查操作的使用详解

    在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、 TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar...

    Android学习笔记(十二)——数据存储(SQLite数据库)

    【第一部分】历史文章: Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) ...Android学习笔记(七)——数据存储(共享参数Share

    【安卓项目】——新闻资讯类项目

    Android学习笔记(十二)——数据存储(SQLite数据库) Android学习笔记(十三)——数据存储(LitePal操作数据库) Android学习笔记(十四)——内容提供器 Android学习笔记(十五)——侧滑容器(ViewPager) .......

    Android项目设计与开发:SQLite 3.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 3 SQLite 内容: SQLite如何插入数据。 (1)SQL语句。insert into table…value() (2)使用SQLiteOpenHelper接口 实验 通过SQLiteOpenHelper接口insert ...

    Android开发与应用——张荣,原书配套课件

    6.4 SQLite数据库 6.4.1 SQLite基本操作 6.4.2 SQLiteOpenHelper 6.5 Content Provider 6.5.1 使用Content Provider发布数据 6.5.2 使用Content Resolver获取数据 6.6 小结 练习 第7章 多线程及消息...

    在android studio中用SQLiteOpenHelper()方法建立数据库

    在android studio中存储数据有三个方法,分别是: (1)简单存储——SharedPreferences (2)文件存储: 内部存储——应用程序私有文件 外部存储——SD卡 资源文件——只读( RAW 、XML) (3)数据库存储——...

    Android项目设计与开发:SQLite 4.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 4 SQLite 内容: SQLite如何删除数据。 (1)SQL语句。delete from table where.. (2)使用SQLiteOpenHelper接口 实验 通过SQLiteOpenHelper接口delete 来...

    第8章 移动信息仓库—Android的数据存储操作.pdf

    典型的桌面操作系统提供一种公共文件系统——任何应用软件可以...在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(content provider)和网络,我们将在本章详细介绍。

    Android开发中使用sqlite实现新闻收藏和取消收藏的功能

    之前学习oracle,简单的认为数据库只存在服务器端,学习安卓之后才发现原来android和Ios本身是“携带”数据库的——SQLite,是轻量级的、嵌入式的、关系型数据库,是Android、IOS等广泛使用的的数据库系统。用于存储...

    android开发入门与实战(下)

    8.4 打造自己的数据库存储——SQLite存储方式 8.4.1 Android中对数据库操作 8.4.2 完整地操作数据库——日记本实例 8.5 我的数据你来用——ContentProvider介绍 8.5.1 初识ContentProvider 8.5.2 使用...

    Android Studio实现的天气预报系统(高分毕设,Android期末作业,Android课设)

    2:使用sqlite本地数据库进行数据的存储; 3:天气数据来源网页“天气网”爬虫技术获取; 客户端功能介绍: 1:开屏页面:软件启动会显示2秒的开屏页面 2:天气数据:进入软件之后会显示当前选择的天气数据信息 3...

    android开发入门与实战(上)

    8.4 打造自己的数据库存储——SQLite存储方式 8.4.1 Android中对数据库操作 8.4.2 完整地操作数据库——日记本实例 8.5 我的数据你来用——ContentProvider介绍 8.5.1 初识ContentProvider 8.5.2 使用...

    Android开发之数据存储的四种方式之SharedPreferences

    Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...

Global site tag (gtag.js) - Google Analytics