Android学习笔记 - 数据库篇 (SQLite)

来源:互联网 发布:linux安装gcc教程 编辑:程序博客网 时间:2024/03/29 20:08

1.SQLite介绍
 官方网站:
http://www.sqlite.org/
 
2.SQLiteOpenHelper使用方法
 getReadableDatabase() //创建或打开一个只读的数据库
 getWriteableDatabase() //创建或打开一个可读写的数据库
 onCreate(SQLiteDatabase db) //创建数据库
 onOpen(SQLiteDatabase db) //打开数据库
 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) //更新数据库
 close() //关闭数据库

 

3.在SQLOpenHelper的子类中,必须有该构造函数
 public DatabaseHelper(Context context, String name, CursorFactory factory, int version)

 

public class DatabaseHelper extends SQLiteOpenHelper {// 默认版本private static final int VERSION = 1;// 默认构造函数public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {super(context, name, factory, version);}// 构造函数(用于创建数据库)public DatabaseHelper(Context context, String name) {this(context, name, null, VERSION);}// 构造函数(用于更新数据库)public DatabaseHelper(Context context, String name, int version) {this(context, name, null, version);}@Overridepublic void onCreate(SQLiteDatabase db) {System.out.println("onCreate is start...");db.execSQL("create table user( id int, name varchar(20) )");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {System.out.println("onUpgrade is start...");}}

 

4.使用adb访问SQLite
 adb shell //进行linux命令行(调试环境)
 ls -l //相当于dir /w
 cd data //与cd相同
 sqlite3 dbname //进入SQL管理模式
 .schema //查看数据库中的表
 SQL语句 //可直接查询
 rm -r databases //循环删除目录


5.增、删、改、查

public class SQLiteActivity extends Activity {// 声明控件private Button btnCreate = null;private Button btnUpgrade = null;private Button btnInsert = null;private Button btnUpdate = null;private Button btnDelete = null;private Button btnSelect = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.sqlite);// 寻找控件btnCreate = (Button) findViewById(R.id.btnCreateDb);btnUpgrade = (Button) findViewById(R.id.btnUpgradeDb);btnInsert = (Button) findViewById(R.id.btnInsertDb);btnUpdate = (Button) findViewById(R.id.btnUpdateDb);btnDelete = (Button) findViewById(R.id.btnDeleteDb);btnSelect = (Button) findViewById(R.id.btnSelectDb);// 创建数据库btnCreate.setOnClickListener(new OnClickListener() {public void onClick(View v) {System.out.println("btnCreate on start...");DatabaseHelper helper = new DatabaseHelper(SQLiteActivity.this, "studyDb");helper.getReadableDatabase();}});// 更新数据库btnUpgrade.setOnClickListener(new OnClickListener() {public void onClick(View v) {System.out.println("btnUpgrade on start...");DatabaseHelper helper = new DatabaseHelper(SQLiteActivity.this, "studyDb", 2);helper.getReadableDatabase();}});// 新增数据btnInsert.setOnClickListener(new OnClickListener() {public void onClick(View v) {System.out.println("btnInsert on start...");DatabaseHelper helper = new DatabaseHelper(SQLiteActivity.this, "studyDb");SQLiteDatabase db = helper.getWritableDatabase();// 参数列表ContentValues params = new ContentValues();params.put("id", 1);params.put("name", "dier");// 表名、列名、参数列表db.insert("user", null, params);}});// 修改数据btnUpdate.setOnClickListener(new OnClickListener() {public void onClick(View v) {System.out.println("btnUpdate on start...");DatabaseHelper helper = new DatabaseHelper(SQLiteActivity.this, "studyDb");SQLiteDatabase db = helper.getWritableDatabase();// 参数列表ContentValues params = new ContentValues();params.put("name", "stdier");// 表名、参数列表、WHERE子句、子句参数db.update("user", params, "id=?", new String[] { "1" });}});// 删除数据btnDelete.setOnClickListener(new OnClickListener() {public void onClick(View v) {System.out.println("btnDelete on start...");DatabaseHelper helper = new DatabaseHelper(SQLiteActivity.this, "studyDb");SQLiteDatabase db = helper.getWritableDatabase();// 表名、列名、参数列表db.delete("user", "id=?", new String[] { "1" });}});// 修改数据btnSelect.setOnClickListener(new OnClickListener() {public void onClick(View v) {System.out.println("btnSelect on start...");DatabaseHelper helper = new DatabaseHelper(SQLiteActivity.this, "studyDb");SQLiteDatabase db = helper.getWritableDatabase();//表名、查询字段、WHERE子句、子句参数、groupBy、having、orderByCursor cursor = db.query("user", new String[] { "id", "name" }, "id=?", new String[] { "1" }, null, null, null);while (cursor.moveToNext()) {System.out.println("query name -> " + cursor.getString(cursor.getColumnIndex("name")));}}});}}


 

原创粉丝点击