zoukankan      html  css  js  c++  java
  • Greendao

    // 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() {
        }
        
    }
  • 相关阅读:
    Memcached的原理分析与配置
    .Net Mvc判断用户是否登陆、未登陆跳回登陆页、三种完美解决方案
    C# ModBus Tcp客户端读取数据 完整Demo
    Log4Net配置
    commons.dbutils1.2介绍及使用
    Java通用分页
    Mysql 通用分页
    JAVA MYSQL做分页
    设置 crossdomain.xml 文件实施 HTTP 流式传输
    flash跨域策略文件crossdomain.xml配置详解
  • 原文地址:https://www.cnblogs.com/shangliang88/p/8124300.html
Copyright © 2011-2022 走看看