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

Я использую архитектуру MVVM в своем приложении.Я столкнулся с проблемой, хочу получить подтверждение об успешной операции INSERT @ INSERT в действии из модели представления.

Код ViewModel Souce равен

 public void insert(UploadApplicationDbModel uploadApplicationDbModel) {
        uploadApplicationRepository.insert(uploadApplicationDbModel);
    }

Хранилище Исходный код:

 public void insert(UploadApplicationDbModel uploadApplicationDbModel) {
        new InsertUploadApplication(applicationDao).execute(uploadApplicationDbModel);
    }

private static class InsertUploadApplication extends AsyncTask<UploadApplicationDbModel, Void, Long> {

    private UploadApplicationDao uploadApplicationDao;

    private InsertUploadApplication(UploadApplicationDao uploadApplicationDao) {
        this.uploadApplicationDao = uploadApplicationDao;
    }

    @Override
    protected Long doInBackground(UploadApplicationDbModel... UploadApplicationDbModel) {
        return uploadApplicationDao.insert(UploadApplicationDbModel[0]);
    }

    @Override
    protected void onPostExecute(Long aLong) {
        super.onPostExecute(aLong);
    }
}

1 Ответ

1 голос
/ 08 июля 2019

Существует несколько способов проверить данные.

  1. Вы можете вручную извлечь базу данных и проверить, вставлены ли данные.
  2. Вы можете получить вставленные данные.с помощью запроса и проверки размера
  3. Вы можете получить количество строк, затронутых в вашем запросе, так же, как в sqlite, как показано в следующем примере:

    @ Insert long insert (Cheese cheese);

    /**
     * Inserts multiple cheeses into the database
     *
     * @param cheeses An array of new cheeses.
     * @return The row IDs of the newly inserted cheeses.
     */
    @Insert
    long[] insertAll(Cheese[] cheeses);
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...