您的位置:首页 > 数据库

安卓使用轻量级数据库SQL 简单用法

2016-11-04 13:15 447 查看
1.先创建一个接口,interface   里面封装好几个SQL的常用属性,其他类中只要调用该属性时候,只需要implements即可   代码如下

public interface SQLValues {
String TABLE_NAME = "Person";//表名
String PERSON_NAME = "name";//person表的name列
String PERSON_NUMBER = "number"; //person表的number列


}

2.减一个数据库工具类  里面封装常用方法 例如增删改查,代码如下

public class DBTool implements SQLValues {
//数据库的对象,用于操作
private SQLiteDatabase sqLiteDatabase;
private Context context;//连接上下文
private MySQLHelper mySQLHelper;//创建helper对象
private final String TAG = "DBTool";

public DBTool(Context context) {
this.context = context;
mySQLHelper = new MySQLHelper(context, "ContactPersonRoom.db", null, 1);
sqLiteDatabase = mySQLHelper.getWritableDatabase();
}

//判断数据库里是否有该号码   的方法
private boolean isHasNumber(String number) {
String sql = "select * from " + TABLE_NAME + " where " + PERSON_NUMBER + " = ? ";
//返回符合条件的cursor对象
Cursor cursor = sqLiteDatabase.rawQuery(sql, new String[]{number});//number为要查询的变量
//如果数据数量 > 0 则返回true  证明存过该号码
Boolean flag = cursor.getCount() > 0;
cursor.close();//关闭游标
return cursor.getCount() > 0;
}

//插入一条数据 的方法
public void insert(String number, String name) {
if (isHasNumber(number)) {//如果数据库存在该号码
Log.d(TAG, "insert->不插入" + name);
return;
} else {
ContentValues values = new ContentValues();
values.put(PERSON_NAME, name);
values.put(PERSON_NUMBER, number);
//插入数据
sqLiteDatabase.insert(TABLE_NAME, null, values);
}
}


}
3.建立一个helper类,继承Helper   建立数据库存放类

public class MySQLHelper extends SQLiteOpenHelper implements SQLValues {
private Context context;
private String creat = "create table " + TABLE_NAME +
"(" + " id integer primary key autoincrement " +
"," + PERSON_NAME + " text " +
"," + PERSON_NUMBER + " text)";

public MySQLHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
this.context = context;
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(creat);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: