`

Android SnappyDB

 
阅读更多
https://blog.csdn.net/qq_21430549/article/details/50864502

1. 前言
在以前的博客当中,有提到数据缓存的方案,那么问题来了,我们难以避免的使用数据库去缓存数据。但是,存在一个问题,速度。当我使用数据库去缓存的时候,明显存在UI卡顿。这时,SnappyDB出场了。
2. NoSql 是什么?
NoSql 泛指非关系型数据库。有以下四大分类。
键值(key-value) 存储数据库
列存储数据库
文档型 数据库
图形数据库 
我今天要介绍的是键值存储数据库。
3. 基本使用
3.1 引入
在gradle中引入
dependencies {
    compile 'com.snappydb:snappydb-lib:0.5.2'
    compile 'com.esotericsoftware.kryo:kryo:2.24.0'
}
1
2
3
4
引入jar包和so文件
下载地址
3.2 对数据库的操作
创建数据库
创建一个默认的数据库
DB snappydb = DBFactory.open(context);
1
 创建一个指定名称的数据库
 
DB snappydb = DBFactory.open(context, "books");
1
当然,也可以配置,配置数据库路径和名称
DB snappyDB = new SnappyDB.Builder(context)
                    .directory(Environment.getExternalStorageDirectory().getAbsolutePath()) //optional
                    .name("books")//optional
                    .build();
1

关闭数据库
snappydb.close();
1
销毁数据库
snappydb.destroy();
1
3.3 支持的数据类型
string
short
int
long
double
float
boolean
这8种基础的数据类型。当然,还支持一些复杂的数据类型。
serializable
object
array
3.4 数据的存储
存储
snappyDB.put("name", "quanshijie");

1
取数据
String quote      = snappyDB.get("name");
1
3.5 复杂功能
更多的复杂的功能前去qithub
github地址
分享到:
评论

相关推荐

    Android代码-SnappyDB

    SnappyDB is a key-value database for Android it's an alternative for SQLite if you want to use a NoSQL approach. It allows you to store and get primitive types, but also a Serializable object or ...

    rxsnappy,rxsnappy是一个线程安全的rxjava包装器,适用于android的snappydb快速键值数据库。.zip

    rxsnappy是一个线程安全的rxjava包装器,适用于android的snappydb快速键值数据库。

    SnappyDB:Android的键值数据库

    SnappyDB是Android的键值数据库,如果您想使用NoSQL方法,它可以替代SQLite 。 它允许您存储和获取基本类型,还可以以类型安全的方式存储和可序列化的对象或数组。 SnappyDB在读/写操作方面可以胜过SQLite 。 ...

    Android框架揭秘.pdf

    《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了Android框架的主要源代码,并详细讲解了理解框架工作原理所需的各种基础知识和构成...

    Android BLE蓝牙例子(包括android版Lightblue)实例源码

    源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...

    Android 7.1.1 (API 25) SDK Platform 下载

    # mv /opt/android-sdk/platforms/android-25/android-7.1.1/* /opt/android-sdk/platforms/android-25/ # rm -rf /opt/android-sdk/platforms/android-25/android-7.1.1 官网下载地址:...

    android应用开发范例精解

    第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...

    Android串口通信(Android Studio)

    Android串口通信(Android Studio) serial Port 简单的demo 好久之前整的

    Android 8.0.0 (API 26) SDK Platform

    使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip

    Android扫雷游戏(基于Android Studio)

    基于Android平台的扫雷小游戏,使用Android Studio开发,附有简单注释,适用于初步掌握Android技术的程序猿们!

    Android Studio实战 快速、高效地构建Android应用

    《Android Studio实战 快速、高效地构建Android应用 全面涵盖关于Android Studio及其庞大工具生态系统的内容,包括Git和Gradle:除了介绍Android Studio与Git(用于源代码管理)和Gradle(一款构建及测试工具)的无缝...

    JS调用Android方法,向Android方法传递json数据

    JavaScript调用Android方法,向Android方法传递json数据。

    Android组件设计思想

    Android应用开发的哲学是把一切都看作是组件。把应用程序组件化的好处是降低模块间的耦合性,同时提高模块的复用性。Android的组件设计思想与传统的组件设计思想最大的区别在于,前者不依赖于进程。也就是说,进程...

    android source 2.2(android-8)

    android-2.2 source文件 eclipse中绑定android源码的方法 1.下载android-2.2 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk...

    WebRTC的Android实现 源码下载 包括服务器,pc端,android端

    WebRTC的Android实现:包括服务器,pc端,android端

    android开发期末大作业.zip

    android开发期末大作业(项目源码,任务书,实验大报告,apk文件) 大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等) 一、实验项目名称 Android手机应用开发课程大作业 二、实验目的 1....

    Android support.v7包

    Android support.v7包

    android studio 4.2.2 免安装解压版

    android studio 4.2.2 免安装解压版

Global site tag (gtag.js) - Google Analytics