Java源码示例:com.raizlabs.android.dbflow.list.FlowQueryList
示例1
public void putCollections(LinkedHashMap<String, List<EpisodeBaseModel>> collections) {
Log.d(TAG, "store collections into db");
int i = 0;
FlowQueryList<EpisodeBaseModel> query = new FlowQueryList<>(EpisodeBaseModel.class);
query.beginTransaction();
for (Map.Entry<String, List<EpisodeBaseModel>> collection : collections.entrySet()) {
Log.d(TAG, "Adding collection: " + collection.getKey() + " => " + collection.getValue().size());
updateProgress("Loading " + collection.getKey() + "...");
for (EpisodeBaseModel ep : collection.getValue()) {
EpisodeBaseModel model = new EpisodeBaseModel();
model.merge(ep);
model.DATA_TYPE = TYPE_COLLECTIONS;
model.DATA_COLLECTION_KEY = collection.getKey();
model.DATA_COLLECTION_INDEX = i++;
model.save();
}
}
query.endTransactionAndNotify();
}
示例2
@NonNull
@Override
public FlowQueryList<TModel> flowQueryList() {
return new FlowQueryList.Builder<>(getTable())
.cacheModels(cachingEnabled)
.modelQueriable(this)
.build();
}
示例3
@Override
public void provideProvinces(final AddressReceiver<Province> addressReceiver) {
final FlowQueryList<Province> provinceQueryList = SQLite.select()
.from(Province.class)
.flowQueryList();
addressReceiver.send(new ArrayList<>(provinceQueryList));
}
示例4
@Override
public void provideCitiesWith(int provinceId, final AddressReceiver<City> addressReceiver) {
final FlowQueryList<City> cityQueryList = SQLite.select()
.from(City.class)
.where(City_Table.province_id.eq(provinceId))
.flowQueryList();
addressReceiver.send(new ArrayList<>(cityQueryList));
}
示例5
@Override
public void provideCountiesWith(int cityId, final AddressReceiver<County> addressReceiver) {
final FlowQueryList<County> countyQueryList = SQLite.select()
.from(County.class)
.where(County_Table.city_id.eq(cityId))
.flowQueryList();
addressReceiver.send(new ArrayList<>(countyQueryList));
}
示例6
@Override
public void provideStreetsWith(int countyId, final AddressReceiver<Street> addressReceiver) {
final FlowQueryList<Street> streetQueryList = SQLite.select()
.from(Street.class)
.where(Street_Table.county_id.eq(countyId))
.flowQueryList();
addressReceiver.send(new ArrayList<>(streetQueryList));
}
示例7
public void putShows(Collection<EpisodeBaseModel> shows) {
Log.d(TAG, "store shows into db");
FlowQueryList<EpisodeBaseModel> query = new FlowQueryList<>(EpisodeBaseModel.class);
query.beginTransaction();
for (EpisodeBaseModel ep : shows) {
EpisodeBaseModel model = new EpisodeBaseModel();
model.merge(ep);
model.DATA_TYPE = TYPE_EPISODES;
model.save();
}
query.endTransactionAndNotify();
}
示例8
public void putEpisodes(Collection<EpisodeBaseModel> episodes) {
Log.d(TAG, "store episodes into db");
FlowQueryList<EpisodeBaseModel> query = new FlowQueryList<>(EpisodeBaseModel.class);
query.beginTransaction();
for (EpisodeBaseModel ep : episodes) {
EpisodeBaseModel model = new EpisodeBaseModel();
model.merge(ep);
model.DATA_TYPE = TYPE_SHOWS;
model.save();
}
query.endTransactionAndNotify();
}
示例9
public void clearCache() {
Log.d(TAG, "Clear db");
FlowQueryList<EpisodeBaseModel> query = new FlowQueryList<>(EpisodeBaseModel.class);
query.clear();
}
示例10
/**
* @return A cursor-backed {@link List} that handles conversion, retrieval, caching, content changes,
* and more.
*/
@NonNull
FlowQueryList<TModel> flowQueryList();