1. 程式人生 > >Android greendao 的基本使用

Android greendao 的基本使用

1.新增依賴

 在bulid.gradle檔案下的dependencies下新增所需依賴

compile 'org.greenrobot:greendao:3.2.2' // add library
compile 'org.greenrobot:greendao-generator:3.2.2'

2.在bulid.gradle下進行配置

apply plugin: 'org.greenrobot.greendao'
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
    }
}

3.對greendao的generator生成檔案進行配置

greendao {
    schemaVersion 1  //版本
    daoPackage '生成檔案包名' // 一般為app包名+生成檔案的資料夾名
    targetGenDir 'src/main/java' //生成檔案路徑
}

4.建立實體類,生成dao檔案

@Entity
public class dayStep {
    @Id
    private long id;
    private String date;
    private int step;  
    private Long sportId;
}

具體的欄位根據不同的需要進行修改

接下來就進行編譯 得到三個greendao自動生成的類 

在application中進行呼叫就好,話不多說 直接上程式碼

public class MyApplication extends Application{
    private final static String DB_NAME = "test.db";
    private static DaoSession daoSession;

    @Override
    public void onCreate() {
        super.onCreate();
        initGreenDao();
    }

    private void initGreenDao() {
        //1、獲取DevOpenHelper 物件 2、獲取資料庫物件 構建DaoMaster物件 3、構建DaoSession 物件
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, DB_NAME);
        SQLiteDatabase database = helper.getWritableDatabase();
        DaoMaster daoMaster = new DaoMaster(database);
        daoSession = daoMaster.newSession();
    }

    public static DaoSession getDaoSession() {
        return daoSession;
    }
}

接下來就直接進行呼叫就好 

public class MainActivity extends AppCompatActivity {

    private UserDao userDao;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        test();
        testSearch();
    }

    private void init() {
        DaoSession daoSession = MyApplication.getDaoSession();
        userDao = daoSession.getUserDao();
    }

    private void testSearch() {
        List<User> users = userDao.loadAll();
        for (int i = 0; i < users.size(); i++) {
            User user = users.get(i);
            Log.e("myMessage"," name = "+user.getName());
        }
    }

    private void test() {


        User user = new User();
        user.setName("yangruixiang");
        user.setId(01l);
        userDao.insert(user);
    }
}

(部分為複製其他部落格,並進行了一些修改)

地址如下