Android Studio DAO语法高亮显示、DB检查器和语言注入

tkclm6bt  于 2023-01-31  发布在  Android
关注(0)|答案(3)|浏览(192)

自从上次构建升级以来,DAO中的语法突出显示不再起作用。

我的期望(和经验)是,在查询中有语法高亮显示,一旦数据库检查器运行,在左侧还有一个按钮,用于执行正在运行的数据库上的SQL语句。我不知道为什么会发生这种情况。我所做的唯一一件事是为我的build gradles运行推荐的升级。而且,恢复这些更改并没有改善情况。
至少在语法突出显示方面,我找到了一个解决方案:

但是,这仍然不能解决在数据库检查器中"快速运行" SQL语句的问题。
这里也要注意,我已经尝试了这个:How to highlight SQL syntax of Room Dao in Android Studio,它没有工作。在我的例子中,没有"Android Room SQL"的列表,只有"Room SQL"。
有什么想法吗?

jq6vz3qz

jq6vz3qz1#

我在www.example.com上问过同样的问题issuetracker.google.com:https://issuetracker.google.com/issues/234612964
中间解决方案如下:https://issuetracker.google.com/issues/234612964#comment6
请检查该链接,那里有一个变通方案,它至少与'2.5.0-alpha 03'一起工作。还没有与'2.5.0-alpha 02'一起测试过。
Android Studio很快会对此进行修复(2022年9月/10月)

dffbzjpn

dffbzjpn2#

自动突出显示仍不适用于:

  • Android Studio 电鳗|2022.1.1构建版本号AI-221.6008.13.2211.9477386,构建日期:2023年1月11日 *

以及

  • 房间:2.5.0*

在Kotlin@Dao课上。
因此,正如此处所述,您应该:
1.转到设置〉编辑器〉语言注入
1.添加“仿制药Kotlin”类型的新进样
1.选择“RoomSQL”作为注入的ID。
1.为“放置模式”添加以下内容:

  • kotlin参数(). of函数(0,kotlin函数(). with名称(“查询”).在类中定义(“androidx.房间.查询”))
  • kotlin参数(). of函数(0,kotlin函数(). with名称(“数据库视图”).在类中定义(“androidx.房间.数据库视图”))
    而且注射效果很好!

z9ju0rcb

z9ju0rcb3#

不要在gradle中使用alpha版本的room。只使用稳定版本。我使用的是alpha版本的room:

implementation 'androidx.room:room-ktx:2.5.0-alpha02'
implementation 'androidx.room:room-common:2.5.0-alpha02'
kapt 'androidx.room:room-compiler:2.5.0-alpha02'
androidTestImplementation 'androidx.room:room-testing:2.5.0-alpha02'

当我迁移到稳定版本时,它解决了这个问题。

implementation 'androidx.room:room-ktx:2.4.3'
implementation 'androidx.room:room-common:2.4.3'
kapt 'androidx.room:room-compiler:2.4.3'
androidTestImplementation 'androidx.room:room-testing:2.4.3'

相关问题