Android基础笔记二之SQLite数据库

三.SQLite数据库

1. 数据库的创建

1.1.  创建一个类,继承SQLiteOpenHelper类

1.2.  覆盖父类中的构造方法:super(context,name,factory,version)第一个参数为为上下文,第二个参数为数据库名称,第三个参数为数据库查询结果的游标工厂,第四个参数为数据库的版本>=1

1.3.  覆盖父类中的方法onCreate(SQLiteDatabase db):数据库在第一次创建的时候调用的方法,适合做数据库表结构的初始化,通过db.execSQL(String sql)创建数据库的表,在SQLite数据库中,各个参数的类型均已String的形式存储

1.4.  覆盖父类中的方法onUpgrade(SQLiteDatabase db,int oldVersion,intnewVersion):当程序的版本修改的时候执行的操作,主要用于数据库的的修改,如增加一个新的表

2. 数据库的增删改查

2.1.  通过sql语句实现

a. 获取数据库,在构造函数中创建一个数据库(helper)

b. 增、删、改:调用helper.getWritableDatabase();获取到数据库(简称db),通过db.execSQL(sql,Object[])执行相应操作,第一个参数为添加的sql语句,第二个语句为sql语句中对应的参数值,关闭数据库资源

c. 查:调用helper.getWritableDatabase();获取到数据库(简称db),通过db.rawQuery(sql,Object[])执行查询操作,关闭数据库资源

2.2.  通过Android内部定义的API实现(推荐使用较稳定)

a. 获取数据库,在构造函数中创建一个数据库(helper)

b. 增、删、改:调用helper.getWritableDatabase();获取到数据库(简称db),通过db.insert(),db.update(),db.delete()方法操作数据,通过ContentValues的put()方法设置查询条件的语句,关闭数据库资源

c. 查:调用helper.getWritableDatabase();获取数据库(简称db),通过db.query()操作数据库,关闭数据库资源

3. 数据库的事务管理

3.1.  开启事务:beginTransaction()

3.2.  设置事务的成功标记:setTransactionSuccessful()

3.3.  结束事务:endTransaction(),需要放在finally中执行,否则事务只有到超时的时候才自动结束,会降低数据库并发效率

4. ListView

4.1.  ListView入门:ListView是基于MVC架构来实现的,M:javabean(数据),V:activity(界面),C:adapter(控制器)

4.2.  与ScrollView的区别:前者是一次性在页面上加载全部的条目信息,而ListView是在页面上加载一个页面可以容纳的条目信息

4.3.  适配器:在View页面上通过setAdapter(adapter)引入适配器,创建类继承BaseAdapter,覆盖类中的方法,其中getCount()表示要显示总的条目数,getView()表示显示条目的信息

4.4.  显示数据:为了让显示的数据以我们指定的页面进行显示,可以通过布局填充器(LayoutInflater)进行实现,View.inflate(context,layout,root)获取到我们指定的layout

4.5.  常见的数据适配器:

a. ArrayAdapter:可以改变显示界面中文本的内容,通过List集合操作

b. SimpleAdapter:可以改变显示界面中文本和图片,通过List<Map<String,? extendsObject>>进行操作

5. 查看数据库

5.1.  通过工具将数据库导出后显示出来

5.2.  通过命令行进行处理:adb shell-->cd data-->cd data-->cd 包名-->cd databases-->ls -1显示列表-->sqlite3数据库-->sql语句进行查询

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。