Отсутсвует папка Databases на устройстве при работе с Room Database
Начал изучать Room database, вроде все создал правильно и подключил тоже, но при нажатии на кнопку добавления данных в бд, сами файлы с бд в папке databases(её как таковой нет) на устройстве не появляются. Насколько я понял они должны лежать вот тут:
Помогите новичку разобраться с проблемой.
код ExpanseTable:
public ExpanseTable() {
}
public ExpanseTable(int id, String paymentType, long amount, String description, boolean isIncome) {
this.id = id;
this.paymentType = paymentType;
this.amount = amount;
this.description = description;
this.isIncome = isIncome;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPaymentType() {
return paymentType;
}
public void setPaymentType(String paymentType) {
this.paymentType = paymentType;
}
public long getAmount() {
return amount;
}
public void setAmount(long amount) {
this.amount = amount;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public boolean isIncome() {
return isIncome;
}
public void setIncome(boolean income) {
isIncome = income;
}
}
public ExpanseTable() {
}
public ExpanseTable(int id, String paymentType, long amount, String description, boolean isIncome) {
this.id = id;
this.paymentType = paymentType;
this.amount = amount;
this.description = description;
this.isIncome = isIncome;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPaymentType() {
return paymentType;
}
public void setPaymentType(String paymentType) {
this.paymentType = paymentType;
}
public long getAmount() {
return amount;
}
public void setAmount(long amount) {
this.amount = amount;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public boolean isIncome() {
return isIncome;
}
public void setIncome(boolean income) {
isIncome = income;
}
}
Код ExpenseDAO:
public interface ExpenseDao {
@Insert
void insertExpense (ExpanseTable expanseTable);
@Update
void updateExpense (ExpanseTable expanseTable);
@Query("delete from expense where id=:id")
void delete (int id);
@Query("select * from expense")
List<ExpanseTable> getAll();
}
код ExpenseDatabase:
@Database(entities = {ExpanseTable.class}, version = 1)
public abstract class ExpenseDatabase extends RoomDatabase {
public abstract ExpenseDao getDao();
public static volatile ExpenseDatabase INSTANCE;
public static ExpenseDatabase getInstance(Context context){
if (INSTANCE == null){
INSTANCE = Room.databaseBuilder(context, ExpenseDatabase.class, "expense")
.allowMainThreadQueries()
.fallbackToDestructiveMigration()
.build();
}
return INSTANCE;
}
}
код кнопки на добавление:
public class AddActivity extends AppCompatActivity {
ActivityAddBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityAddBinding.inflate(getLayoutInflater());
setContentView(R.layout.activity_add);
binding.addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String amount = binding.amount.getText().toString();
String type = binding.paymentType.getText().toString();
String desc = binding.description.getText().toString();
boolean isIncome = binding.incomeRadio.isChecked();
ExpanseTable expanseTable = new ExpanseTable();
expanseTable.setAmount(Long.parseLong(amount));
expanseTable.setDescription(desc);
expanseTable.setPaymentType(type);
ExpenseDatabase expenseDatabase = ExpenseDatabase.getInstance(view.getContext());
ExpenseDao expenseDao = expenseDatabase.getDao();
expenseDao.insertExpense(expanseTable);
}
});
}
}