android x86 键值,安卓键值数据库 – SnappyDB

SnappyDB是一个应用于Android的键值数据库。如果你想使用一种NoSQL方法,它不失为一个很不错的SQLite替代品。

它可以让你以一种安全的方式存储和获取原始类型,一个Serializable对象或数组。

SnappyDB在读写操作方面比SQLite要做的好。

fammmm.png

使用方法

try {

DB snappydb = DBFactory.open(context); //create or open an existing database using the default name

snappydb.put("name", "Jack Reacher");

snappydb.putInt("age", 42);

snappydb.putBoolean("single", true);

snappydb.put("books", new String[]{"One Shot", "Tripwire", "61 Hours"});

String name = snappydb.get("name");

int age = snappydb.getInt("age");

boolean single = snappydb.getBoolean("single");

String[] books = snappydb.getArray("books", String.class);// get array of string

snappydb.close();

} catch (SnappydbException e) {

}

SnappyDB你可以无妨的存储和检索对象和数组,它使用Kryo序列化,这比普通的Java序列化要更快。

更多使用方法请查阅Cookbook

安装

SnappyDB为了性能使用本地代码,它可以作为一个 Android Library Project ? ? AAR 使用。

dependencies {

compile 'com.snappydb:snappydb-lib:0.5.2'

compile 'com.esotericsoftware.kryo:kryo:2.24.0'

}

或者

手动方法:

下载JAR文件和其他文件夹

将所有的文件和文件夹放到你Android项目的libs子文件夹下

libs

├───|── snappydb-0.5.2.jar

|── armeabi

│ └── libsnappydb-native.so

├── armeabi-v7a

│ └── libsnappydb-native.so

├── mips

│ └── libsnappydb-native.so

└── x86

└── libsnappydb-native.so

Cookbook

创建默认名字数据库

DB snappydb = DBFactory.open(context);

创建命名数据库

DB snappydb = DBFactory.open(context, "books");

使用生成器模式

DB snappyDB = new SnappyDB.Builder(context)

.directory(Environment.getExternalStorageDirectory().getAbsolutePath()) //optional

.name("books")//optional

.build();

关闭数据库

snappydb.close();

销毁数据库

snappydb.destroy();

插入原始类型

snappyDB.put("quote", "bazinga!");

snappyDB.putShort("myshort", (short)32768);

snappyDB.putInt("max_int", Integer.MAX_VALUE);

snappyDB.putLong("max_long", Long.MAX_VALUE);

snappyDB.putDouble("max_double", Double.MAX_VALUE);

snappyDB.putFloat("myfloat", 10.30f);

snappyDB.putBoolean("myboolean", true);

读取原始类型

String quote = snappyDB.get("quote");

short myshort = snappyDB.getShort("myshort");

int maxInt = snappyDB.getInt("max_int");

long maxLong = snappyDB.getLong("max_long");

double maxDouble = snappyDB.getDouble("max_double");

float myFloat = snappyDB.getFloat("myfloat");

boolean myBoolean = snappyDB.getBoolean("myboolean");

插入序列

AtomicInteger objAtomicInt = new AtomicInteger (42);

snappyDB.put("atomic integer", objAtomicInt);

插入对象

MyPojo pojo = new MyPojo ();

snappyDB.put("my_pojo", pojo);

读取序列

AtomicInteger myObject = snappyDB.get("atomic integer", AtomicInteger.class);

读取对象

MyPojo myObject = snappyDB.getObject("non_serializable", MyPojo.class);

插入数组

Number[] array = {new AtomicInteger (42), new BigDecimal("10E8"), Double.valueOf(Math.PI)};

snappyDB.put("array", array);

读取数组

Number [] numbers = snappyDB.getObjectArray("array", Number.class);

检查Key

boolean isKeyExist = snappyDB.exists("key");

销毁Key

snappyDB.del("key");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值