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);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容