本文整理汇总了Java中com.raizlabs.android.dbflow.config.FlowManager类的典型用法代码示例。如果您正苦于以下问题:Java FlowManager类的具体用法?Java FlowManager怎么用?Java FlowManager使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
FlowManager类属于com.raizlabs.android.dbflow.config包,在下文中一共展示了FlowManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: save
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的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.config.FlowManager; //导入依赖的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: updateGroup
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的package包/类
/**
* 从成员中找出成员对应的群,并对群进行更新
*
* @param members 群成员列表
*/
private void updateGroup(GroupMember... members) {
// 不重复集合
final Set<String> groupIds = new HashSet<>();
for (GroupMember member : members) {
// 添加群Id
groupIds.add(member.getGroup().getId());
}
// 异步的数据库查询,并异步的发起二次通知
DatabaseDefinition definition = FlowManager.getDatabase(AppDatabase.class);
definition.beginTransactionAsync(new ITransaction() {
@Override
public void execute(DatabaseWrapper databaseWrapper) {
// 找到需要通知的群
List<Group> groups = SQLite.select()
.from(Group.class)
.where(Group_Table.id.in(groupIds))
.queryList();
// 调用直接进行一次通知分发
instance.notifySave(Group.class, groups.toArray(new Group[0]));
}
}).build().execute();
}
示例4: save
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的package包/类
@Override
public Completable save(List<Recipe> recipes) {
return Completable.defer(() -> {
SQLite.delete(DBFlowRecipe.class).execute();
SQLite.delete(DBFlowIngredient.class).execute();
SQLite.delete(DBFlowStep.class).execute();
FastStoreModelTransaction
.insertBuilder(FlowManager.getModelAdapter(DBFlowRecipe.class))
.addAll(DBFlowRecipe.Mapper.fromDomain(recipes))
.build()
.execute(database);
for (Recipe recipe : recipes) {
FastStoreModelTransaction
.insertBuilder(FlowManager.getModelAdapter(DBFlowIngredient.class))
.addAll(DBFlowIngredient.Mapper.fromDomain(recipe.ingredients(), recipe.id()))
.build()
.execute(database);
FastStoreModelTransaction
.insertBuilder(FlowManager.getModelAdapter(DBFlowStep.class))
.addAll(DBFlowStep.Mapper.fromDomain(recipe.steps(), recipe.id()))
.build()
.execute(database);
}
return Completable.complete();
});
}
示例5: onCreate
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的package包/类
@Override
public void onCreate() {
super.onCreate();
// instantiates DBFlow
FlowManager.init(new FlowConfig.Builder(this).build());
// instantiate volley request
VolleyRequestQueue.getInstance().initialize(this);
// start push notification service
startService(new Intent(this, InstanceIDService.class));
// instantiate app data
initialize(this);
}
示例6: performIndividualAdapterOperations
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的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);
}
}
}
示例7: onNext
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的package包/类
@Override
public void onNext(T o) {
mActual.onNext(o);
for (int i = 0; i < mSubscribedClasses.size(); i++) {
mFlowContentObserver.registerForContentChanges(FlowManager.getContext(), mSubscribedClasses.get(i));
}
mFlowContentObserver.addOnTableChangedListener(
new FlowContentObserver.OnTableChangedListener() {
@Override
public void onTableChanged(@Nullable Class<?> tableChanged, BaseModel.Action action) {
if(isDisposed()){
return;
}
if (!mIsInTransaction) {
mActual.onNext(mRestartAction.run());
} else {
mHasPendingChange = true;
}
}
});
}
示例8: deleteAndInsertEntities
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的package包/类
@CheckResult
@NonNull
@Override
public Single<List<D>> deleteAndInsertEntities(@Nullable List<D> entitiesToInsert,
@NonNull SQLOperator... conditionsToDelete) {
return Single
.fromCallable(() -> {
FlowManager.getDatabase(getAppDataBaseClass())
.executeTransaction(databaseWrapper -> {
SQLite.delete(getModelClass())
.where(conditionsToDelete)
.execute();
Stream.ofNullable(entitiesToInsert)
.forEach(BaseModel::save);
});
return entitiesToInsert;
})
.subscribeOn(Schedulers.io());
}
示例9: onCreate
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的package包/类
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
FlowManager.init(this);
MobileAds.initialize(this, "ca-app-pub-9985743520520066~4279780475");
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String userAgent =
String.format(Locale.UK, "%s.%d", BuildConfig.APPLICATION_ID, BuildConfig.VERSION_CODE);
String sessionKeyKey = getString(R.string.saved_session_key);
LastfmApi api = new LastfmApi();
Caller caller = Caller.getInstance();
if (sharedPreferences.contains(sessionKeyKey)) {
String sessionKey = sharedPreferences.getString(sessionKeyKey, null);
lastfmClient = new LastfmClient(api, caller, userAgent, sessionKey);
} else {
lastfmClient = new LastfmClient(api, caller, userAgent);
}
scroballDB = new ScroballDB();
eventBus.register(this);
}
示例10: onCreate
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的package包/类
@Override
public void onCreate() {
super.onCreate();
FlowManager.init(new FlowConfig.Builder(this).build());
Properties properties = new Properties();
InputStream stream = null;
try {
stream = getAssets().open("conf.properties");
properties.load(stream);
CrashReport.initCrashReport(getApplicationContext(), properties.getProperty("bugly.appId"), false);
} catch (IOException e) {
Log.w(TAG, e);
} finally {
Streams.safeClose(stream);
}
}
示例11: migrateSurveyTable
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的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");
}
示例12: migrateProgramTable
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的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);
}
示例13: migrateSurveyTable
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的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");
}
示例14: migrate
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的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");
}
示例15: migrateSurveyTable
import com.raizlabs.android.dbflow.config.FlowManager; //导入依赖的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");
}