- 浏览: 203798 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (195)
- 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)
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 501From: https://blog.csdn.net/dre ... -
android udp
2018-04-10 19:47 466Android之Socket的基于UDP传输 接收方创建步骤: ... -
android DownloadManager
2018-04-10 12:52 451From: https://www.jianshu.com/p ... -
Snackbar 可以交互的Toast
2018-04-08 21:44 635Snackbar 是 Android design sup ... -
android 操作串口
2018-03-19 18:20 478http://blog.csdn.net/akunainian ... -
proguard对 android-support-v4.jar 的配置
2018-03-16 15:32 597-libraryjars libs/android-sup ... -
apk 多个dex
2018-03-16 10:05 871android studio 配置应用生成多个dex ... -
ddmlib 解决android n file explorer 为空问题
2018-03-16 09:27 779百度云:http://pan.baidu.com/s/1sl4 ... -
android 代码混淆
2018-03-15 08:38 917打开混淆开关 Android.mk ... -
menu item 显示icon
2018-03-07 09:32 547@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 13513),需要同时修改 $HOME/.jack-server/co ... -
更新eclipse 遇到两个问题 Oxygen.2 Release (4.7.2)
2018-02-26 14:28 11561. the file dx.jar was not load ... -
监听系统开关变化
2018-02-05 14:02 759// 转屏开关 /** * Content obse ... -
android 8.0 模块编译命令
2018-02-02 14:42 1125Invoke ". build/envsetup.s ... -
svn checkout 忽略某个文件夹
2018-01-26 11:14 1262android源码更新时, frameworks\compil ... -
eclipse jni
2018-01-19 16:10 446试过,可以运行 http://blog.csdn.net/sb ... -
opencv for android
2018-01-19 14:37 380http://blog.csdn.net/sbsujjbcy/ ... -
Cordova // TODO
2018-01-18 11:12 290Cordova提供了一组设备相关的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是一个线程安全的rxjava包装器,适用于android的snappydb快速键值数据库。
SnappyDB是Android的键值数据库,如果您想使用NoSQL方法,它可以替代SQLite 。 它允许您存储和获取基本类型,还可以以类型安全的方式存储和可序列化的对象或数组。 SnappyDB在读/写操作方面可以胜过SQLite 。 ...
《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了Android框架的主要源代码,并详细讲解了理解框架工作原理所需的各种基础知识和构成...
源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...
# 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 官网下载地址:...
第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...
Android串口通信(Android Studio) serial Port 简单的demo 好久之前整的
使用: 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及其庞大工具生态系统的内容,包括Git和Gradle:除了介绍Android Studio与Git(用于源代码管理)和Gradle(一款构建及测试工具)的无缝...
JavaScript调用Android方法,向Android方法传递json数据。
Android应用开发的哲学是把一切都看作是组件。把应用程序组件化的好处是降低模块间的耦合性,同时提高模块的复用性。Android的组件设计思想与传统的组件设计思想最大的区别在于,前者不依赖于进程。也就是说,进程...
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端
android开发期末大作业(项目源码,任务书,实验大报告,apk文件) 大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等) 一、实验项目名称 Android手机应用开发课程大作业 二、实验目的 1....
Android support.v7包
android studio 4.2.2 免安装解压版