【发布时间】:2019-11-12 15:01:00
【问题描述】:
我来自 iOS 世界,是 Android 开发的新手。 我的问题是这样的:
我正在开发 Android 应用程序,我必须将数据保存在本地数据库中。 出于这个原因,我为此选择了 Room 课程。 在 iOS 中,Room 等价物是 CoreData,当我通过它执行某些操作(例如插入或删除操作)时,我有两个回调:一个用于成功,另一个用于失败。
我在 Room 系统中看不到这个,但我可以进行插入操作和 我不知道这个操作什么时候结束,最重要的是它是顺利还是失败。
现在我只创建 Dao 和 Database 类(和一个实体)
public abstract class LuxuryAppDatabase extends RoomDatabase
{
public abstract DatabaseLocale dbDao();
}
@Dao
public interface DatabaseLocale
{
@Insert(onConflict = OnConflictStrategy.REPLACE)
public void insertChat(ArrayList<Lobby> chats);
@Query("SELECT * FROM Lobby")
List<Lobby> getAllUserChat();
@Query("DELETE FROM Lobby")
public void deleteAllLoobies();
}
例如,我想做类似于 onClickListener 的操作。
我调用了插入查询,我有一个监听器,它有两种方法:成功和失败。
你能帮我找出我错在哪里,是否可以做类似的事情?
【问题讨论】:
-
如果需要报告,可以使用 Android
Cursor。 -
你能解释得更好吗?
-
其实 Room 是一个新的 API。 Room 架构的支柱是数据库和游标。在此 API 之前,我们使用游标进行数据库操作。您也可以使用它以获得更好的灵活性。因为您使用的是预先填充的数据库,而 Room 架构不允许这样做。
标签: java android database sqlite android-room