- 浏览: 212327 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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)
Android SnappyDB
- 博客分类:
- android
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 595From: https://blog.csdn.net/dre ... -
android udp
2018-04-10 19:47 560Android之Socket的基于UDP传输 接收方创建步骤: ... -
android DownloadManager
2018-04-10 12:52 544From: https://www.jianshu.com/p ... -
Snackbar 可以交互的Toast
2018-04-08 21:44 721Snackbar 是 Android design sup ... -
android 操作串口
2018-03-19 18:20 595http://blog.csdn.net/akunainian ... -
proguard对 android-support-v4.jar 的配置
2018-03-16 15:32 684-libraryjars libs/android-sup ... -
apk 多个dex
2018-03-16 10:05 964android studio 配置应用生成多个dex ... -
ddmlib 解决android n file explorer 为空问题
2018-03-16 09:27 877百度云:http://pan.baidu.com/s/1sl4 ... -
android 代码混淆
2018-03-15 08:38 1008打开混淆开关 Android.mk ... -
menu item 显示icon
2018-03-07 09:32 642@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 13973),需要同时修改 $HOME/.jack-server/co ... -
更新eclipse 遇到两个问题 Oxygen.2 Release (4.7.2)
2018-02-26 14:28 12101. the file dx.jar was not load ... -
监听系统开关变化
2018-02-05 14:02 796// 转屏开关 /** * Content obse ... -
android 8.0 模块编译命令
2018-02-02 14:42 1164Invoke ". build/envsetup.s ... -
svn checkout 忽略某个文件夹
2018-01-26 11:14 1346android源码更新时, frameworks\compil ... -
eclipse jni
2018-01-19 16:10 488试过,可以运行 http://blog.csdn.net/sb ... -
opencv for android
2018-01-19 14:37 411http://blog.csdn.net/sbsujjbcy/ ... -
Cordova // TODO
2018-01-18 11:12 319Cordova提供了一组设备相关的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 。 ...
在Android开发中,串口通信(Serial Port Communication)是一种重要的技术,它允许设备之间通过串行接口进行数据交换。在Android Studio环境下实现串口通信,开发者可以构建与硬件设备交互的应用,例如读取传感器...
在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...
【Android扫雷游戏开发详解】 在移动开发领域,Android Studio是Google推出的官方集成开发环境(IDE),用于构建Android应用程序。本项目"Android扫雷游戏"就是利用Android Studio进行开发的一个实例,旨在帮助初学...
在Android开发中,为UI元素添加虚线、圆角和渐变效果是常见的需求,可以提升应用的视觉吸引力。下面将详细讲解如何实现这些效果。 ### 一、虚线(Dashed Line) 在Android中,我们可以使用`Shape Drawable`来创建...
# 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开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...
源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...
第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...
在Android平台上,即时通讯(Instant Messaging,简称IM)已经成为移动应用不可或缺的一部分,而结合视频通信功能则让用户体验更上一层楼。本项目“Android之基于RTP/RTSP即时通讯-Android源码”正是这样的一个解决...
《Android Studio项目源码解析与学习指南》 在Android应用开发的世界中,Android Studio作为官方推荐的集成开发环境(IDE),已经成为开发者们的首选工具。本文将深入探讨"50款Android studio项目源码.zip"这一资源...
Android SDK是Android应用程序开发不可或缺的一部分,它为开发者提供了构建、测试和调试应用所需的各种工具。在本场景中,我们关注的是Android SDK的27版本,这对应于Android 8.1.0,也称为Oreo。这个版本的SDK包含...
Android SipDemo是一个示例应用,它展示了如何在Android平台上实现网络电话功能,特别是针对Android 2.3(Gingerbread)及以上版本。这个项目基于Android的SIP(Session Initiation Protocol)API,这是一种用于...
在Android系统中,检测U盘(USB存储设备)的热插拔事件是一项常见的需求,尤其在开发与USB设备交互的应用时。"android检测U盘插拔事件"这个标题揭示了我们要探讨的核心技术点:如何在Android应用中监听并处理U盘的...
在Android开发领域,Android Studio是谷歌官方推荐的集成开发环境(IDE),用于构建高质量的Android应用。本小案例将深入探讨如何使用Android Studio进行实际项目开发。以下将详细介绍Android Studio的一些核心功能和...
在Android平台上,开发一款“一键清理后台”应用可以帮助用户快速释放设备内存,提高系统运行速度。这个功能通常包括清理正在运行的应用程序、终止不必要的服务以及管理后台进程。下面将详细介绍如何在Android 4.4...
在Android平台上实现WebRTC,首先需要理解其核心组件和工作流程。WebRTC的架构包括以下关键部分: 1. **信令层**:这是WebRTC系统中用于建立和管理连接的部分。它处理会话邀请、媒体协商以及传输控制协议(如SIP或...
《Android点餐系统项目》是一门深度探讨如何在Android平台上构建无线点餐系统的视频教程,旨在教授学员如何利用Android技术实现一个完整的点餐系统,包括客户端和服务端的开发。这门课程涵盖了移动应用开发的多个...