shangliang88
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath \'com.android.tools.build:gradle:2.3.1\'
        classpath \'org.greenrobot:greendao-gradle-plugin:3.0.0\'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
apply plugin: \'com.android.application\'
apply plugin: \'org.greenrobot.greendao\'
android {
    compileSdkVersion 26
    buildToolsVersion "27.0.1"

    defaultConfig {
        applicationId "com.bwie.greendaolian"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        greendao {
            schemaVersion 1
            daoPackage \'com.bwie.greendaolian.gen\'
            targetGenDir \'src/main/java\'
        }
    }
    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:26.+\'
    compile \'com.android.support.constraint:constraint-layout:1.0.2\'
    testCompile \'junit:junit:4.12\'
    compile\'org.greenrobot:greendao:3.0.1\'
    compile\'org.greenrobot:greendao-generator:3.0.0\'
    annotationProcessor \'com.jakewharton:butterknife-compiler:8.8.1\'
    compile \'com.jakewharton:butterknife:8.8.1\'
}
package com.bwie.greendaolian;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.bwie.greendaolian.gen.UserDao;
import org.greenrobot.greendao.generator.Entity;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends AppCompatActivity {
    @BindView(R.id.bt)
    Button bt;
    @BindView(R.id.bt2)
    Button bt2;
    @BindView(R.id.bt3)
    Button bt3;
    @BindView(R.id.bt4)
    Button bt4;
    private User mUser;
    private Long id;
    private UserDao mUserDao;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        mUserDao = MyApplication.getInstances().getDaoSession().getUserDao();
    }
    @OnClick({R.id.bt, R.id.bt2, R.id.bt3, R.id.bt4})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.bt:

                mUser = new User(null,"张三");
                mUserDao.insert(mUser);//添加一个
                break;
            case R.id.bt2:
//                List<User> userList = (List<User>) mUserDao.queryBuilder().where(UserDao.Properties.Id.le(20)).build().list();
//                for (User user : userList) {
//                    mUserDao.delete(user);
//                }
                mUserDao.deleteAll();
                break;
            case R.id.bt3:
                mUser = new User((long)2,"anye0803");
                mUserDao.update(mUser);
                break;
            case R.id.bt4:
                List<User> users = mUserDao.loadAll();
                String userName = "";
                for (int i = 0; i < users.size(); i++) {
                    userName += users.get(i).getName()+",";
                }
                Toast.makeText(this,userName, Toast.LENGTH_SHORT).show();
                break;
        }
    }
}
package com.bwie.greendaolian;

import android.app.Application;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

import com.bwie.greendaolian.gen.DaoMaster;
import com.bwie.greendaolian.gen.DaoSession;

public class MyApplication extends Application {
    public static Context context;
    private DaoMaster.DevOpenHelper mHelper;
 private SQLiteDatabase db;
 private DaoMaster mDaoMaster;
 private DaoSession mDaoSession;
 public static MyApplication instances;
 @Override    public void onCreate() {
     super.onCreate();
     instances = this;
     setDatabase();
 }
 public static MyApplication getInstances(){
     return instances;
 }

/**
 * 设置greenDao
 */
private void setDatabase() {
    // 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。
    // 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
    // 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
    // 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
    mHelper = new DaoMaster.DevOpenHelper(this, "notes-db", null);
    db = mHelper.getWritableDatabase();
    // 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。 
    mDaoMaster = new DaoMaster(db); 
    mDaoSession = mDaoMaster.newSession();
}
public DaoSession getDaoSession() {
      return mDaoSession;
}
public SQLiteDatabase getDb() {
      return db;
  }
}
package com.bwie.greendaolian;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Transient;
import org.greenrobot.greendao.annotation.Generated;

/**
 * Created by lenovo on 2017/11/30.
 */
@Entity

public class User {
    @Id(autoincrement =true)
    private Long id;
    private String name;
    @Transient
    private int tempUsageCount; // not persisted
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Long getId() {
        return this.id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    @Generated(hash = 873297011)
    public User(Long id, String name) {
        this.id = id;
        this.name = name;
    }
    @Generated(hash = 586692638)
    public User() {
    }
    
}

 

分类:

技术点:

相关文章: