github數據庫,android開源數據庫,Android Hawk數據庫 github開源項目

 2023-12-01 阅读 24 评论 0

摘要:Android Hawk數據庫 github開源項目Hawk 是一個很便捷的數據庫 ?. 操作數據庫僅僅需一行代碼 , 能存不論什么數據類型 .github數據庫,github 地址:?https://github.com/orhanobut/hawkHawk 是一個簡單的??key-value ?數據庫它使用:數據庫可視化開發工具?AES 加密能選擇使用S

Android Hawk數據庫 github開源項目

Hawk 是一個很便捷的數據庫 ?. 操作數據庫僅僅需一行代碼 , 能存不論什么數據類型 .

github數據庫,github 地址:?https://github.com/orhanobut/hawk

Hawk 是一個簡單的??key-value ?數據庫

它使用:

數據庫可視化開發工具?AES 加密

能選擇使用SharedPreferences ?或者 ?SQLite

Gson解析 ? ? (文章下方的Simple中有替換fastJson的版本號)

github發布開源項目?提供:

安全數據持久化

能存儲不論什么類型

javagithub開源項目。先看看樣例 ?符合項目的須要之后往下看

存儲樣例:

Hawk.put("key", "something"); // Save string

Android 數據庫,Hawk.put("key", true); // save boolean

Hawk.put("key", new Foo()); // save an object

Hawk.put("key", List); // save list

數據庫可視化編程?Hawk.put("key", List); // save list

Hawk.put("key", Map); // save map

Hawk.put("key", Set); // save set

Hawk.put("key", 1234); // save numbers

獲取的樣例:

String value = Hawk.get(key);

int value = Hawk.get(key);

Foo value = Hawk.get(key);

boolean value = Hawk.get(key);

List value = Hawk.get(key);

List value = Hawk.get(key);

Map value = Hawk.get(key);

Set value = Hawk.get(key);

(一) 加入進項目

android studio 在gradle中進行配置

repositories {

// ...

maven { url "https://jitpack.io" }

}

dependencies {

compile 'com.github.orhanobut:hawk:1.21'

}

eclipse 用戶請下載后導入項目

能夠參考下方的Simple

(二) 初始化Hawk

初始化僅僅須要一次即可了 ?放在你最開始運行的activity里面 或者 application

Hawk.init(this)

.setEncryptionMethod(HawkBuilder.EncryptionMethod.MEDIUM)

.setStorage(HawkBuilder.newSqliteStorage(this))

.setLogLevel(LogLevel.FULL)

.build();

能使用高安全級別 ?初始化可能須要 36-400ms 而且須要你提供password

Hawk.init(this)

.setEncryptionMethod(HawkBuilder.EncryptionMethod.HIGHEST)

.setStorage(HawkBuilder.newSqliteStorage(this))

.setLogLevel(LogLevel.FULL)

.build();

初始化能夠選擇 SQLite 或者 SharePreference

.setStorage(HawkBuilder.newSqliteStorage(this))

or.setStorage(HawkBuilder.newSharedPrefStorage(this))

(三) 存數據

Hawk.put(key, T); // Returns the result as boolean

您還能夠通過使用鏈功能存儲多個項目。

記得在最后使用commit()。

// Returns the result as boolean

Hawk.chain()

.put(KEY_LIST, List)

.put(KEY_ANOTHER,"test")

.commit();

(四) 取數據

T result = Hawk.get(key);

or

當為null的時候設置 默認值

T result = Hawk.get(key, T);

(五) 移除數據

Hawk.remove(key); // Returns the result as boolean

or

同一時候移除多個

Hawk.remove(KEY_LIST, KEY_NAME); // Returns the result as boolean

(六) 推斷是否包括某個key

boolean contains = Hawk.contains(key);

(七) 設置password

Hawk.init(this)

.setEncryptionMethod(HawkBuilder.EncryptionMethod.HIGHEST)

.setPassword("password")

.setStorage(HawkBuilder.newSqliteStorage(this))

.setLogLevel(LogLevel.FULL)

.setCallback(new HawkBuilder.Callback() {

@Override

public void onSuccess() {

}

@Override

public void onFail(Exception e) {

}

})

.build();

(八) 注意事項

Hawk log 輸出:

Hawk.init(context,PASSWORD, LogLevel.FULL); // as default it is NONE

Hawk 支持 ?buildRx ?近期很火的RxJava

假設使用也請導入 ?假設不須要Rx的功能 移除掉對應源代碼不會有影響

混淆:

#Gson

-keep class com.google.gson.** { *; }

-keepattributes Signature

(最后) 遇到的問題

Hawk ?使用Json 進行數據的存儲

使用的是google提供的Gson庫 ?, ?但我的項目里已經有了FastJson

為了控制包的大小所以將Gson的解析替換為 FastJson ? 使用的eclipse編寫的供大家參考

github 地址:?https://github.com/orhanobut/hawk

eclipse Demo

下載地址:http://download.csdn.net/detail/aaawqqq/9367130

Demo中 ?使用的eclipse 改動項目 ?,

Demo中有4個部分:

hawk_main、

hawk_gson-lib ?、 ?//gson包作為解析方式 ?去掉rx功能

hawk_fastJson-lib ?、 //fastJson?包作為解析方式 ?去掉rx功能

hawk_lib//gson包作為解析方式 ?有rx功能 ?但須要自行加入rx包

----------

當中 hawk_main 是主Demo

其他3個都是lib庫 ?選擇當中一個即可

lib對解析方式做了改動 分為gson和fastjson版本號

hawk_lib 是源代碼 ?須要加入rx ?才干使用rx功能

轉載請注明http://blog.csdn.net/aaawqqq/article/details/50352309

// ┏┓   ┏┓

//┏┛┻━━━┛┻┓

//┃       ┃

//┃   ━   ┃

//┃ ┳┛ ┗┳ ┃

//┃       ┃

//┃   ┻   ┃

//┃       ┃

//┗━┓   ┏━┛

// ┃   ┃ 神獸保佑

// ┃   ┃ 代碼無BUG。

// ┃   ┗━━━┓

// ┃       ┣┓

// ┃       ┏┛

// ┗┓┓┏━┳┓┏┛

// ┃┫┫ ┃┫┫

// ┗┻┛ ┗┻┛

希望對大家實用

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/186972.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息