sqlite 数据库


    自定义类继承SQLiteOpenHelper,主要 要写的是 构造方法、onCreate、onUpgrade。


1、数据库的创建:

    一般在onCreate中调用db.execSQL(String ); 创建数据库,String 表示数据库的内容,如:

"create table Ticket("

+"busTicketId integer primary key,"+

"purchaseDate integer,"+

"useDate integer,"+

"busName String,"+

"fare interger)";

说明 大小写均可、BLOB 二进制数据,interger 数字、primary key 主键、AUTOINCREMENT 自增。

2、使用

    实例化自定义的SQLiteOpenHelper,用getWritableDatabase(如果只读也可以用getReadable)方法获取SQLiteDatabase实例。

    读取数据:

        query(String table,String[] columns,String selection,String[] selectionArgs,String         groupBy,String having,String orderBy,String limit);

        分别是表明、列明、筛选条件、筛选数值、分组、having、排序,限制。

        返回值是cursor,注意取数据之前检查是否为空,用movetofirst或者movetonext的方法。

        cursor使用:cursor.getXXX(cursor.getColumnIndex("name"))。

    写/替代数据:

values.put("userid",cursor.getInt(cursor.getColumnIndex("userid")));

values.put("context",cursor.getString(cursor.getColumnIndex("context")));

values.put("date",cursor.getLong(cursor.getColumnIndex("date")));

values.put("ishost",cursor.getInt(cursor.getColumnIndex("ishost")));

values.put("isread",1);

sqLiteDatabase.replace("Message", null,values);

    3、其他

        1、用blob存储图片

Bitmap bm = xxx;

ByteArrayOutputStreambaos =newByteArrayOutputStream();

baos =newByteArrayOutputStream();

bm.compress(Bitmap.CompressFormat.JPEG,100,baos);

values.put("photo",baos.toByteArray());

    读取

byte[] pic = cursor.getBlob(cursor.getColumnIndex("photo"));

Bitmap bm = BitmapFactory.decodeByteArray(pic,0,pic.length);

你可能感兴趣的:(sqlite 数据库)