一.概况
SQLite是Android内置的一个很小的关系型数据库,Google为Andriod的较大的数据处理提供了SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大,SQLite具有独立性、轻量级、隔离性、安全性、跨平台、支持多种语言的优势,SQliteOpenHelper是一个抽象类,所以必须要实现以下的两个方法以及一个构造方法
1.构造方法:
public ClassName(Context context, String name, CursorFactory factory, int version)
参数1:上下文对象(MainActivity.this)、
参数2:数据库的名称、
参数3:创建Cursor的工厂类,参数为了可以自定义Cursor创建(ps:一般为null)、
参数4:数据库的版本
2.两个回调函数:
onCreate(SQLiteDatabase db)该方法是当没有数据库存在才会执行
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)该方法是数据库存更新才会执行
3.实现代码如下:
public class MyDatabaseOpenHelper extends SQLiteOpenHelper { private static final String db_name = "mydata.db"; // 数据库名称 private static final int version = 1; // 数据库版本 public MyDatabaseOpenHelper(Context context) { super(context, db_name, null, version); } //该方法没有数据库存在才会执行 public void onCreate(SQLiteDatabase db) { //没有数据库打印日记 Log.i("Log","没有数据库,创建数据库"); //建表语句 String sql_message = "create table t_message (id int primary key,userName varchar(50),lastMessage varchar(50),datetime varchar(50))"; //执行建表语句 db.execSQL(sql_message); } //数据库存更新才会执行 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i("updateLog","数据库更新了!"); } }
二.SQLiteDatabase类
1.Android提供了一个名为SQLiteDatabase的类,它封装了一些操作数据库的API,SQLiteOpenHelper是SQLiteDatabase的一个帮助类,用来管理数据库的创建和版本的更新,一般是建立一个类继承它,并实现它的onCreate和onUpgrade方法
onCreate(SQLiteDatabase db)创建数据库时调用
onUpgrade(SQLiteDatabase db,int oldVersion , int newVersion)版本更新时调用
getReadableDatabase()创建或打开一个只读数据库
getWritableDatabase()创建或打开一个读写数据库
2.调用代码如下:
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyDatabaseOpenHelper helper = new MyDatabaseOpenHelper(MainActivity.this); helper.getWritableDatabase().close(); } }
3.SQLiteDatabase相关方法
getCount()总记录条数
isFirst()判断是否第一条记录
isLast()判断是否最后一条记录
moveToFirst()移动到第一条记录
moveToLast()移动到最后一条记录
move(int offset)移动[是指偏移量而不是指移到指定位置]
moveToNext()移动到吓一条记录
moveToPrevious()移动到上一条记录
getColumnIndex(String columnName)获得指定列索引的int类型值
三.测试SQL语句方法
运行以上代码后你会发现在data/data/database 目录下有个刚刚生成的mydata.db文件这就是我们的数据库文件
在我们的SDK目录下的platform-tools文件夹有个sqlite3.exe,打开我们的dos命令台运行它,输入sqlite3 数据库文件的绝对路径便可以打开该数据库进行增删查改的操作
(ps:没有SDK的,这里我提供一下百度云链接:http://pan.baidu.com/s/1o8m6hNc 密码:zom1)