草庐IT

room_book

全部标签

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

1. 定义一个表示图书的类,名字为Book,属性包含:书名、价格、出版社、作者等信息,编写一个方法,实现输出一本书的基本信息的功能,要求属性都是私有的,为私有属性提供访问器方法。编写测

1.        定义一个表示图书的类,名字为Book,属性包含:书名、价格、出版社、作者等信息,编写一个方法,实现输出一本书的基本信息的功能,要求属性都是私有的,为私有属性提供访问器方法。编写测试类使用Book类创建对象,使用构造方法给属性赋值,并测试对象的全部方法。packagesuannaidezuoye;importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Listbooks=newArrayList();Scannerin=newScanner(System.in);for(inti=0;i{Str

java - Play 2.0 (java) : Is MongoDB suitable for hotel booking web app?

我想用Playframework2.0(Java)实现一个酒店预订系统。该应用程序将在没有银行交易的情况下进行酒店预订(信用卡将仅作为识别方法提供以防止欺诈),用户将选择所需的房间和日期范围,该应用程序将进行预订并更新房间可用性。出于性能原因,我正在考虑使用mongo而不是mySQL,还因为我的模型将具有几种语言的可翻译字段,如果它在mySQL中,将会有很多连接。对于可用性检查,我不太清楚它是否在mySQL中比在mongo中更简单。MongoDB是否适合那种Web应用程序,还是我走错了路? 最佳答案 两个简单的语句:坚持你所知道的。