public String[] getFromCache(String Date) { Log.d(TAG, "Loading From Cache"); RealmQuery<MealDataCacheModel> query = mRealm.where(MealDataCacheModel.class); query.equalTo("Date", Date); MealDataCacheModel result = query.findFirst(); String CachedData[] = new String[4]; if (result != null) { CachedData[0] = result.getDate(); CachedData[1] = result.getMeal(); CachedData[2] = result.getOrigin(); CachedData[3] = result.getNutrients(); } else { CachedData[0] = Date; CachedData[1] = mContext.getResources().getString(R.string.error_net); CachedData[2] = mContext.getResources().getString(R.string.error_net); CachedData[3] = mContext.getResources().getString(R.string.error_net); } return CachedData; }
private void indexedStringEntityQueriesRun(int count) { // create entities List<IndexedStringEntity> entities = new ArrayList<>(count); String[] fixedRandomStrings = StringGenerator.createFixedRandomStrings(count); for (int i = 0; i < count; i++) { IndexedStringEntity entity = new IndexedStringEntity(); entity.setId((long) i); entity.setIndexedString(fixedRandomStrings[i]); entities.add(entity); } log("Built entities."); // insert entities realm.beginTransaction(); realm.copyToRealm(entities); realm.commitTransaction(); log("Inserted entities."); // query for entities by indexed string at random int[] randomIndices = StringGenerator.getFixedRandomIndices(getQueryCount(), count - 1); startClock(); for (int i = 0; i < getQueryCount(); i++) { int nextIndex = randomIndices[i]; RealmQuery<IndexedStringEntity> query = realm.where(IndexedStringEntity.class); query.equalTo("indexedString", fixedRandomStrings[nextIndex]); RealmResults<IndexedStringEntity> result = query.findAll(); for (int j = 0, resultSize = result.size(); j < resultSize; j++) { // actually get each entity so its object is reconstructed, same with properties IndexedStringEntity entity = result.get(j); entity.getId(); entity.getIndexedString(); } } stopClock(Benchmark.Type.QUERY_INDEXED); // delete all entities realm.beginTransaction(); realm.delete(IndexedStringEntity.class); realm.commitTransaction(); log("Deleted all entities."); }
public void updateCache(String Date, String Meal, String Origin, String Nutrients) { RealmQuery<MealDataCacheModel> query = mRealm.where(MealDataCacheModel.class); query.equalTo("Date", Date); MealDataCacheModel result = query.findFirst(); if (result == null) { Log.d(TAG, "Caching New Data"); mRealm.beginTransaction(); MealDataCacheModel MDCM = mRealm.createObject(MealDataCacheModel.class); MDCM.setDate(Date); MDCM.setMeal(Meal); MDCM.setOrigin(Origin); MDCM.setNutrients(Nutrients); mRealm.commitTransaction(); } else { Log.d(TAG, "Updating Cached Data"); mRealm.beginTransaction(); result.setMeal(Meal); result.setOrigin(Origin); result.setNutrients(Nutrients); mRealm.commitTransaction(); } }