日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 数据库 哪个好,目前最好用的安卓数据库,DBFlow使用详解

發布時間:2024/9/27 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 数据库 哪个好,目前最好用的安卓数据库,DBFlow使用详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.在你使用之前,建議你先閱讀一下官方文檔

https://agrosner.gitbooks.io/dbflow/content/

2.步驟如下:

(1)在項目級的gradle中添加

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:2.3.2'

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

}

}

allprojects {

repositories {

jcenter()

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

}

}

(2)在Module級別的gradle中添加

apply plugin: 'com.neenbedankt.android-apt'

def dbflow_version = "4.0.2"

dependencies {

apt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"

compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"

compile "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"

// sql-cipher database encyrption (optional)

compile "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${dbflow_version}"

}

(3)在你的Application的onCreate()方法中初始化

@Override

public void onCreate() {

super.onCreate();

FlowManager.init(new FlowConfig.Builder(this).build());

// FlowManager.init(this);//這句也可以初始化

}

(4)新建AppDatabase類,配置數據庫相關參數

package song.peter.com.custompassword.dbflow;

import com.raizlabs.android.dbflow.annotation.Database;

import com.raizlabs.android.dbflow.annotation.Migration;

import com.raizlabs.android.dbflow.sql.SQLiteType;

import com.raizlabs.android.dbflow.sql.language.SQLite;

import com.raizlabs.android.dbflow.sql.migration.AlterTableMigration;

import com.raizlabs.android.dbflow.sql.migration.BaseMigration;

import com.raizlabs.android.dbflow.structure.database.DatabaseWrapper;

/**

* Created by peter on 2017/5/19.

*/

@Database(name = AppDatabase.NAME, version = AppDatabase.VERSION)

public final class AppDatabase {

//數據庫名稱

public static final String NAME = "AppDatabase";

//數據庫版本號

public static final int VERSION = 1;

}

(5)新建數據庫表

package song.peter.com.custompassword.dbflow;

import com.raizlabs.android.dbflow.annotation.Column;

import com.raizlabs.android.dbflow.annotation.PrimaryKey;

import com.raizlabs.android.dbflow.annotation.Table;

import com.raizlabs.android.dbflow.structure.BaseModel;

import java.util.UUID;

/**

* Created by peter on 2017/5/19.

* 要繼承BaseModel,這個類已經實現了增刪改查的方法

*/

@Table(database = AppDatabase.class)

public class UserData extends BaseModel {

@PrimaryKey(autoincrement = true)//ID自增

public long id;

/**

* 姓名

*/

@Column

public String name;

/**

* 年齡

*/

@Column

public int age;

/**

* 性別

*/

@Column

public boolean sex;

//備注:DBFlow會根據你的類名自動生成一個表明,以此為例:

//這個類對應的表名為:UserData_Table,這是作者在實踐中得出來的

}

(6)具體使用

UserData userData = new UserData();

ModelAdapter adapter = FlowManager.getModelAdapter(UserData.class);

userData.id = 1;//這一行必須加,必須指定id,后面才能根據id修改某一條的數據

userData.name = "張三";

userData.age = 99;

userData.sex = true;

adapter.insert(userData);//插入

adapter.delete(userData);//刪除

adapter.update(userData);//修改

//修改的時候的代碼

UserData userData = new UserData();

userData.id = 1;

userData.name = "9999";

userData.update();//只有繼承了BaseModel才能用這個方法,否則調用這個方法adapter.update(userData);

//再來點福利,update高級用法,增刪改查都是同理,就不一一列舉了

SQLite.update(UserData.class).set(UserData_Table.name.eq("888")).where(UserData_Table.id.eq(1)).execute();

//UserData_Table就是DBFlow自動生成的表明,在(5)的備注中已經提到了

//查詢

List list = SQLite.select().from(UserData.class).queryList();

(7)數據庫增加字段

7.1 修改數據庫的版本號

public static final int VERSION = 2;

7.2 修改數據庫表結構

@Column

public String content;//增加的字段

7.3 這個時候,需要Make Project一下,Mac版的可以直接commond+F9 ,或者直接點那個按鈕

7.4 在AppDatabase這個數據庫配置類中,添加方法如下:

/**

* 數據庫的修改:

* 1、PatientSession 表結構的變化

* 2、增加表字段,考慮到版本兼容性,老版本不建議刪除字段

*/

@Migration(version = VERSION, database = AppDatabase.class)

public static class Migration2UserData extends AlterTableMigration {

public Migration2UserData(Class table) {

super(table);

}

@Override

public void onPreMigrate() {

addColumn(SQLiteType.TEXT, "content");

}

}

(8)到此,關于DBFlow相關的介紹也就結束了,具體關于內連,外聯,左聯接,右聯接,外鍵,一對多等等,可以查閱官方文檔。

https://agrosner.gitbooks.io/dbflow/content/

總結

以上是生活随笔為你收集整理的Android 数据库 哪个好,目前最好用的安卓数据库,DBFlow使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。