android-room相关内容
Android.com 说要将这些依赖项添加到您的 gradle 文件中.我一直在以 kapt 和 ksp 开头的行上收到错误,说找不到这些方法.有任何想法吗?对不起,我不聪明. //下面是android说要放入的内容 def room_version = "2.3.0";实现(“androidx.room:room-runtime:$room_version")annotationPro
..
我正在开发一个 Android 应用程序.当我按下按钮时,我需要以编程方式清除数据,包括数据存储首选项和房间数据. 解决方案 清除共享偏好: SharedPreferences settings = getActivity().getSharedPreferences("cda-preferences", Context.MODE_PRIVATE);settings.edit().cle
..
我正在调查我当前应用程序中的 Android Room 数据库. 我正在尝试通过使用最新的 aar 来安装最新版本的 Sqlite 我尝试将 aar 放在我的数据库模块 libs 文件夹中并在我的 gradle 文件中引用它,但是显示的 sqlite 版本总是 3.22.0其中 aar 是 3.34.0 我需要遵循哪些步骤来覆盖默认提供的 Sqlite 版本并使用我下载的 aar
..
我正在使用 Room 数据库并尝试插入项目列表(例如,在我的案例中包含作者姓名和引用的引用列表). 以下是我使用的代码: //视图模型BaseApp.daoInstance?.appDao()?.insertQuotes(响应!!)//道@Insert(onConflict = OnConflictStrategy.REPLACE)有趣的 insertQuotes(listData: Mu
..
我正在遵循拥有 Repository 和 Dao 等的做法.我试图通过一个函数来获取我的数据库存储库中的行数 int getNumFiles() {列表lst = files.getValue();//文件的类型为 LiveData>档案;如果(lst == null){返回0;} 别的 {返回 lst.size();}} 但是 lst 总是计算为 null.我想这与我不被允许从 UI 线程查
..
如何通过删除行中最旧的项目并插入最新的项目来限制 Android 房间数据库中的行数? 在向数据库中添加项目时,我猜这是一个标准查询? 编辑:我想限制一个数据库表的最大行数为 20.如果达到该限制,我们将删除最旧的项目并通过保留当前行插入新项目数到 20. 解决方案 我认为您可以将数据插入表中,然后删除除最后 20 行(限制)之外的所有行 要删除您可以使用以下查询
..
我的数据类看起来像这样 @Entity(tableName = "items")数据类项目(@ColumnInfo(name = "name") var name: String = "",@ColumnInfo(name = "room") var room: String = "",@ColumnInfo(name = "quantity") var 数量:String = "",@Colu
..
我正在使用 Android Studio [Android Studio Arctic Fox |2020.3.1 补丁 1] 我的房间库版本是 [2.3.0]使用 Gradle 版本 [7.0.1]还添加了 kapt 'org.xerial:sqlite-jdbc:3.36.0.1'引起:java.lang.Exception:没有找到 os.name=Mac 和 os.arch=aarch6
..
假设 我有一个拥有多个帐户的用户. 每个帐户可能有多个他们控制的页面. 页面可由一个或多个帐户控制. 所有这些数据都存储在具有实体 {UserEntity,PageEntity,User_Page_Entity} 的 Room 数据库中,其中 User_Page_Entity 通过仅存储用户的主键 ID 来控制用户与其页面之间的关系. 我的回收站视图应该显示所有页面,其中一些页面
..
在我的应用程序中,我想使用 Room 库来使用 database,最后为了 generate APK 我启用 minifyBuild.Gradle 中的 strong> 选项(proguard). 我使用以下版本的 Room 库: 实现“android.arch.persistence.room:runtime:1.1.1"annotationProcessor "android.arch
..
我正在创建一个应用程序,它将使用 SearchView 让用户进行查询以过滤数据.我正在使用 RoomDB,并尝试遵循 中推荐的 Model-View-ViewModel 架构Android 开发者指南. 我有一个实体和一个 DAO(现在我的数据库只有一张表).我在 DAO 中有一个方法,如下所示: @Query(“SELECT * FROM table WHERE column1 = :
..
这个问题是我为我的其他问题,因此,如果您对第一个问题有解决方案可以避免此问题,那么我会全力以赴. 所以我在 Dao (getPageCombinedData) 中有这个方法,它用 @transaction 注释并且应该返回一个 MediatorLiveData,我想既然 MediatorLiveData 是 LiveData 的子类,那么Room 将提供必要的代码以使用其文档中引用的后台线程
..
好的,所以我一直在使用带有 Room 数据库的 StateFlow.现在我有一个常见的案例.在我的应用程序开始时,我有一个逻辑,如果 ROOM 数据库为空,我应该显示一个 EmptyContent(),否则我将显示 ROOM 数据库中的 ListContent(). 现在每次我启动应用程序时,我总是让 EmptyContent() 显示半秒,然后显示 ListContent().之后,当我使
..
我将房间从 2.2.6 更新到 2.3.0 并在编译时开始在编译/生成的 java 代码中看到奇怪的错误.我在 .kt 文件或目录 ...build/tmp/kapt3/stubs/debug 中生成的 .java 文件中没有看到任何错误/... 我只看到破坏构建的编译时错误. 我得到的完整错误: 错误:您必须使用 @NonNull 注释主键.“版本"可以为空.SQLite 认为这是一个
..
@Transaction 中 Room 是否默认使用回滚? 它是否只取消 @Transaction 内部的下一个查询而不回滚? 它实际上在出错时做了什么? 解决方案 我假设您指的是使用 @Transaction 注释的已实现方法,例如: @Transactionpublic void transferMoney(String accountA, String accountB
..
我正在使用 Room 构建数据库,但我不知道如何将具有关系(在我的情况下为一对多)的新元素插入到数据库中.没有任何解决方案谈论过插入(他们只谈论查询数据). 这里是 DAO: @Dao抽象类 ShoppingListsDao {@插入抽象暂停乐趣 addNewShoppingList(newShoppingList: ShoppingList)@插入抽象挂起乐趣 addNewItem(ne
..
我正在为 Jetpack 的 Paging 3 库苦苦挣扎. 我设置 针对网络 API 调用进行改造 存储检索数据的空间 公开 Pager.flow 的存储库(请参阅下面的代码) 在房间数据库中缓存网络结果的 RemoteMediator PagingSource 由 Room 创建. 我知道 RemoteMediator 的职责是从网络中获取项目并将它们保存到 Ro
..
由于 AsyncTask() 方法已被弃用,我正在尝试替换它.以前 AsyncTask() 用于将 CardView 从 Room 数据库加载到 RecyclerView 列表中.我正在尝试使用 CompletableFuture() 作为替代,但该列表未加载.“List getAllCards()"的 Dao 方法;在 Android Studio 中给出错误消息“从未使用过该方法的返回值";所
..
我想了解 RoomDatabase 幕后发生的事情,它要求 DAO 是一个接口或一个抽象类.我已经搜索了很长时间,但所有文章和文档都只解释了方法,而不是原因. 解决方案 不只是 Room,Retrofit 和其他库也使用这种模式,它被称为编程接口.而不是仅仅创建一个具体的实现,您只需指定您想要做的事情,他们就会为您提供一个将按照您的要求运行的实现. 要进一步学习,您可以查看这篇文章:
..
我有以下表格: @Entity(表名=“用户")类用户{@PrimaryKey(autoGenerate = true)var id:长?= 空@非空变量名称:字符串?= 空}@实体(tableName = "宠物",外键 = [外键(实体 = 用户::类,parentColumns = ["id"],childColumns = ["owner_id"],onDelete = ForeignK
..