本文主要是介绍安卓中SQLite的简单使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、创建类继承自SQLiteOpenHelper
SQLiteOpenHelper 是安卓中创建数据库的一个帮助类,至少实现其中的onCreate和onUpgrade方法。
SQLiteOpenHelper 的方法:
方法 | 作用 |
---|---|
onCreate(SQLiteDatabase db) | 创建数据库时调用 |
onUpgrade( SQLiteDatabase db,int oldVersion , int newVersion ) | 更新数据库时调用 |
getReadableDatabase() | 创建或打开一个只读数据库 |
getWritableDatabase() | 创建或打开一个可写数据库 |
SQLiteOpenHelper的使用:
public class MySQLiteOpenHelper extends SQLiteOpenHelper{private final static String DATABASE_NAME = "person.db";private final static int DATABASE_VERSION = 1;private final static String TABLENAME = "person";private final static string ID = "id" ;private final static String NAME= "name";private final static String NUMBER= "number";public MySQLiteOpenHelper(Context context, CursorFactory factory) {super(context, DATABASE_NAME, factory, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {//创建数据库语句String sql = "create table " + TABLE_NAME +" ( " + ID +" INTEGER primary key autoincrement, "+ NAME+ " text, "+ NUMBER+ " text );" ;db.execSQL(sql);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {String sql = "DROP TABLE IF EXISTS " + TABLE_NAME ;db.execSQL(sql);onCreate(db);}
}
二、其他常用数据库方法:
1 . 获取游标
public Cursor getCursor() {SQLiteDatabase db = this.getReadableDatabase();Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);return cursor;}
Cursor 的常用方法:
方法 | 作用 |
---|---|
getCount() | 数据总数 |
getColumnIndex(String columnName) | 获取列索引 |
isFirst() | 是否第一个条目 |
isLast() | 是否最后条目 |
moveToFirst() | 移动到第一个条目 |
moveToLast() | 移动到最后条目 |
moveToNext() | 移动到下一条 |
moveToPrevious() | 移动到前一条 |
2 . 插入数据
/*** * @param column_1* @param column_2* @return */public long insert ( String name, String number){SQLiteDatabase db = this.getWritableDatabase();ContentValues values = new ContentValues(); //数据项values.put( NAME, name);values.put( NUMBER, number);long row = db.insert(TABLE_NAME, null, values);return row;}
或用数据库语句来执行:
public long insert(String name , int number){//插入操作的SQL语句String sql = "insert into person(name, number) values ('" + name + "' , '" + number + "');" ;return db.execSQL(sql);//执行SQL语句
}
3 . 删除数据
/**
*
* @param delColumnValue 要删除的数据项中COLUMN_1 的值
*/
public void deleteByName(String name){SQLiteDatabase db = this.getWritableSQLiteDatabase();String where = NAME+ "=?"; //删除的条件参数String[] whereValues = { name}; //条件参数的值db.delete(TABLENAME, where, whereValues);
}
或用数据库语句来执行:
public void delete(String name){String sql= "delete from person where name= '" + name + "' ;" ;db.execSQL(sql);
}
4 . 数据修改
/*** * @param column_1_value修改的查询条件(字段值)* @param column_2 修改的字段* @param column_2_value 修改的字段的值*/public void update( String name, String number){SQLiteDatabase db = this.getWritableDatabase();ContentValues values = new ContentValues();values.put(NUMBER, number);String whereClause = NAME+ " = ?"; //查询条件参数String[] whereArgs= { name}; //查询条件的参数值db.update(TABLE_NAME, values, whereClause , whereArgs);}
用数据库语句来执行:
public void update( String name, String number){String sql = "update [person] set number= '" + number + "' where name = '"+ name +"' ;" ;db.execSQL(sql);
}
这篇关于安卓中SQLite的简单使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!