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")));}}});}}
- Android学习笔记 - 数据库篇 (SQLite)
- Android学习笔记 - 数据库篇 (SQLite)
- Android SQLite数据库学习笔记
- android学习笔记--sqlite数据库
- android学习笔记---SQLite数据库的使用
- 【Android学习笔记】SQLite数据库存储
- android学习笔记之SQLite数据库存储
- 学习笔记 android数据库之 Sqlite
- android学习笔记之SQLite数据库
- Android学习笔记---SQLite数据库 api
- android学习笔记(18)数据库sqlite初步
- android学习笔记(19)数据库sqlite进阶
- Android学习笔记----SQLite数据库基本用法
- Android学习笔记——数据库SQLite
- Android学习笔记-SQLite数据库实战
- Android学习笔记(42):SQLite数据库
- Android中SQLite数据库学习笔记
- Android SQLite数据库学习笔记(1)
- c语言的表达式优先级中左结合 含义
- 键盘事件
- 求所有的出栈序列
- 传智播客创始人张孝祥因病去世(转)
- MFC 实现ping功能。整理来的
- Android学习笔记 - 数据库篇 (SQLite)
- ubuntu设置Ip,重启不失效
- SQL Server 创建表 添加主键 添加列常用SQL语句
- common lisp中once-only 宏
- 数字 排列组合 图表智力题目(SB)
- ubuntu自动使用root用户登录
- linux 开机自动运行程序
- 大牛是如何练成的?
- 关于java递归调用内存泄露