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

来源:互联网 发布:迷你小钢炮淘宝地址 编辑:程序博客网 时间:2024/06/08 16:18
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) {    }}
0 0
原创粉丝点击