入门 • 文档 • 示例应用程序 • 问题
ObjectBox Java 是一个轻量级但功能强大的设备上数据库和矢量数据库,专为Java 和 Kotlin应用程序设计。使用 ObjectBox 在 Android 或 JVM Linux、macOS 或 Windows 应用程序中轻松存储和管理数据。轻松管理对象旁边的矢量数据,并执行超快速的设备上矢量搜索,为您的应用程序提供 RAG AI、生成式 AI 和相似性搜索。享受卓越的速度、电池友好的资源使用和环保的开发。
// Java
Playlist playlist = new Playlist ( "My Favorites" );
playlist . songs . add ( new Song ( "Lalala" ));
playlist . songs . add ( new Song ( "Lololo" ));
box . put ( playlist );
➡️文档中的更多详细信息
// Kotlin
val playlist = Playlist ( " My Favorites " )
playlist.songs.add( Song ( " Lalala " ))
playlist.songs.add( Song ( " Lololo " ))
box.put(playlist)
?第一个设备上矢量数据库:轻松管理矢量数据并执行快速矢量搜索 ?高性能:卓越的速度,在所有 CRUD 操作中优于 SQLite 和 Realm 等替代品。
高效的资源使用:最小的 CPU、功耗和内存消耗,实现最大的灵活性和可持续性。
?内置对象关系:内置对对象关系的支持,让您轻松建立和管理对象之间的关系。
?易用性:简洁的API,无需复杂的SQL查询,节省您开发的时间和精力。
对于 Android 项目,将 ObjectBox Gradle 插件添加到根build.gradle
:
buildscript {
ext . objectboxVersion = " 4.0.3 "
repositories {
mavenCentral()
}
dependencies {
classpath( " io.objectbox:objectbox-gradle-plugin: $o bjectboxVersion " )
}
}
并在应用程序的build.gradle
中应用该插件:
// Using plugins syntax:
plugins {
id( " io.objectbox " ) // Add after other plugins.
}
// Or using the old apply syntax:
apply plugin : " io.objectbox " // Add after other plugins.
创建一个数据对象类@Entity
,例如“Playlist”。
// Kotlin
@Entity data class Playlist ( ... )
// Java
@Entity public class Playlist { .. . }
现在构建项目,让 ObjectBox 为您生成MyObjectBox
类。
为您的应用程序准备一次 BoxStore 对象,例如在 Application 类的onCreate
中:
boxStore = MyObjectBox . builder (). androidContext ( this ). build ();
然后获取Playlist实体类的Box
类:
Box < Playlist > box = boxStore . boxFor ( Playlist . class );
Box
对象使您可以访问所有主要函数,例如put
、 get
、 remove
和query
。
有关详细信息,请查看文档。
ObjectBox 是一个 NoSQL Java 数据库,专为资源受限设备上的本地数据存储而设计,优先考虑离线优先功能。它是 Java 和 Kotlin 应用程序中本地数据持久化的明智且可持续的选择。它提供高效、易用性和灵活性。
ObjectBox 针对速度和最小资源消耗进行了优化,是移动设备的理想解决方案。它具有出色的性能,同时还最大限度地减少了 CPU、RAM 和功耗的使用。在所有 CRUD(创建、读取、更新、删除)操作中,ObjectBox 的性能优于 SQLite 和 Realm。查看我们的性能基准测试应用程序存储库。
凭借其简洁的语言原生 API,与 SQLite 相比,ObjectBox 所需的代码更少,从而简化了开发。它对具有内置关系的普通对象 (POJO) 进行操作,无需管理行和列。这种方法可以有效地处理大量数据,并且可以轻松修改模型。
?查询:根据需要过滤数据,甚至跨关系过滤数据
多平台:支持 Linux(也支持 ARM)、Windows 和 macOS 上的 Android 和 JVM
?可扩展:轻松高效地处理数百万个对象
?静态类型:编译时检查和优化
?自动架构迁移:无需更新脚本
不仅仅是数据持久性
ObjectBox Sync:保持设备和服务器之间的数据同步
ObjectBox TS:基于时间的数据的时间序列扩展
❤告诉我们你的想法!通过我们的匿名反馈表分享您的想法。
在 ObjectBox,我们致力于通过提供直观且有趣的 API 来为应用程序开发人员带来欢乐。我们真诚地希望收到您的来信:您喜欢 ObjectBox 的哪些方面?有什么可以改进的地方?您在日常应用开发中面临哪些挑战?
我们热切等待您的意见和要求,因此请随时与我们联系:
谢谢你!随时关注我们的博客。
有关新版本中显着且重要的更改,请阅读更改日志。
ObjectBox 支持多种平台和语言。除了 Java 和 Kotlin 等基于 JVM 的语言之外,ObjectBox 还提供:
Copyright 2017-2024 ObjectBox Ltd. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
请注意,此许可证仅适用于此存储库中的代码。有关 ObjectBox 组件所有许可证的详细信息,请参阅我们的网站。