1
2
3
4
5
|
helper = new DaoMaster.DevOpenHelper( this , "notes-db" , null ); db = helper.getWritableDatabase(); daoMaster = new DaoMaster(db); daoSession = daoMaster.newSession(); noteDao = daoSession.getNoteDao(); |
//第一個參數是數據庫版本號,第二個參數是包名,即生成的Dao文件會在這個包下
Schema schema = new Schema(1,"com.onlybeyond.test.greendao");
addUser(schema);//添加相應的表
Entity user = schema.addEntity("Publish");
user.addIdProperty().autoincrement().primaryKey();
user.addIntProperty("img").unique().notNull();
user.addStringProperty("voice").notNull();
private static final String DB_NAME = "medical.db";
private static DaoMaster daoMaster;
private static DaoSession daoSession;
private static DaoMaster getDaoMaster(Context context){
SQLiteDatabase db = openHelper.getWritableDatabase();
daoMaster = new DaoMaster(db);
}
return daoMaster;
}
public static DaoSession getDaoSession(Context context){
if (daoSession == null){
if (daoMaster == null){
daoMaster = getDaoMaster(context);
}
daoSession = daoMaster.newSession();
}
return daoSession;
}
// 通過得到的DaoSession,可以獲取對相應表進行操作的Dao類;待數據庫表確定後,數據庫操作方法
DaoSession daoSession=getDaoSession(context);
PublishDao publishDao = daoSession.getPublishDao();
long insert = publishDao.insert(publish);
return insert;
}
public static void deletePublish(Context context,Publish publish){
DaoSession daoSession = getDaoSession(context);
PublishDao publishDao = daoSession.getPublishDao();
publishDao.delete(publish);
}
public static void updatePublish(Context context,Publish publish){
DaoSession daoSession = getDaoSession(context);
PublishDao publishDao = daoSession.getPublishDao();
publishDao.update(publish);
}
public static List<Publish> queryPublish(Context context,Publish publish,WhereCondition whereCondition,WhereCondition...whereConditions){
DaoSession daoSession = getDaoSession(context);
PublishDao publishDao = daoSession.getPublishDao();
QueryBuilder<Publish> publishQueryBuilder = publishDao.queryBuilder();
return publishQueryBuilder.where(whereCondition,whereConditions).list();
}
public static Publish queryPublish(Context context){
Publish publish=null;
DaoSession daoSession = getDaoSession(context);
PublishDao publishDao = daoSession.getPublishDao();
QueryBuilder<Publish> publishQueryBuilder = publishDao.queryBuilder();
if(publishQueryBuilder!=null) {
List<Publish> list = publishQueryBuilder.list();
if (list != null && list.size() > 0) {
publish = list.get(0);
}
}
return publish;
}
public static void cleanAllPublish(Context context){
DaoSession daoSession = getDaoSession(context);
PublishDao publishDao = daoSession.getPublishDao();
publishDao.deleteAll();
* 獲取視頻的縮略圖
* 先通過ThumbnailUtils來創建一個視頻的縮略圖,然後再利用ThumbnailUtils來生成指定大小的縮略圖。
* 如果想要的縮略圖的寬和高都小於MICRO_KIND,則類型要使用MICRO_KIND作爲kind的值,這樣會節省內存。
* @param videoPath 視頻的路徑
* @param width 指定輸出視頻縮略圖的寬度
* @param height 指定輸出視頻縮略圖的高度度
* @param kind 參照MediaStore.Images.Thumbnails類中的常量MINI_KIND和MICRO_KIND。
* 其中,MINI_KIND: 512 x 384,MICRO_KIND: 96 x 96
* @return 指定大小的視頻縮略圖
*/
public static Bitmap getVideoThumbnail(String videoPath, int width, int height,
int kind) {
Bitmap bitmap = null;
// 獲取視頻的縮略圖
bitmap = ThumbnailUtils.createVideoThumbnail(videoPath, kind);
System.out.println("w"+bitmap.getWidth());
System.out.println("h"+bitmap.getHeight());
bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,
ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
return bitmap;
}