jjzjj

android - 具有新线程和数据绑定(bind)问题的 Room 持久库

我正在研究AndroidRoomPersistent库。我还在我的项目中实现了双向数据绑定(bind)。在该项目中,我通过填写表格并在行中显示所有用户并通过单击特定用户行来更新它们来插入用户。下面是我的UserDao类:@DaopublicinterfaceUserDao{@Query("SELECT*FROMuser")ListgetAllUsers();@InsertvoidinsertAll(User...users);@UpdatevoidupdateUser(User...users);@Query("SELECT*FROMuserWHEREuser_idIN(:userId

android - 没有 Room 的 NetworkBoundResource 帮助程序类

当我尝试为RoomDb和Retrofit实现NetworkBoundResource和Resource帮助程序类时,它工作得很好。但是,我需要使用RetrofitonlywithoutRoom实现来自RESTful的搜索结果。Resources类很好,我不需要更改它。我想要做的是尝试删除此类中的数据库源。publicabstractclassNetworkBoundResource{privatefinalAppExecutorsappExecutors;privatefinalMediatorLiveData>result=newMediatorLiveData();@MainThr

android - MenuItem.SHOW_AS_ACTION_IF_ROOM 是如何工作的?

开始使用ActionBar...对于MenuItem.SHOW_AS_ACTION_IF_ROOM文档说:ShowthisitemasabuttoninanActionBarifthesystemdecidesthereisroomforit.我的问题是,系统如何决定是否有空间,我可以影响/调整该决定吗?在我的例子中,我有一些菜单项适合显示为操作按钮——如果有足够的空间。在较小的屏幕上,它们占用足够的空间来使操作栏的标题省略。在这种情况下,我更希望他们进入Action溢出,而不是模糊标题。附言。我正在使用ActionBarSherlock并且没有检查nativeActionBar的行为

java - Android架构组件: Room : No such table

我正在尝试使用新的架构组件,但是当我尝试运行时,我得到:“错误:(375,24)错误:查询有问题:[SQLITE_ERROR]SQL错误或缺少数据库(没有这样的表:帖子)”以下是我的类(class)。**实体:**@EntitypublicstaticclassPost{@PrimaryKeyprivateStringid;@ColumnInfo(name="data")privateStringdata;publicStringgetId(){returnid;}publicvoidsetData(Stringdata){this.data=data;}publicStringget

Android Room LiveData 选择查询参数

我决定通过开发一个简单的数据库应用来自学Java和Android。我已经以“惰性”方式实现了一些功能——所有选择都在主线程上完成。现在我想使用LiveData进行选择。我读过simplistictrainingguideonandroiddevelopers并实现amorecomplexsolutionfromcodelabsguide,带有LiveData和RecyclerView。对整个表插入、更新、删除和选择工作完美,但我不知道如何将参数传递给选择。示例:我有一个包含所有记录的可滚动列表的Activity,我想对列表应用一些过滤器(搜索)。据我了解,DAO中的实际选择方法仅调用一

android - 在 Room 中使用现有的 VARCHAR 列

我正在尝试将我现有的数据库与AndroidRoom一起使用。但是,我的一个表有一个VARCHAR列。Room似乎只支持TEXT,不支持VARCHAR。并且sqlite不允许修改列类型。那么,有什么方法可以使用Room中带有VARCHAR字段的现有表吗?或者我应该将整个表复制到一个新表中,将VARCHAR替换为TEXT? 最佳答案 是的,您肯定需要将整个表复制到一个新表并将VARCHAR替换为TEXT。唯一的办法就是在“外面”的房间里。使用通常的SQLite。 关于android-在Roo

android - 请在构建器中提供迁移或在构建器中调用 fallbackToDestructiveMigration,在这种情况下 Room 将重新创建所有表

我正在使用带有RxJava2的Room。我在我的表中添加了一列,所以我正在迁移到新版本。我已将我的数据库版本更改为2。以下是我的迁移代码staticfinalMigrationMIGRATION_1_2=newMigration(1,2){@Overridepublicvoidmigrate(SupportSQLiteDatabasedatabase){database.execSQL("ALTERTABLEusers"+"ADDCOLUMNaddressString");}};AppDatabasedb=Room.databaseBuilder(getApplicationConte

Room数据库的使用与升级(详细介绍了增删改查,关于查询,各种查询方式都有介绍)

1.Room简介Room是Google推出的数据库框架,是一个ORM(ObjectRelationalMapping)对象关系映射数据库、其底层还是对SQLite的封装。使用ORM可以让开发者更加关注业务逻辑,而不是SQL语句。在JavaWeb领域也有类似的ORM数据库框架Hibernate、MyBatis等等。Android平台数据库框架在Android中常见的数据库框架:   Greendao   Realm   DBFlow   LitePal   Jetpack-Room🦝Greendao:是Room之前用得最广泛的ORM数据库框架,不过官方目前已经不再积极维护(官方在推新品Objec

具有 AutoValue 的 Android Room Persistence 库实体

是否可以同时使用Roompersistencelibrary的@Entity与AutoValue的@AutoValue和同一个POJO上的构建器?我应该怎么做? 最佳答案 据我所知,从1.0.0-alpha3开始,这是不可能的。房间需要田地;AutoValue不公开字段。密切关注thisfeaturerequest在这方面取得进展。 关于具有AutoValue的AndroidRoomPersistence库实体,我们在StackOverflow上找到一个类似的问题:

android - 最佳实践 : Runtime filters with Room and LiveData

我在一个屏幕上工作,该屏幕使用回收器显示Room包装的DB的内容。适配器从隐藏对RoomDAO对象的查询调用的ViewModel获取LiveData。因此,LiveData对象实际上是一个ComputableLiveData对象,它知道RoomDB的更改。现在我想在屏幕上添加过滤器选项。在这个Room-LiveData-ViewModel设置中,我将在哪里/如何实现它?适配器或ViewModel是否应该“后过滤”LiveData中的结果?我是否应该为每次过滤器更改从房间重新查询数据?我可以为此重用底层的(可计算的)LiveData吗?如果不是,我真的应该为每个过滤器更改创建新的Live