GreenDao

来源:互联网 发布:搜狐动态ip软件 编辑:程序博客网 时间:2024/06/01 13:12

建立三个包 建立自己的gen

==============导入依赖和网络权限==============

compile'org.greenrobot:greendao:3.0.1'compile'org.greenrobot:greendao-generator:3.0.0'
<uses-permission android:name="android.permission.INTERNET"/>

// 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}
greendao {    schemaVersion 1    daoPackage 'dao.bwei.com.greendaostudy.gen'//*改成自己的包名    targetGenDir 'src/main/java'}
apply plugin: 'com.android.application'apply plugin: 'org.greenrobot.greendao'

=============================MyAPP==============================

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;    }}
=============================Bean==============================

@Entitypublic class User {    @Id    private Long id;    @Property(nameInDb = "name")    private String name;    @Generated(hash = 873297011)    public User(Long id, String name) {        this.id = id;        this.name = name;    }    @Generated(hash = 586692638)    public User() {    }    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}

========================点击Build MakeProject================

=========================MainActivity================================

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), "SKII");                User user5 = new User(Long.valueOf(1), "雅顿");                users.add(user1);                users.add(user2);                users.add(user3);                users.add(user4);                users.add(user5);                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;        }    }}