- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我不明白为什么 for 循环会破坏我的应用程序。我知道这是一个简单的问题,但我已经盯着这段代码看了好几个小时试图弄明白。我相当确定 build.gradle 中的所有依赖项都是正确的。如果您需要更多信息,请与我们联系。谢谢你。
//应用类
package edu.uncw.seahawktours;
import android.app.Application;
import java.util.ArrayList;
import java.util.List;
import io.objectbox.Box;
import io.objectbox.BoxStore;
public class App extends Application {
private BoxStore boxStore;
@Override
public void onCreate() {
super.onCreate();
// Initialize the main data access object
boxStore = MyObjectBox.builder().androidContext(App.this).build();
// Get the wrapper (Box) for the Book table that lets us store Book objects
Box<Building> buildingBox = boxStore.boxFor(Building.class);
// Initialize with some data
if (buildingBox.count() == 0) {
List<Building> initialBooks = new ArrayList<>();
initialBooks.add(new Building("CIS", "https://library.uncw.edu/web/collections/archives/bnl/cis.html", R.drawable.cis));
initialBooks.add(new Building("Depaolo Hall", "https://library.uncw.edu/web/collections/archives/bnl/6.html", R.drawable.depaolo));
initialBooks.add(new Building("Trask Coliseum", "https://library.uncw.edu/web/collections/archives/bnl/10.html", R.drawable.trask));
initialBooks.add(new Building("King Hall", "https://library.uncw.edu/web/collections/archives/bnl/4.html", R.drawable.kinghall2));
initialBooks.add(new Building("Leutze Hall", "https://library.uncw.edu/web/collections/archives/bnl/17.html", R.drawable.leutzehall));
// ObjectBox is smart enough to handle CRUD on Collections of entities
buildingBox.put(initialBooks);
}
System.out.println(buildingBox.count());
for (Building book : buildingBox.getAll()) {
System.out.println(book.getBuildingName());
}
}
public BoxStore getBoxStore() {
return boxStore;
}
}
//建筑类
package edu.uncw.seahawktours;
import io.objectbox.annotation.Entity;
import io.objectbox.annotation.Id;
@Entity
public class Building {
@Id public long id;
private String buildingName;
private String description;
private String url;
private int imageID;
public Building(String name, String url ,int buildingPictureID){
this.buildingName = name;
this.url = url;
this.imageID = buildingPictureID;
}
public long getId() {
return id;
}
public String getDescription() {
return description;
}
public String getBuildingName() {
return buildingName;
}
public String getUrl() {
return url;
}
public int getImageID() {
return imageID;
}
public void setId(long id) {
this.id = id;
}
public void setBuildingName(String buildingName) {
this.buildingName = buildingName;
}
public void setDescription(String description) {
this.description = description;
}
public void setUrl(String url) {
this.url = url;
}
public void setImageID(int imageID) {
this.imageID = imageID;
}
@Override
public String toString() {
return this.buildingName;
}
}
//项目构建.Gradle
// Top-level build file where you can add configuration options common to
all sub-projects/modules.
buildscript {
ext.objectboxVersion = '2.2.0'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
//应用构建.Gradle
apply plugin: 'com.android.application'
apply plugin: 'io.objectbox'
android {
compileSdkVersion 28
defaultConfig {
applicationId "edu.uncw.seahawktours"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
}
最佳答案
我的回答很糟糕,但 ObjectBox 只适用于“平面”数据结构。关系实现很糟糕,和 RealmDb 一样糟糕。为什么我们不能嵌入对象,为什么一切都是关系?有一个更慢的选择,Couchbase Mobile。它几乎没有被提及,但它更像是用于移动设备的 MongoDb。我以前尝试过,但不喜欢它——我仍然不喜欢它,但我不必日复一日地寻找文档来让它工作。您只需保存您的数据结构。它不像 ObjectBox 那样类型安全(很糟糕)。似乎所有产品在不同层面上都很糟糕。
考虑一下:
ObjectBox 是平面结构和性能的最佳选择,但与服务器响应的集成很糟糕(您必须为简单的事情编写太多样板,例如更新 TooMany 关联 - ToOne,并且文档很糟糕Kotlin 和 Java 相似)
RealmDb 存在严重的多线程问题,比 ObjectBox 慢,但比 Couchbase Mobile 快得多。
Couchbase Mobile 的性能很糟糕,但您可以在从服务器接收到服务器结构时存储它们。如果 Couchbase Mobile 修复了它们的查询/插入性能,它会粉碎其他的,因为它会根据需要存储您的对象结构(例如 MAP)
我知道这无济于事,请否决我,但我花了一段时间尝试所有这些,但仍然没有找到基于离线存储的应用程序的明确路径。
关于Android ObjectBox.getAll() 返回 null,即使 objectBox.count 为 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53567196/
目录 count作用 测试 count(*) count(1) count(col) count(id):统计id count(inde
目录 1.初识COUNT 2.COUNT(字段)、COUNT(常量)和COUNT(*)之间的区别 3.COUNT(*)的优化 MyIS
以下 SQL Server 2008 语句之间有什么区别? SELECT COUNT(*) FROM dbo.Regular_Report SELECT COUNT(0) FROM dbo.Regul
如果字符串(短语)中只有元音,它(对我而言)说True;否则说 False。我不明白为什么它总是返回 False,因为 (x >= x) 总是返回 True。我感谢任何人检查此查询的解决方案。 (st
1.概述 在这个文章之前,我一直用count(1) 查询所有数据,以前我们都是说 count(*) 是最慢的。但是这个博客恰恰相反。 对于 count(主键 id) 来说,InnoDB 引擎会遍历整张
这个问题已经有答案了: Count(*) vs Count(1) - SQL Server (13 个回答) 已关闭 8 年前。 我经常发现这三种变体: SELECT COUNT(*) FROM Fo
为什么三个查询的成本相同?我想至少应该有一个更快。否则,只使用关键字 COUNT() 而不是 COUNT(parameter) 就可以了。 例如,以下是不依赖于参数的 COUNT() 示例实现: wh
我有一个“产品”表和一个“评论”表。 我想编写一个查询来返回每个产品的评论的 COUNT 和 AVG。 并且如果没有评论,我希望它为 COUNT 和 AVG 返回 0/null。 产品表 +-----
我会保持简短和亲切,因为我确信我缺少的是一些简单的东西。我正在尝试获取一个 NSMutableArray 的计数,它可以包含可变数量的对象(id 号)。数组是从 JSon 数据创建的,数组本身是完美创
我想知道查询计数的计数。 查询是 sourcetype="cargo_dc_shipping_log" OR sourcetype="cargo_dc_deliver_log" | stats cou
任何人都知道我如何在 SQL 炼金术中进行计数 COUN(IF(table_row = 1 AND table_row2 =2),1,0) 我做了这样的东西, func.COUNT(func.IF((
我有一个有四列的表(销售); id, user_id, product_id, and date_added. 我需要统计某个用户已售出的具有特定 id 的产品数量,并获取该用户当月售出的产品总数。
我是来问这个问题的实现的 MYSQL count of count? 我的问题是将我从一个表中提取结果的结果联系起来,使用它们来查询同一数据库的另一个表 (抱歉,我不是强大的 xySQL)。 我有一个
这是我的查询 SELECT COUNT(*) as total, toys, date FROM T1 WHERE (date >= '2012-06-26'AND date '0') UNION
我有 2 个表:成员,订单。 Members: MemberID, DateCreated Orders: OrderID, DateCreated, MemberID 我想找出给定月份中新成员的数
我最近在一次采访中被问到这个问题。我在 mySQL 中尝试了这个,并得到了相同的结果(最终结果)。All 给出了该特定表中的行数。谁能解释它们之间的主要区别。 最佳答案 没什么,除非您在表格中指定字段
我有一个包含 2157 条记录的表,假设有 3 列(A、B、C),我知道在 A 列中有 2154 个不同的值。 使用连接到 BigQuery 的 Tableau Desktop(及其自身的功能),我得
我试图查看当天的车辆销量,并创建另外两个列来告诉我过去 10 天的销量和过去 20 天的销量。同一天和同一辆车可能有多个销售。我的目标是获取不同的车辆和日期并查看他们的销售数量。 N 天计数应与该行中
我有一个非常简单的问题。我想知道某个数据库行是否存在。 我通常使用: SELECT 1 FROM `my_table` WHERE `field_x` = 'something' 然后我获取结果: $
我想要的输出的描述:我想要两个线程 Gaurav 和 john 完成一个 while 循环(从 1 到 8),这样无论哪个线程启动 ist,都会运行 5 次迭代(即直到 count=5 ) ,然后进入
我是一名优秀的程序员,十分优秀!