我正在尝试在列表中查询具有主键的所有模型的数据库.这是我的查询(idsList是一个包含整数的ArrayList):
new Select().from(PostModel.class)
.where(Condition.column(PostModel$Table.ID).in(0, idsList))
.async().queryList(listener);
Run Code Online (Sandbox Code Playgroud)
但Android Studio突出了其中的条件
"Cannot resolve method 'where(com.raizlabs.android.dbflow.sql.builder.Condition.In)"
Run Code Online (Sandbox Code Playgroud)
那么条件.在不被视为条件?如何在ArrayList中使用primaryKey查询所有模型?
我正在使用DBFlow 2.0.我也可以使用常规SQL查询字符串作为替代,但我不熟悉SQL,所以如果你可以为我的问题提供SQL查询字符串,那将是一种可能的解决方法.
我正在DBFlow试图学习框架的Android应用程序,我开始得到错误,虽然我不确定它们是否相关DBFlow.
这是错误消息:
01-12 06:49:43.817 1294-1310/? E/BluetoothAdapter: Bluetooth binder is null
01-12 06:49:43.818 1294-1310/? E/KernelCpuSpeedReader: Failed to read cpu-freq
java.io.FileNotFoundException: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:452)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileReader.<init>(FileReader.java:66)
at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49)
at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8002)
at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)
at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:438)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileReader.<init>(FileReader.java:66) …Run Code Online (Sandbox Code Playgroud) 我曾与 DBFlow 一起工作,它在数据库方面很简单,但我想问一下是否有一个很好的例子可以将 SQLCipher 与 DBFlow 一起使用
我已遵循此链接寻求帮助
但是如果有人能提供一些简单的例子,将会非常有助于通过简单的步骤创建安全的数据库应用程序。
我正在使用DBFlow作为ORM库编写Android应用程序。因此,这是我的表模型之一:
@Table(database = Database.class)
public class Language extends BaseModel {
@PrimaryKey(autoincrement = true)
long id;
@Column
String key;
@Column
String title;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
/* .. Other setters and getters .. */
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但是当我看一下数据库检查器时(我正在使用Stetho),我可以看到2个相同的“ id”列:
有点尴尬和多余。。不是吗?可以,这种现象的原因是什么?如果还不行,我该怎么办呢?
您可以将DbFlow ORM与现有SQLite数据库一起使用.这是与应用程序一起打包并在初始安装时复制(从assets文件夹)?
我想在DBFlow中执行以下语句:
SELECT SECTION_ID, COUNT(SECTION_ID) AS SECTION_COUNT FROM ARTICLES GROUP BY SECTION_ID ORDER BY SECTION_COUNT DESC
Run Code Online (Sandbox Code Playgroud)
我尝试的是:
Select(Article_Table.sectionId).from(Article.java).count(???) ...
Run Code Online (Sandbox Code Playgroud)
该流对象有一个count()方法,但它需要一个DatabaseWrapper作为坦白说,我不明白的说法,我本来期望它采取表列(即房产).
我有什么想法可以做到这一点?