GreenDao數(shù)據(jù)存儲(chǔ)的使用

  • 什么是GreenDao
    一種orm數(shù)據(jù)存儲(chǔ)交播,封裝自SQLOpenHelper秽褒,減少表語(yǔ)句創(chuàng)建

1聋庵、配置GreenDao插件

1*在主目錄build.gradle配置插件路徑

buildscript {
    repositories {
      jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'
    classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'

2*在工程目錄運(yùn)用插件并添加依賴

apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'

3依賴

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile 'org.greenrobot:greendao:3.2.0'
compile 'org.greenrobot:greendao-generator:3.2.0'

}

4*在工程目錄android下添加greedao實(shí)體類(lèi)轉(zhuǎn)換自動(dòng)生成路徑

android {
compileSdkVersion 24
buildToolsVersion "25.0.0"

defaultConfig {
    applicationId "mobi.xiaowu.greendao"
    minSdkVersion 16
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}
greendao{
    schemaVersion 1//版本
    targetGenDir 'src/main/java'
    daoPackage 'mobi.xiaowu.greendao.dao'
}

2.GreenDao使用

給實(shí)體類(lèi)內(nèi)容必須是基本類(lèi)型饱苟,并且@Entity要聲明在保存的數(shù)據(jù)類(lèi)當(dāng)中

@Id 主鍵關(guān)鍵字,可以設(shè)置autoincrement
@Transient 忽略該字段的關(guān)鍵字

寫(xiě)完注解后重新編譯下即可在配置的目錄下自動(dòng)生成daoMaster编矾、daoSession熟史、daoXXX等實(shí)體類(lèi)

 DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this,"myDao.db");//通過(guò)自動(dòng)生成的Master類(lèi)開(kāi)啟Dao幫助類(lèi)
    DaoMaster master = new DaoMaster(helper.getWritableDatabase());//開(kāi)啟數(shù)據(jù)庫(kù)讀取
    DaoSession daoSession = master.newSession();//使用自動(dòng)生成的Session
    mDao = daoSession.getResultDao();//獲取自動(dòng)生成的dao實(shí)體類(lèi)

mDao.insert(entity);//存儲(chǔ)實(shí)體類(lèi)
Result load = mDao.load(mList.get(position).id);//獲取實(shí)體類(lèi)數(shù)據(jù)

1窄俏、在主目錄build.gradle配置插件路徑

GreenDao注意事項(xiàng)

在使用GreenDao時(shí)3.2.2版本我發(fā)現(xiàn)Greendao一直打印
Didn't find class "net.sqlcipher.database.SQLiteOpenHelper”解決辦法
但是并不影響正常使用蹂匹,如果你保存的數(shù)據(jù)不涉及到安全的話,完全不用理會(huì)凹蜈。
但是對(duì)我這種有強(qiáng)迫癥的人來(lái)說(shuō)限寞,每次調(diào)試都看到打印一堆這種日志我就會(huì)很難受,所以就查閱了一些資料解決了仰坦,下面是解決辦法履植。
打印這些日志其實(shí)是提示我們數(shù)據(jù)庫(kù)沒(méi)有加密,那么悄晃,我們給數(shù)據(jù)庫(kù)加密即可玫霎。

首先引入一個(gè)第三方庫(kù):
https://www.zetetic.net/sqlcipher/sqlcipher-for-android/

implementation 'net.zetetic:android-database-sqlcipher:3.5.7@aar'

greendao如何使用網(wǎng)上有很多資料了。這里我就直接用了

在Application中初始化妈橄,獲取數(shù)據(jù)庫(kù)時(shí)用getEncryptedWritableDb獲取即可,123為密碼庶近,密碼自己隨便設(shè)。

private void initGreenDao() {
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "user.db", null);
        //Database dataBase1 = helper.getWritableDb();
        Database database = helper.getEncryptedWritableDb("123");

        daoSession=new DaoMaster(database).newSession();
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末眷蚓,一起剝皮案震驚了整個(gè)濱河市鼻种,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌溪椎,老刑警劉巖普舆,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恬口,死亡現(xiàn)場(chǎng)離奇詭異校读,居然都是意外死亡沼侣,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)歉秫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蛾洛,“玉大人,你說(shuō)我怎么就攤上這事雁芙≡欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵兔甘,是天一觀的道長(zhǎng)谎碍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)洞焙,這世上最難降的妖魔是什么蟆淀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮澡匪,結(jié)果婚禮上熔任,老公的妹妹穿的比我還像新娘。我一直安慰自己唁情,他們只是感情好疑苔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著甸鸟,像睡著了一般惦费。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抢韭,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天薪贫,我揣著相機(jī)與錄音,去河邊找鬼篮绰。 笑死后雷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吠各。 我是一名探鬼主播臀突,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼贾漏!你這毒婦竟也來(lái)了候学?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤纵散,失蹤者是張志新(化名)和其女友劉穎梳码,沒(méi)想到半個(gè)月后隐圾,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掰茶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年暇藏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片濒蒋。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盐碱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沪伙,到底是詐尸還是另有隱情瓮顽,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布围橡,位于F島的核電站暖混,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏翁授。R本人自食惡果不足惜拣播,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望黔漂。 院中可真熱鬧诫尽,春花似錦、人聲如沸炬守。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)减途。三九已至酣藻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鳍置,已是汗流浹背辽剧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留税产,地道東北人怕轿。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辟拷,于是被迫代替她去往敵國(guó)和親撞羽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一衫冻、SQLite 1诀紊、SQLite介紹 1.1、簡(jiǎn)介 SQLite是一款輕型的數(shù)據(jù)庫(kù)隅俘,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)...
    AndroidMaster閱讀 1,994評(píng)論 0 7
  • 1邻奠、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,981評(píng)論 3 119
  • 要求根據(jù)《圣經(jīng)》《詩(shī)篇》第23篇寫(xiě)一篇任意文體的文字(詩(shī)歌笤喳,散文,小說(shuō)碌宴,戲劇杀狡,演講稿……皆可),不超過(guò)1500字唧喉,...
    逸之閱讀 347評(píng)論 8 16
  • 怎么今天才剛開(kāi)始捣卤,手臂就有酸痛感忍抽? 連續(xù)熬夜八孝,沒(méi)休息好。精神狀態(tài)很差鸠项!天氣太冷干跛,整個(gè)人的肢體動(dòng)作與做事效率都變慢了...
    叫我電燈啊閱讀 272評(píng)論 0 0
  • 培養(yǎng)孩子能力的關(guān)鍵點(diǎn)是嘗試楼入,當(dāng)孩子不愿意嘗試或者他在拖拖拉拉的時(shí)候,或者他很反感根本就不愿意做的時(shí)候牧抽,說(shuō)明孩子的正...
    聽(tīng)雨聆聲閱讀 2,609評(píng)論 2 8