Я пытаюсь прочитать идентификатор и имя, используя базу данных комнаты, но я получил эту ошибку перед запуском приложения:
Каталог экспорта схемы не предоставлен обработчику аннотаций, поэтому мы не можем экспортировать схему. Вы можете предоставить room.schemaLocation
аргумент процессора аннотации ИЛИ установить для exportSchema значение false.
Нет проблем, если я читаю идентификатор или имя отдельно, но не могу прочитать идентификатор и имя вместе
Пример кода (это работает без проблем)
AppDatabase appDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_categories);
ButterKnife.bind(this);
appDatabase = Room.databaseBuilder(CategoriesActivity.this, AppDatabase.class, "RDatabase").allowMainThreadQueries().build();
Log.w("name", appDatabase.userDao().getAll());
}
@Entity
public class User {
@PrimaryKey
int uid;
@ColumnInfo(name = "first_name")
String firstName;
}
@Dao
public interface UserDao {
@Insert
void insertAll(User... users);
@Query("SELECT first_name FROM user")
String getAll();
}
@Database(entities = {User.class}, version = 1)
public abstract static class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
Пример кода (это не работает, потому что я читаю id и имя вместе)
AppDatabase appDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_categories);
ButterKnife.bind(this);
appDatabase = Room.databaseBuilder(CategoriesActivity.this, AppDatabase.class, "RDatabase").allowMainThreadQueries().build();
List<User> a = appDatabase.userDao().getAll();
Log.w("aaa","" + a.get(0).uid);
}
@Entity
public class User {
@PrimaryKey
int uid;
@ColumnInfo(name = "first_name")
String firstName;
}
@Dao
public interface UserDao {
@Insert
void insertAll(User... users);
@Query("SELECT uid,first_name FROM user")
List<User> getAll();
}
@Database(entities = {User.class}, version = 1)
public abstract static class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
Я пытался поставить exportSchema to false
после версии, но я получил эту ошибку
ошибка: требуется экземпляр включения, который содержит CategoriesActivity.User