Как я могу прочитать постоянно обновляемое значение из внешней базы данных с комнатой? - PullRequest
0 голосов
/ 08 июня 2018

Я использую комнату с Live Data для доступа к внешней базе данных.Значение, сохраненное во внешней базе данных, обновляется другим приложением каждые 5 секунд.Кажется, я не могу постоянно получать обновленное значение из комнаты.Стоит ли перестраивать базу данных, чтобы получать обновленные значения каждые 5 секунд?

Вот некоторый ссылочный код:

@Dao public interface GasDynamicDao {

@Query("Select * from gas_dyamic")
LiveData<List<GasDynamicEntity>> getAllInformation();

@Query("Select * from gas_dyamic")
List<GasDynamicEntity> getAllInformationSync();

@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<GasDynamicEntity> products);

@Query("Select * from gas_dyamic where Device_ID = :deviceID")
LiveData<GasDynamicEntity> loadGas(String deviceID);
@Query("Select * from gas_dyamic where Device_ID = :deviceID")
GasDynamicEntity loadGasSync(String deviceID);

}

public static GasDatabase buildDatabase(final Context appContext, final AppExecutors executors) {
    return Room.databaseBuilder(appContext, GasDatabase.class,
            DATABASE_FULL_PATH).allowMainThreadQueries().build();
}

1 Ответ

0 голосов
/ 11 июня 2018

Я решаю проблему путем опроса базы данных.Но базу данных не нужно создавать заново или перезагружать из комнаты.LiveData снова изменится путем повторного запроса к базе данных с помощью методов Dao.

...