第一步:
你需要创建一个java_module如下图所示:
这里写图片描述
第二步:
java_module的gralde需要引用 compile 'de.greenrobot:greendao-generator:2.0.0'
这里写图片描述
第三步:
android项目的gradle需要引用 compile 'de.greenrobot:greendao:2.0.0'
这里写图片描述
第四步
java工程创建main方法
package com.example;
import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema;
public class greendao {
/**
* 文件生成路径
*/
private static String srcDir = "../app/src/main/java/com/example/yukuo/greendaodemo";
public static final int version = 1;
public static void main(String[] args) {
/**
* 第一个参数是数据库的版本
* 第二个参数是数据库文件生成的目录
*/
Schema schema = new Schema(version, "daomodule");
//添加user表
addUser(schema);
try {
//生成文件
new DaoGenerator().generateAll(schema, srcDir);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void addUser(Schema schema) {
//得到一个实体
Entity user = schema.addEntity("User");
//自定义表的名字
user.setTableName("testuser");
//设置字增加id字段
user.addIdProperty();
//增加一个不能为空的名字属性
user.addStringProperty("name").notNull();
user.addStringProperty("phone");
user.addStringProperty("email");
}
}
第五步
运行java工程,自动生成需要的文件
这里写图片描述
第六步:
进行我们的增删改查的操作了
效果图
这里写图片描述
代码:
package com.example.yukuo.greendaodemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import com.example.yukuo.greendaodemo.daomodule.DaoPresenter;
import com.example.yukuo.greendaodemo.daomodule.User;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends AppCompatActivity {
@Bind(R.id.tv_output)
TextView tvOutput;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
}
@OnClick({R.id.bt_add, R.id.bt_delete, R.id.bt_updata, R.id.bt_query})
public void onClick(View view) {
switch (view.getId()) {
case R.id.bt_add:
User user = new User(null, "yukuoyuan", "13852421254", "14545454");
DaoPresenter.getInstance(this).getSession().getUserDao().insert(user);
break;
case R.id.bt_delete:
DaoPresenter.getInstance(this).getSession().getUserDao().deleteByKey(1l);
break;
case R.id.bt_updata:
User user2 = new User(2l, "我说你", "1211212", "14545454");
DaoPresenter.getInstance(this).getSession().getUserDao().update(user2);
break;
case R.id.bt_query:
List<User> lsit = DaoPresenter.getInstance(this).getSession().getUserDao().queryBuilder().list();
tvOutput.setText("");
for (User user3 : lsit) {
tvOutput.append(user3.getName() + "**" + user3.getId() + "**" + user3.getPhone() + "**" + user3.getEmail() + "\n");
}
break;
}
}
}
好了有什么不明白的或者问题,请留言给我吧.我会尽快回复你的亲
网友评论