欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

不閱讀源碼之--GreenDao使用

好久沒(méi)來(lái)了,因?yàn)槠綍r(shí)都記在云筆記里,偶然想起51自己早期有寫(xiě)博客,不忘初心,今天來(lái)這留一篇吧,最近項(xiàng)目需要寫(xiě)數(shù)據(jù)庫(kù),所以這邊對(duì)greendao做一些記錄,也加深學(xué)習(xí)。

創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為永昌企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,永昌網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

  • 配置android studio 和導(dǎo)入green到庫(kù)

    • project的gradle

repositories {
    jcenter()
    mavenCentral() // add repository
}
dependencies {
    classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin

}
    • module的gradle

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

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    greendao {
        schemaVersion 1
        targetGenDir 'src/main/java'
    }
    defaultConfig {
        applicationId "com.example.mygreendao"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

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

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    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:25.2.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'org.greenrobot:greendao:3.2.2' // add library

}            

吐槽一下,51cto的博客是真的踏馬不人性化,直接這寫(xiě)了。
建立一個(gè)bean,這寫(xiě)為UUser,寫(xiě)完rebuild gradle ,會(huì)自動(dòng)生成DaoMaster,Daosession,UUserDao(你實(shí)體
對(duì)應(yīng)的Dao)
@Entity
public class UUser {
    String name;
    int age;
    @Id
    private Long id;//默認(rèn)自增長(zhǎng),修改數(shù)據(jù)需要這個(gè)key,不然報(bào)錯(cuò)

    @Generated(hash = 1431141183)
    public UUser(String name, int age, Long id) {
        this.name = name;
        this.age = age;
        this.id = id;
    }

    @Generated(hash = 751422734)
    public UUser() {
    }
    set,get方法忽略   
}
建立一個(gè)DBManager
public class DBManager {


    private final static String dbName = "test_db";
    private static DBManager mInstance;
    private DaoMaster.DevOpenHelper openHelper;
    private Context context;

    public DBManager(Context context) {
        this.context = context;
        openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
    }

    /**
     * 獲取單例引用
     *
     * @param context
     * @return
     */
    public static DBManager getInstance(Context context) {
        if (mInstance == null) {
            synchronized (DBManager.class) {
                if (mInstance == null) {
                    mInstance = new DBManager(context);
                }
            }
        }
        return mInstance;
    }

    /**
     * 獲取可讀數(shù)據(jù)庫(kù)
     */
    private SQLiteDatabase getReadableDatabase() {
        if (openHelper == null) {
            openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
        }
        SQLiteDatabase db = openHelper.getReadableDatabase();
        return db;
    }

    /**
     * 獲取可寫(xiě)數(shù)據(jù)庫(kù)
     */
    private SQLiteDatabase getWritableDatabase() {
        if (openHelper == null) {
            openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
        }
        SQLiteDatabase db = openHelper.getWritableDatabase();
        return db;
    }

    private DaoSession geWriteDaoSession() {
        DaoMaster daoMaster = new DaoMaster(getWritableDatabase());
        DaoSession daoSession = daoMaster.newSession();
        return daoSession;
    }

    private DaoSession geReadDaoSession() {
        DaoMaster daoMaster = new DaoMaster(getReadableDatabase());
        DaoSession daoSession = daoMaster.newSession();
        return daoSession;
    }

    /**
     * UUser
     * 插入一條記錄
     *
     * @param user
     */
    public void insertUser(UUser user) {
        UUserDao userDao = geWriteDaoSession().getUUserDao();
        userDao.insert(user);
    }

    /**
     * UUser
     * 刪除一條記錄
     *
     * @param user
     */
    public void deleteUser(UUser user) {
        UUserDao userDao = geWriteDaoSession().getUUserDao();
        userDao.delete(user);
    }

    /**
     * UUser
     * 更改一條記錄
     *
     * @param user
     */
    public void updateUser(UUser user) {
        UUserDao userDao = geWriteDaoSession().getUUserDao();
        userDao.update(user);
    }

    /**
     * 查詢用戶列表
     */
    public List<UUser> queryUserList() {
        UUserDao userDao = geReadDaoSession().getUUserDao();
        QueryBuilder<UUser> qb = userDao.queryBuilder();
        List<UUser> list = qb.list();
        return list;
    }
}
好懶啊,哎。

文章名稱(chēng):不閱讀源碼之--GreenDao使用
分享地址:http://www.chinadenli.net/article4/igpeie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)域名注冊(cè)網(wǎng)站設(shè)計(jì)公司用戶體驗(yàn)小程序開(kāi)發(fā)電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)