GreenDao

需要在工程(Project)的build.gradle中添加依赖classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
       classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'

        // 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
}
在项目(Module)的build.gradle中添加依赖
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "com.bewei.greendao"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    
greendao {
    schemaVersion 1
    daoPackage 'com.bwie.test.greendao32.gen'
    targetGenDir 'src/main/java'
}

}


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.2.0'
    compile 'com.jakewharton:butterknife:7.0.1'
}
布局文件:
<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   >

    <Button
        android:id="@+id/bt_add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="添加数据"
        />

    <Button
        android:id="@+id/bt_delete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="删除数据"
        />

    <Button
        android:id="@+id/bt_updata"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="更新数据"
        />

    <Button
        android:id="@+id/bt_find"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="查询数据"
        />
</LinearLayout>
//自定义一个MyApp类继承Application,并在清单文件中声明
/**
 * 1. 类的用途  单例设计模式
 */
public class MyApp extends Application {
    private static  MyApp mInstance;
    private DaoSession daoSession;

    @Override
    public void onCreate() {
        super.onCreate();
        mInstance = this;
        setDb();
    }
    public static MyApp getmInstance(){
        return  mInstance;
    }

    private void setDb() {
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "bw.db", null);
        SQLiteDatabase database = helper.getWritableDatabase();
        DaoMaster daoMaster = new DaoMaster(database);
        daoSession = daoMaster.newSession();
    }

    public DaoSession getDaoSessio(){
        return daoSession;
    }
}
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private UserDao userDao;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        DaoSession daoSessio = MyApp.getmInstance().getDaoSessio();
        userDao = daoSessio.getUserDao();
    }

    private void initView() {
        Button bt_add = (Button) findViewById(R.id.bt_add);
        Button bt_delete = (Button) findViewById(R.id.bt_delete);
        Button bt_updata = (Button) findViewById(R.id.bt_updata);
        Button bt_find = (Button) findViewById(R.id.bt_find);
        bt_add.setOnClickListener(this);
        bt_delete.setOnClickListener(this);
        bt_updata.setOnClickListener(this);
        bt_find.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {

        switch (view.getId()) {
            case R.id.bt_add:
                List<User> users = new ArrayList<>();
                User user1 = new User(Long.valueOf(5), "张三");
                User user2 = new User(Long.valueOf(2), "李四");
                User user3 = new User(Long.valueOf(3), "王五");
                User user4 = new User(Long.valueOf(4), "赵六");
                users.add(user1);
                users.add(user2);
                users.add(user3);
                users.add(user4);
                for (int i=0;i<users.size();i++){
                    userDao.insert(users.get(i));
                }
                Toast.makeText(this, "添加数据成功", Toast.LENGTH_SHORT).show();
                break;
            case R.id.bt_delete:
                User useDelete = userDao.load(Long.valueOf(1));
                userDao.delete(useDelete);//删除对象
                Toast.makeText(this, "删除数据成功", Toast.LENGTH_SHORT).show();
                break;
            case R.id.bt_updata:
                User useUpdata = userDao.load(Long.valueOf(1));
                useUpdata.setName("马七");
                userDao.update(useUpdata);//更新对象
                break;
            case R.id.bt_find:
                User useFind = userDao.load(Long.valueOf(1));//查询对象
                String name = useFind.getName();
                Toast.makeText(this, "查询数据成功:name" + name, Toast.LENGTH_SHORT).show();
                List<User> userList = userDao.loadAll();//查询集合
                for (User userinfo : userList ) {
                    String userinfoName = userinfo.getName();
                    Toast.makeText(this, "查询数据成功:userinfoName:" + userinfoName, Toast.LENGTH_SHORT).show();
                }
                break;
        }
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值