- 浏览: 215986 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (196)
- android (153)
- sqlite (1)
- java (3)
- os (4)
- tools (4)
- ResolveInfo 转 packageinf 取信息 (1)
- multimedia (2)
- fastboot (1)
- create user in samba (0)
- android qcn (0)
- windows (0)
- net (2)
- linux (1)
- git (0)
- proguard (0)
- android cpu (1)
- android gts (1)
- MySql (1)
- c/c++ (0)
- network (1)
- python (3)
- AI (1)
- Ultroedit (1)
- HarmonyOS NEXT (0)
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
当然,也可以配置,配置数据库路径和名称
关闭数据库
snappydb.close();
1
销毁数据库
snappydb.destroy();
1
3.3 支持的数据类型
string
short
int
long
double
float
boolean
这8种基础的数据类型。当然,还支持一些复杂的数据类型。
serializable
object
array
3.4 数据的存储
存储
1
取数据
String quote = snappyDB.get("name");
1
3.5 复杂功能
更多的复杂的功能前去qithub
github地址
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地址
发表评论
-
使用UncaughtExceptionHandler保存全局异常(转)
2018-05-07 15:04 658From: https://blog.csdn.net/dre ... -
android udp
2018-04-10 19:47 618Android之Socket的基于UDP传输 接收方创建步骤: ... -
android DownloadManager
2018-04-10 12:52 609From: https://www.jianshu.com/p ... -
Snackbar 可以交互的Toast
2018-04-08 21:44 783Snackbar 是 Android design sup ... -
android 操作串口
2018-03-19 18:20 679http://blog.csdn.net/akunainian ... -
proguard对 android-support-v4.jar 的配置
2018-03-16 15:32 737-libraryjars libs/android-sup ... -
apk 多个dex
2018-03-16 10:05 1021android studio 配置应用生成多个dex ... -
ddmlib 解决android n file explorer 为空问题
2018-03-16 09:27 958百度云:http://pan.baidu.com/s/1sl4 ... -
android 代码混淆
2018-03-15 08:38 1069打开混淆开关 Android.mk ... -
menu item 显示icon
2018-03-07 09:32 703@Override public boolean onMenu ... -
ubuntu 脚本切换root用户,并执行其它脚本
2018-03-05 09:58 0#!/bin/bash expect -c" ... -
DrawerLayout 滑动侧边栏
2018-03-01 10:42 0// TODO -
jack-server 多用户编译问题
2018-02-27 10:44 14103),需要同时修改 $HOME/.jack-server/co ... -
更新eclipse 遇到两个问题 Oxygen.2 Release (4.7.2)
2018-02-26 14:28 12371. the file dx.jar was not load ... -
监听系统开关变化
2018-02-05 14:02 815// 转屏开关 /** * Content obse ... -
android 8.0 模块编译命令
2018-02-02 14:42 1174Invoke ". build/envsetup.s ... -
svn checkout 忽略某个文件夹
2018-01-26 11:14 1371android源码更新时, frameworks\compil ... -
eclipse jni
2018-01-19 16:10 495试过,可以运行 http://blog.csdn.net/sb ... -
opencv for android
2018-01-19 14:37 445http://blog.csdn.net/sbsujjbcy/ ... -
Cordova // TODO
2018-01-18 11:12 357Cordova提供了一组设备相关的API,通过这组API,移动 ...
相关推荐
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——Android开发中的线程安全RxJava与SnappyDB结合库** RxSnappy是专门为Android开发者设计的一个开源项目,它巧妙地将RxJava的响应式编程模型与SnappyDB这一高效的键值存储数据库相结合,提供了一个线程...
SnappyDB是Android的键值数据库,如果您想使用NoSQL方法,它可以替代SQLite 。 它允许您存储和获取基本类型,还可以以类型安全的方式存储和可序列化的对象或数组。 SnappyDB在读/写操作方面可以胜过SQLite 。 ...
本文档正在建设中国王十字应用程序这是什么? 这是一个沙盒应用程序,允许我们试验新的 API 和库,该应用程序的目的是显示经过审查的兴趣点,围绕国王十字...使用Dagger进行依赖注入和SnappyDB进行NoSQL持久化 - '...
写这个工具类是为了提高开发效率,其中缓存的具体实现,这个项目中已实现了两种 - FileCacheManagerImpl 、 SnappyCacheManagerImpl,即基于类的序列化 和 基于SnappyDB框架实现的存储,欢迎拓展,定制自己的内部...
演示者建筑模式AndroidAnnotations 具备连接意识的改造客户端网络和数据库错误处理未捕获的错误处理导航器可在屏幕上显示当前活动SnappyDB基本实现用于存储所有内容加载吐司进度Commons库,其中包含许多util类和出色...