配置GreenDao请参考
http://blog.youkuaiyun.com/Hi_AndG/article/details/54695725
User类
@Id private Long id; @Property(nameInDb = "USERNAME") private String username; @Property(nameInDb = "NICKNAME") private String nickname;
布局只有四个点击事件,就不粘了
public class MainActivity extends AppCompatActivity { UserDao userDao; Button btn,btn_up,btn_del,btn_add; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.mbutton); btn_up = (Button) findViewById(R.id.btn_up); btn_del = (Button) findViewById(R.id.btn_del); btn_add = (Button) findViewById(R.id.btn_add); //初始化管理的包(后面new的OpenHelper包) DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(getApplicationContext(), "lenve.db", null); DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDb()); DaoSession daoSession = daoMaster.newSession(); //UserDao接受 userDao = daoSession.getUserDao(); //添加 btn_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //new一个对象整个添加进去,insert方法 User user = new User(null, "二狗子","80"); userDao.insert(user); } }); //查询 btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //首先是要查出来全部,这里有很多方法,比如limit,或者between,大家可以看文档 List<User> list = userDao.queryBuilder() .build().list(); //之后就是遍历查询出来的集合 for (int i = 0; i < list.size(); i++) { Log.d("google_lenve","id========="+list.get(i).getId()+ "name===== " + list.get(i).getUsername()+"age===="+list.get(i).getNickname()); } } }); //修改 btn_up.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //修改也是一样,这里where后面加了个条件,eq的意思是等于。.list()的意思是查询出一个集合,也可以换成unique, // 意思是查询出一条,当然就不能用集合区接收了 List<User> user2 = (List<User>) userDao.queryBuilder() .where(UserDao.Properties.Username.eq("二狗子")).build().list(); //查询出后如果集合user2是空,证明你要修改的那个不存在, if (user2 == null) { Toast.makeText(MainActivity.this, "用户不存在!", Toast.LENGTH_SHORT).show(); }else{ // user2.setUsername("儿子"); // userDao.update(user2); //查询出后遍历集合,一条一条的修改。 for (int i = 0; i < user2.size(); i++) { //Log.d("google_lenve","id========="+list.get(i).getId()+ "name===== " + list.get(i).getUsername()+"age===="+list.get(i).getNickname()); user2.get(i).setUsername("将定燃"); userDao.update(user2.get(i)); } } } }); //删除 btn_del.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //删除也是同理,首先查询出你要删除的数据,之后是遍历集合,然后一条一条的删除 List<User> userList = (List<User>) userDao.queryBuilder().where(UserDao.Properties.Username.eq("将定燃")).build().list(); for (User user : userList) { userDao.delete(user); } } }); } }