微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在将Room Room Data例如图像,电子邮件和用户名保存到Room Database中时出错

如何解决在将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 举报,一经查实,本站将立刻删除。