类io.realm.RealmObject源码实例Demo

下面列出了怎么用io.realm.RealmObject的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: mvvm-template   文件: GsonProvider.java
/**
 * Make gson which {@link DateDeserializer} and compatible with {@link RealmObject}
 * @return {@link Gson} object
 */
public static Gson makeGsonForRealm() {
    return makeDefaultGsonBuilder()
            .setExclusionStrategies(new ExclusionStrategy() {
                @Override
                public boolean shouldSkipField(FieldAttributes f) {
                    return f.getDeclaringClass().equals(RealmObject.class);
                }

                @Override
                public boolean shouldSkipClass(Class<?> clazz) {
                    return false;
                }
            })
            .create();
}
 
源代码2 项目: ApiClient   文件: ApiObserver.java
@Override
public <Item extends RealmObject> Observable<List<Item>> getApiObservable(Observable<List<Item>> api, Class<Item> realmClass, String sortedField, List<Integer> ids) {
    if (getStorage() != null) {
        RealmResults<Item> realmResults;
        if (sortedField != null)
            realmResults = (ids == null) ? getItems(realmClass, sortedField) : getItems(realmClass, sortedField, ids);
        else
            realmResults = getItems(realmClass);
        Observable<List<Item>> realmObserver = realmResults.asObservable()
                .filter(RealmResults::isLoaded)
                .compose(getLifecycle())
                .switchMap(Observable::just);
        Observable<List<Item>> retrofitObserver = api
                .compose(applySchedulers())
                .compose(getLifecycle());
        return Observable.<List<Item>>create(subscriber -> {
            realmObserver.take(2).subscribe(subscriber::onNext, subscriber::onError, subscriber::onCompleted);
            retrofitObserver.subscribe(this::setItems, subscriber::onError);
        }).compose(getLifecycle());
    } else
        return api;
}
 
源代码3 项目: 600SeriesAndroidUploader   文件: HistoryUtils.java
public static void checkTreatmentDateDuplicated(Class clazz, PumpHistoryInterface record, TreatmentsEndpoints.Treatment treatment) {
    long timestamp = record.getEventDate().getTime();
    String key = record.getKey();

    RealmResults results = RealmObject.getRealm(record).where(clazz)
            .greaterThan("eventDate", new Date(timestamp - 2000L))
            .lessThan("eventDate", new Date(timestamp + 2000L))
            .findAll();

    if (key != null && results.size() > 1) {
        Log.w(TAG, "found " + results.size() + " events with the same date");
        int n = 0;
        while (n < results.size()
                && ((PumpHistoryInterface) results.get(n)).getKey() != null
                && !(((PumpHistoryInterface) results.get(n)).getKey().equals(key))
        ) {n++;}
        if (n > 0) {
            Log.w(TAG, String.format("adjusted eventDate for nightscout +%s seconds", n * 2));
            treatment.setCreated_at(new Date(timestamp + n * 2000));
        }
    }
}
 
源代码4 项目: Forage   文件: OkApiModule.java
/**
 * Custom Gson to make Retrofit Gson adapter work with Realm objects
 */
@NonNull
@Provides
@Singleton
public static Gson provideGson(@NonNull ListTypeAdapterFactory jsonArrayTypeAdapterFactory,
                               @NonNull HtmlAdapter htmlAdapter,
                               @NonNull StringCapitalizerAdapter stringCapitalizerAdapter) {

    return new GsonBuilder()
            .setExclusionStrategies(new ExclusionStrategy() {
                @Override
                public boolean shouldSkipField(FieldAttributes f) {
                    return f.getDeclaringClass().equals(RealmObject.class);
                }

                @Override
                public boolean shouldSkipClass(Class<?> clazz) {
                    return false;
                }
            })
            .registerTypeAdapterFactory(jsonArrayTypeAdapterFactory)
            .registerTypeAdapter(String.class, htmlAdapter)
            .registerTypeAdapter(String.class, stringCapitalizerAdapter)
            .create();
}
 
源代码5 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void deleteAllIn(Class<E> classType, String classField,
    String[] fieldsIn) {
  Realm realm = get();
  try {
    realm.beginTransaction();
    realm.where(classType)
        .in(classField, fieldsIn)
        .findAll()
        .deleteAllFromRealm();
    realm.commitTransaction();
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码6 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void deleteAllExcluding(Class<E> classType, String classField,
    List<String> fieldsIn) {
  Realm realm = get();
  try {
    realm.beginTransaction();
    RealmQuery<E> query = realm.where(classType);
    for (String field : fieldsIn) {
      query.notEqualTo(classField, field);
    }
    query.findAll()
        .deleteAllFromRealm();
    realm.commitTransaction();
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码7 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> void deleteAll(Class<T> clazz) {
    final RealmResults results = mRealm.where(clazz).findAll();
    mRealm.executeTransaction(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
            results.deleteAllFromRealm();

        }
    });
}
 
源代码8 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> void deleteTopicMessage(Class<T> clazz, String topic) {
    final RealmResults results = mRealm.where(clazz)
            .equalTo("topic", topic)
            .findAll();
    mRealm.executeTransaction(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
            results.deleteAllFromRealm();

        }
    });
}
 
源代码9 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> void deleteTopic(Class<T> clazz, String id) {
    final RealmResults results = mRealm.where(clazz)
            .equalTo("connectionId", id)
            .findAll();
    mRealm.executeTransaction(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
            results.deleteAllFromRealm();

        }
    });
}
 
源代码10 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> Observable<E> findFirst(RealmQuery<E> query) {
  return Observable.just(query.findFirst())
      .filter(realmObject -> realmObject != null)
      .flatMap(realmObject -> realmObject.<E>asObservable().unsubscribeOn(
          RealmSchedulers.getScheduler()))
      .flatMap(realmObject -> copyFromRealm(realmObject))
      .defaultIfEmpty(null);
}
 
源代码11 项目: aptoide-client-v8   文件: Database.java
private <E extends RealmObject> Observable<E> copyFromRealm(E object) {
  return Observable.just(object)
      .filter(data -> data.isLoaded())
      .filter(realmObject -> realmObject.isValid())
      .map(realmObject -> get().copyFromRealm(realmObject))
      .observeOn(Schedulers.io());
}
 
源代码12 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> Observable<List<E>> findAsList(RealmQuery<E> query) {
  return Observable.just(query.findAll())
      .filter(realmObject -> realmObject != null)
      .flatMap(realmObject -> realmObject.<E>asObservable().unsubscribeOn(
          RealmSchedulers.getScheduler()))
      .flatMap(realmObject -> copyFromRealm(realmObject))
      .defaultIfEmpty(null);
}
 
源代码13 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void delete(Class<E> clazz, String key, String value) {
  Realm realm = get();
  try {
    E obj = realm.where(clazz)
        .equalTo(key, value)
        .findFirst();
    deleteObject(realm, obj);
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码14 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void deleteObject(Realm realm, E obj) {
  realm.beginTransaction();
  try {
    if (obj != null && obj.isValid()) {
      obj.deleteFromRealm();
      realm.commitTransaction();
    } else {
      realm.cancelTransaction();
    }
  } catch (Exception ex) {
    CrashReport.getInstance()
        .log(ex);
    realm.cancelTransaction();
  }
}
 
源代码15 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void delete(Class<E> clazz, String key, Integer value) {
  Realm realm = get();
  try {
    E obj = realm.where(clazz)
        .equalTo(key, value)
        .findFirst();
    deleteObject(realm, obj);
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码16 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void delete(Class<E> clazz, String key, Long value) {
  Realm realm = get();
  try {
    E obj = realm.where(clazz)
        .equalTo(key, value)
        .findFirst();
    deleteObject(realm, obj);
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码17 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void deleteAll(Class<E> clazz) {
  Realm realm = get();
  try {
    realm.beginTransaction();
    realm.delete(clazz);
    realm.commitTransaction();
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码18 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void insertAll(List<E> objects) {
  Realm realm = get();
  try {
    realm.beginTransaction();
    realm.insertOrUpdate(objects);
    realm.commitTransaction();
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码19 项目: aptoide-client-v8   文件: Database.java
public <E extends RealmObject> void insert(E object) {
  Realm realm = get();
  try {
    realm.beginTransaction();
    realm.insertOrUpdate(object);
    realm.commitTransaction();
  } finally {
    if (realm != null) {
      realm.close();
    }
  }
}
 
源代码20 项目: aptoide-client-v8   文件: AccessorFactory.java
@NonNull
public static <T extends RealmObject, A extends Accessor> A getAccessorFor(Database database,
    Class<T> clazz) {
  if (clazz.equals(Store.class)) {
    return (A) new StoreAccessor(database);
  }

  throw new RuntimeException("Create accessor for class " + clazz.getName());
}
 
源代码21 项目: batteryhub   文件: GsonRealmBuilder.java
private static GsonBuilder getBuilder() {
    return new GsonBuilder()
            .setExclusionStrategies(new ExclusionStrategy() {
                @Override
                public boolean shouldSkipField(FieldAttributes f) {
                    return f.getDeclaringClass().equals(RealmObject.class);
                }

                @Override
                public boolean shouldSkipClass(Class<?> clazz) {
                    return false;
                }
            });
}
 
源代码22 项目: ApiClient   文件: ApiClient.java
/**
 * Get the api singleton from the api interface
 *
 * @return api
 */
@Override
public Api getApi() {
    if (mApi == null) {
        mApi = new Retrofit.Builder()
                .client(new OkHttpClient.Builder()
                        .addInterceptor(API_KEY_INTERCEPTOR)
                        .build())
                .baseUrl(mApiBaseUrl)
                .addConverterFactory(GsonConverterFactory.create(getGsonBuilder(new GsonBuilder())
                        .setExclusionStrategies(new ExclusionStrategy() {
                            @Override
                            public boolean shouldSkipField(FieldAttributes f) {
                                return f.getDeclaringClass().equals(RealmObject.class);
                            }

                            @Override
                            public boolean shouldSkipClass(Class<?> clazz) {
                                return false;
                            }
                        })
                        .create()))
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build()
                .create(mClazz);
    }
    return mApi;
}
 
源代码23 项目: ApiClient   文件: ApiStorage.java
@Override
public <Item extends RealmObject> RealmResults<Item> getItems(Class<Item> objectClass, String sortedFieldName, List<Integer> ids) {
    RealmQuery<Item> query = getQuery(objectClass);
    for (int i = 0; i < ids.size() - 1; i++) {
        query = query.equalTo(sortedFieldName, ids.get(i)).or();
    }
    query = query.equalTo(sortedFieldName, ids.get(ids.size() - 1));

    return query.findAllSortedAsync(sortedFieldName);
}
 
源代码24 项目: ApiClient   文件: ApiObserver.java
@Override
public <Item extends RealmObject> Observable<List<Item>> getApiObservable(Observable<List<Item>> api, Class<Item> realmClass, String sortedField) {
    return getApiObservable(api, realmClass, sortedField, null);
}
 
源代码25 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> T queryFirst(Class<T> clazz) {
    return mRealm.where(clazz).findFirst();
}
 
源代码26 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> RealmResults<T> queryAll(Class<T> clazz) {
    return mRealm.where(clazz).findAll();
}
 
源代码27 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> RealmResults<T> queryTopicMessage(Class<T> clazz, String topic) {
    return mRealm.where(clazz).equalTo("topic", topic).findAll();
}
 
源代码28 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> T queryFirstTopicMessage(Class<T> clazz, String topic) {
    return mRealm.where(clazz).equalTo("topic", topic).findFirst();
}
 
源代码29 项目: EMQ-Android-Toolkit   文件: RealmHelper.java
public <T extends RealmObject> void delete(T data) {
    mRealm.beginTransaction();
    data.deleteFromRealm();
    mRealm.commitTransaction();
}
 
源代码30 项目: mvvm-template   文件: RealmTestUtils.java
/**
 * see {@link #initFindAllSorted(RealmQuery, List)}
 */
public static <T extends RealmObject> RealmResults<T> initFindAllSorted(RealmQuery<T> query) throws Exception {
    return initFindAllSorted(query, null);
}