本文整理汇总了Java中com.raizlabs.android.dbflow.structure.ModelAdapter类的典型用法代码示例。如果您正苦于以下问题:Java ModelAdapter类的具体用法?Java ModelAdapter怎么用?Java ModelAdapter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ModelAdapter类属于com.raizlabs.android.dbflow.structure包,在下文中一共展示了ModelAdapter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: save
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
/**
* 新增或者修改数据库的统一方法
* @param tClass 传递一个class信息
* @param models 这个class对应的实例的数组
* @param <Model> 这个实例的泛型 限定条件是BaseModel
*/
public static<Model extends BaseModel> void save(final Class<Model> tClass, final Model... models) {
if (models==null||models.length==0) return;
// 当前数据库的一个管理者
DatabaseDefinition definition = FlowManager.getDatabase(AppDatabase.class);
// 提交一个事务
definition.beginTransactionAsync(new ITransaction() {
@Override
public void execute(DatabaseWrapper databaseWrapper) {
// 执行
ModelAdapter<Model> adapter = FlowManager.getModelAdapter(tClass);
// 保存
adapter.saveAll(Arrays.asList(models));
// 唤起通知
instance.notifySave(tClass,models);
}
}).build().execute();
}
示例2: delete
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
/**
* 删除数据库的的统一方法
* @param tClass 传递一个class信息
* @param models 这个class对应的实例的数组
* @param <Model> 这个实例的泛型 限定条件是BaseModel
*/
public static<Model extends BaseModel> void delete(final Class<Model> tClass, final Model... models) {
if (models==null||models.length==0) return;
// 当前数据库的一个管理者
DatabaseDefinition definition = FlowManager.getDatabase(AppDatabase.class);
// 提交一个事务
definition.beginTransactionAsync(new ITransaction() {
@Override
public void execute(DatabaseWrapper databaseWrapper) {
// 执行
ModelAdapter<Model> adapter = FlowManager.getModelAdapter(tClass);
// 删除
adapter.deleteAll(Arrays.asList(models));
// 唤起通知
instance.notifyDelete(tClass,models);
}
}).build().execute();
}
示例3: performIndividualAdapterOperations
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void performIndividualAdapterOperations() {
for (int i = 0; i < mModelList.size(); i++) {
@ModelOperation int operation = mOperationList.get(i);
Object model = mModelList.get(i);
ModelAdapter modelAdapter = FlowManager.getModelAdapter(model.getClass());
if (operation == MODEL_OPERATION_SAVE) {
modelAdapter.save(model);
} else if (operation == MODEL_OPERATION_DELETE) {
modelAdapter.delete(model);
} else if (operation == MODEL_OPERATION_INSERT) {
modelAdapter.insert(model);
} else if (operation == MODEL_OPERATION_UPDATE) {
modelAdapter.update(model);
}
}
}
示例4: migrateSurveyTable
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
private void migrateSurveyTable(SQLiteDatabase database) {
ModelAdapter myAdapter = FlowManager.getModelAdapter(Survey.class);
//Create temporal table
String sql=myAdapter.getCreationQuery();
Log.d("DBMIGRATION", "old table " + sql);
sql=sql.replace("Survey", "Survey_temp");
Log.d("DBMIGRATION", "create temp table " + sql);
database.execSQL(sql);
//Insert the data in temporal table
String sqlCopy="INSERT INTO Survey_temp(id_survey, id_tab_group, id_org_unit, id_user, creation_date, completion_date, upload_date, schedule_date, status, eventuid) SELECT id_survey, id_tab_group, id_org_unit, id_user, creationDate, completionDate, uploadedDate, scheduledDate, status, eventuid FROM Survey";
database.execSQL(sqlCopy);
//Replace old table by new table with the new column name.
database.execSQL("DROP TABLE IF EXISTS Survey");
database.execSQL("ALTER TABLE Survey_temp RENAME TO Survey");
}
示例5: migrateProgramTable
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
private void migrateProgramTable(SQLiteDatabase database) {
ModelAdapter myAdapter = FlowManager.getModelAdapter(Program.class);
String programTable = "Program";
String programTempTable = "Program_temp";
//Create temporal table
String sql = myAdapter.getCreationQuery();
Log.d("DBMIGRATION", "old table " + sql);
sql = sql.replace(programTable, programTempTable);
Log.d("DBMIGRATION", "create temp table " + sql);
database.execSQL(sql);
//Insert the data in temporal table
String sqlCopy = "INSERT INTO " + programTempTable
+ "(id_program, uid, name, stage_uid) SELECT id_program, uid, name, programStage "
+ "FROM "
+ programTable;
database.execSQL(sqlCopy);
//Replace old table by new table with the new column name.
database.execSQL("DROP TABLE IF EXISTS " + programTable);
database.execSQL("ALTER TABLE " + programTempTable + " RENAME TO " + programTable);
}
示例6: migrateSurveyTable
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
private void migrateSurveyTable(SQLiteDatabase database) {
ModelAdapter myAdapter = FlowManager.getModelAdapter(Survey.class);
//Create temporal table
String sql = myAdapter.getCreationQuery();
Log.d("DBMIGRATION", "old table " + sql);
sql = sql.replace("Survey", "Survey_temp");
Log.d("DBMIGRATION", "create temp table " + sql);
database.execSQL(sql);
//Insert the data in temporal table
String sqlCopy =
"INSERT INTO Survey_temp(id_survey, id_program, id_org_unit, id_user, "
+ "creation_date, completion_date, upload_date, scheduled_date, status, "
+ "eventuid) SELECT id_survey, id_program, id_org_unit, id_user, "
+ "creation_date, completion_date, upload_date, schedule_date, status, "
+ "eventuid FROM Survey";
database.execSQL(sqlCopy);
//Replace old table by new table with the new column name.
database.execSQL("DROP TABLE IF EXISTS Survey");
database.execSQL("ALTER TABLE Survey_temp RENAME TO Survey");
}
示例7: migrate
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
@Override
public void migrate(SQLiteDatabase database) {
//The column name can't be renamed in sqlite. It is needed create a temporal table with the new column name.
ModelAdapter myAdapter = FlowManager.getModelAdapter(Survey.class);
//Create temporal table
String sql=myAdapter.getCreationQuery();
Log.d("DBMIGRATION", "old table " + sql);
sql=sql.replace("Survey", "Survey_temp");
Log.d("DBMIGRATION", "create temp table " + sql);
database.execSQL(sql);
//Insert the data in temporal table
String sqlCopy="INSERT INTO Survey_temp(id_survey, id_tab_group, id_org_unit, id_user, creationDate, completionDate, uploadedDate, scheduledDate, status, eventuid) SELECT id_survey, id_tab_group, id_org_unit, id_user, creationDate, completionDate, eventDate, scheduledDate, status, eventuid FROM Survey";
database.execSQL(sqlCopy);
//Replace old table by new table with the new column name.
database.execSQL("DROP TABLE IF EXISTS Survey");
database.execSQL("ALTER TABLE Survey_temp RENAME TO Survey");
}
示例8: migrateSurveyTable
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
private void migrateSurveyTable(SQLiteDatabase database) {
ModelAdapter myAdapter = FlowManager.getModelAdapter(Survey.class);
//Create temporal table
String sql=myAdapter.getCreationQuery();
Log.d("DBMIGRATION", "old table " + sql);
sql=sql.replace("Survey", "Survey_temp");
Log.d("DBMIGRATION", "create temp table " + sql);
database.execSQL(sql);
//Insert the data in temporal table
String sqlCopy="INSERT INTO Survey_temp(id_survey, id_program, id_org_unit, id_user, creation_date, completion_date, upload_date, scheduled_date, status, eventuid) SELECT id_survey, id_tab_group, id_org_unit, id_user, creationDate, completionDate, uploadedDate, scheduledDate, status, eventuid FROM Survey";
database.execSQL(sqlCopy);
//Replace old table by new table with the new column name.
database.execSQL("DROP TABLE IF EXISTS Survey");
database.execSQL("ALTER TABLE Survey_temp RENAME TO Survey");
}
示例9: migrate
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
@Override
public void migrate(DatabaseWrapper database) {
//The column name can't be renamed in sqlite. It is needed create a temporal table with the new column name.
ModelAdapter myAdapter = FlowManager.getModelAdapter(Survey.class);
//Create temporal table
String sql=myAdapter.getCreationQuery();
Log.d("DBMIGRATION", "old table " + sql);
sql=sql.replace("Survey", "Survey_temp");
Log.d("DBMIGRATION", "create temp table " + sql);
database.execSQL(sql);
//Insert the data in temporal table
String sqlCopy="INSERT INTO Survey_temp(id_survey, id_tab_group, id_org_unit, id_user, creationDate, completionDate, uploadedDate, scheduledDate, status, eventuid) SELECT id_survey, id_tab_group, id_org_unit, id_user, creationDate, completionDate, eventDate, scheduledDate, status, eventuid FROM Survey";
database.execSQL(sqlCopy);
//Replace old table by new table with the new column name.
database.execSQL("DROP TABLE IF EXISTS Survey");
database.execSQL("ALTER TABLE Survey_temp RENAME TO Survey");
}
示例10: migrateSurveyTable
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
private void migrateSurveyTable(DatabaseWrapper database) {
ModelAdapter myAdapter = FlowManager.getModelAdapter(Survey.class);
//Create temporal table
String sql=myAdapter.getCreationQuery();
Log.d("DBMIGRATION", "old table " + sql);
sql=sql.replace("Survey", "Survey_temp");
Log.d("DBMIGRATION", "create temp table " + sql);
database.execSQL(sql);
//Insert the data in temporal table
String sqlCopy="INSERT INTO Survey_temp(id_survey, id_program, id_org_unit, id_user, creation_date, completion_date, upload_date, scheduled_date, status, eventuid) SELECT id_survey, id_tab_group, id_org_unit, id_user, creationDate, completionDate, uploadedDate, scheduledDate, status, eventuid FROM Survey";
database.execSQL(sqlCopy);
//Replace old table by new table with the new column name.
database.execSQL("DROP TABLE IF EXISTS Survey");
database.execSQL("ALTER TABLE Survey_temp RENAME TO Survey");
}
示例11: executeTableCreations
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
protected void executeTableCreations(@NonNull final DatabaseWrapper database){
try {
database.beginTransaction();
List<ModelAdapter> modelAdapters = databaseDefinition.getModelAdapters();
for (ModelAdapter modelAdapter : modelAdapters) {
if (modelAdapter.createWithDatabase()) {
try {
database.execSQL(modelAdapter.getCreationQuery());
} catch (SQLiteException e) {
FlowLog.logError(e);
}
}
}
database.setTransactionSuccessful();
} finally {
database.endTransaction();
}
}
示例12: saveAll
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
@Override
public synchronized void saveAll(@NonNull Collection<TModel> tableCollection,
@NonNull DatabaseWrapper wrapper) {
// skip if empty.
if (tableCollection.isEmpty()) {
return;
}
ModelSaver<TModel> modelSaver = getModelSaver();
ModelAdapter<TModel> modelAdapter = modelSaver.getModelAdapter();
DatabaseStatement statement = modelAdapter.getInsertStatement(wrapper);
DatabaseStatement updateStatement = modelAdapter.getUpdateStatement(wrapper);
try {
for (TModel model : tableCollection) {
if (modelSaver.save(model, wrapper, statement, updateStatement)) {
modelAdapter.storeModelInCache(model);
}
}
} finally {
updateStatement.close();
statement.close();
}
}
示例13: insertAll
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
@Override
public synchronized void insertAll(@NonNull Collection<TModel> tableCollection,
@NonNull DatabaseWrapper wrapper) {
// skip if empty.
if (tableCollection.isEmpty()) {
return;
}
ModelSaver<TModel> modelSaver = getModelSaver();
ModelAdapter<TModel> modelAdapter = modelSaver.getModelAdapter();
DatabaseStatement statement = modelAdapter.getInsertStatement(wrapper);
try {
for (TModel model : tableCollection) {
if (modelSaver.insert(model, statement, wrapper) > 0) {
modelAdapter.storeModelInCache(model);
}
}
} finally {
statement.close();
}
}
示例14: updateAll
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
@Override
public synchronized void updateAll(@NonNull Collection<TModel> tableCollection,
@NonNull DatabaseWrapper wrapper) {
// skip if empty.
if (tableCollection.isEmpty()) {
return;
}
ModelSaver<TModel> modelSaver = getModelSaver();
ModelAdapter<TModel> modelAdapter = modelSaver.getModelAdapter();
DatabaseStatement statement = modelAdapter.getUpdateStatement(wrapper);
try {
for (TModel model : tableCollection) {
if (modelSaver.update(model, wrapper, statement)) {
modelAdapter.storeModelInCache(model);
}
}
} finally {
statement.close();
}
}
示例15: getTableName
import com.raizlabs.android.dbflow.structure.ModelAdapter; //导入依赖的package包/类
/**
* Returns the table name for the specific model class
*
* @param table The class that implements {@link Model}
* @return The table name, which can be different than the {@link Model} class name
*/
@SuppressWarnings("unchecked")
@NonNull
public static String getTableName(Class<?> table) {
ModelAdapter modelAdapter = getModelAdapterOrNull(table);
String tableName = null;
if (modelAdapter == null) {
ModelViewAdapter modelViewAdapter = getModelViewAdapterOrNull(table);
if (modelViewAdapter != null) {
tableName = modelViewAdapter.getViewName();
} else {
throwCannotFindAdapter("ModelAdapter/ModelViewAdapter", table);
}
} else {
tableName = modelAdapter.getTableName();
}
return tableName;
}