入門 • 文件 • 範例應用程式 • 問題
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 組件所有許可證的詳細信息,請參閱我們的網站。