Android 安卓超级强劲的轻量级数据库ObjectBox,快的飞起

本文介绍了ObjectBox,一种比SQLite更高效的数据库解决方案,展示了如何在Android项目中集成、生成数据库、初始化以及进行基本的增删查操作。作者以实例说明了如何创建模型类、在Application中设置ObjectBox,并提供了关键代码片段。
摘要由CSDN通过智能技术生成

ObjectBox是一个超快的面向对象数据库,相比于Sqlite,效率高了10倍左右


引入ObjectBox


在跟项目中的build.gradle中引入:

buildscript {

ext.objectboxVersion = ‘2.9.1’

dependencies {

classpath “io.objectbox:objectbox-gradle-plugin:$objectboxVersion”

}

}

在app下的build.gradle头部引入

(有以下两种情况,看你项目中用的什么):

plugins {

id ‘io.objectbox’

}

apply plugin: ‘io.objectbox’


简单的代码栗子


接下来将会讲解ObjectBox基本使用


生成和创建数据库

1、新建一个模型类,并使用 @Entity 将类注解,@Id 为自增主键(进阶的代码栗子会详细一点讲注解),@Id 注解也是必不可少的。

package com.mt.objectboxproject

import io.objectbox.annotation.Entity

import io.objectbox.annotation.Id

@Entity

data class Person(

@Id

var id: Long = 0,

var age: Int = 0,

var name: String? = null

)

2、AndroidStudio操作:Build -> MakeProject,或者点击运行按钮旁边的小锤子锤一下,这一步是为了生成ObjectBox所需要的文件,之后便会看到生成了 app\objectbox-models\default.json 文件


ObjectBox初始化

1、创建ObjectBox的小助手,需要在 Application 中进行调用 init 初始化

package com.mt.objectboxproject

import android.content.Context

import io.objectbox.BoxStore

/**

  • ObjectBox的小助手,需要在Application中进行调用init初始化

*/

object ObjectBox {

lateinit var store: BoxStore

private set

fun init(context: Context) {

store = MyObjectBox.builder()

.androidContext(context.applicationContext)

.build()

}

}

2、在 Application 中初始化

package com.mt.objectboxproject

import android.app.Application

class MainApplication : Application() {

override fun onCreate() {

super.onCreate()

//初始化ObjectBox

ObjectBox.init(this)

}

}

基本操作 - 增

package com.mt.objectboxproject

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

//插入一条数据

val userBox = ObjectBox.store.boxFor(Person::class.java)

val person = Person()

person.age = 21

person.name = “第三女神程忆难”

userBox.put(person)

//==========================================================================================

//插入多条数据

val persons = mutableListOf()

//模拟多条数据

val person1 = Person()

person1.age = 24

person1.name = “1bit”

val person2 = Person()

person2.age = 25

person2.name = “梦想橡皮擦”

val person3 = Person()

person3.age = 26

person3.name = “沉默王二”

persons.add(person1)

persons.add(person2)

persons.add(person3)

//插入数据库

userBox.put(persons)

}

}

基本操作 - 查

package com.mt.objectboxproject

import android.os.Bundle

import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

val userBox = ObjectBox.store.boxFor(Person::class.java)

//==========================================================================================

//根据主键id查询

val person = userBox[1]

//==========================================================================================

//获取person有所数据

val allPersons = userBox.all

//==========================================================================================

//条件查询

val build = userBox.query()

.equal(Person_.name, “沉默王二”)

.order(Person_.name)

.build()

//查找数据

val find = build.find()

//记得close

build.close()

}

}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

分享一份工作1到5年以上的Android程序员架构进阶学习路线体系,希望能对那些还在从事Android开发却还不知道如何去提升自己的,还处于迷茫的朋友!

  • 阿里P7级Android架构师技术脑图;查漏补缺,体系化深入学习提升

  • **全套体系化高级架构视频;**七大主流技术模块,视频+源码+笔记

有任何问题,欢迎广大网友一起来交流

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

取!!(备注:Android)**

最后

分享一份工作1到5年以上的Android程序员架构进阶学习路线体系,希望能对那些还在从事Android开发却还不知道如何去提升自己的,还处于迷茫的朋友!

  • 阿里P7级Android架构师技术脑图;查漏补缺,体系化深入学习提升

    [外链图片转存中…(img-IFhY6w90-1712156315718)]

  • **全套体系化高级架构视频;**七大主流技术模块,视频+源码+笔记

[外链图片转存中…(img-nt3ci5WB-1712156315718)]

有任何问题,欢迎广大网友一起来交流

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值