GreenDao
2017-12-01 16:10 wang_chunqi 阅读(294) 评论(0) 收藏 举报1.
在项目中的build.gradle中添加
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
2.在工程的build.gradle中添加依赖
compile'org.greenrobot:greendao:3.0.1'
compile'org.greenrobot:greendao-generator:3.0.0'
并且在build.gradle的顶部添加
apply plugin: 'org.greenrobot.greendao'
在android {}的最外大括号中加入
greendao {
schemaVersion 1
daoPackage 'com.example.greendao.gen'
targetGenDir 'src/main/java'
}

MyApp类
public class MyApp extends Application {
private static MyApp app;
private DaoSession session;
@Override
public void onCreate() {
super.onCreate();
app=this;
setDb();
}
private void setDb() {
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "USER", null);
SQLiteDatabase database = helper.getReadableDatabase();
DaoMaster master = new DaoMaster(database);
session = master.newSession();
}
public static MyApp getApp(){
return app;
}
public DaoSession getDaose(){
return session;
}
}
在manifest → application 中添加name
<application
android:name=".app.MyApp"
User类
@Entity
public class User {
@Id
public long id;
@Property(nameInDb = "name")
public String name;}
写完这些在User类中按住Ctrl+F9会自动生成GreenDao的三个帮助类

MainActivity类
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private TextView tv;
private Button updata;
private Button delete;
private Button add;
private EditText ed2;
private EditText ed1;
private UserDao userDao;
private String a;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
DaoSession daose = MyApp.getApp().getDaose();
userDao = daose.getUserDao();
}
private void initView() {
ed1 = (EditText) findViewById(R.id.id_tv);
ed2 = (EditText) findViewById(R.id.id_name);
add = (Button) findViewById(R.id.add);
add.setOnClickListener(this);
delete = (Button) findViewById(R.id.delete);
delete.setOnClickListener(this);
updata = (Button) findViewById(R.id.updata);
updata.setOnClickListener(this);
tv = (TextView) findViewById(R.id.tv);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.add:
a = ed1.getText().toString();
String name=ed2.getText().toString();
User user=new User(Long.valueOf(a),name);
userDao.insert(user);
Toast.makeText(MainActivity.this,"添加数据成功",Toast.LENGTH_LONG).show();
break;
case R.id.updata:
User user1 = userDao.load(Long.valueOf(a));
String name1=user1.getName();
tv.setText(name1);
break;
case R.id.delete:
break;
}
}
}
浙公网安备 33010602011771号