如何解决在将Room Room Data例如图像,电子邮件和用户名保存到Room Database中时出错
希望大家都很好... 我正在开发一个用于测试和学习目的的简单应用程序,它将用户的姓名,电子邮件和图像存储到ROOM DATABASE中。 我是Room数据库的新手,我观看了YouTube上的许多教程,以了解如何在Android应用程序中实现ROOM。主要问题是在Tutorials中所有人都使用AsyncTask将信息存储到ROOM中。但是当我按照这些教程学习时,我才知道AsyncTask已被弃用,这是导致我的MainActivity内没有MyDatabase.getInstance()方法的主要原因。 所以告诉我现在该怎么办..除了AsyncTask之外,我还应该实现什么。 我也想学习如何将图像存储到RoomDatabase中 这是我收到错误的代码...
class InsertAsyncTask extends AsyncTask<User,Void,Void> {
@Override
protected Void doInBackground(User... users) {
//this is the line where i am getting the error. getInstance method becomes red.
//UserDatabase.getInstance(getApplicationContext()).dao().insertUser(users[0]);
return null;
}
}
解决方法
您可以使用RxJAVA在Room中执行数据库操作。
例如。
Observable.fromCallable(()->UserDatabase.getInstance(getApplicationContext()).dao().insertUser(users[0]))
.subscribeOn(Schedulers.io())
.subscribe(...);
要在数据库中存储图像,可以检查以下链接 How insert image in room persistence library?
从我的角度来看,更好的解决方案是存储图像路径,而不是将图像存储在数据库中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。