简单实现GreenDao
来源:互联网 发布:mysql如何查看表 编辑:程序博客网 时间:2024/05/19 23:17
在工程里的build中添加:
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
在model里的build中添加:
apply plugin: 'org.greenrobot.greendao'android里添加: greendao { schemaVersion 1 daoPackage 'com.koma.greendao.gen' targetGenDir 'src/main/java' } 最后添加依赖: compile 'org.greenrobot:greendao:3.2.0'
添加User类:
@Entitypublic class User { //一直可添加 @Id(autoincrement = true) private Long id; private String name; @Transient private int tempUsageCount; // not persisted @Generated(hash = 873297011) public User(Long id, String name) { this.id = id; this.name = name; } @Generated(hash = 586692638) public User() { } public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; }}编译项目,User实体类会自动编译,生成get、set方法并且会在com.anye.greendao.gen目录下生成三个文件:DaoMaster,DaoSesion,UserDao.
创建MyApplication类
public class MyApplication extends Application{ 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; }
MainActivity页面
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button mAdd,mDelete,mUpdate,mFind; private TextView mContext; private User mUser; private UserDao mUserDao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = (TextView) findViewById(R.id.mContext); mAdd = (Button) findViewById(R.id.button); mDelete = (Button) findViewById(R.id.button2); mUpdate = (Button) findViewById(R.id.button3); mFind = (Button) findViewById(R.id.button4); mAdd.setOnClickListener(this); mDelete.setOnClickListener(this); mUpdate.setOnClickListener(this); mFind.setOnClickListener(this); mUserDao = MyApplication.getInstances().getDaoSession().getUserDao(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button: addDate(); break; case R.id.button2: deleteDate(); break; case R.id.button3: updateDate(); break; case R.id.button4: findDate(); break; } } /** * 增加数据 */ private void addDate() { mUser = new User(null,"anye3"); mUserDao.insert(mUser);//添加一个 mContext.setText(mUser.getName()); } /** * 删除数据 */ private void deleteDate() { mUserDao.deleteAll(); } /** * 更改数据 */ private void updateDate() { //(long)1查找第一条数据 mUser = new User((long)1,"anye0803"); mUserDao.update(mUser); mContext.setText(mUser.getName()); } /** * 查找数据 */ private void findDate() { List<User> users = mUserDao.loadAll(); String userName = ""; for (int i = 0; i < users.size(); i++) { userName += users.get(i).getName()+","; } mContext.setText("查询全部数据==>"+userName); }}最后忘了在Application中添加 :android:name=".MyApplication"
main布局
<TextView android:id="@+id/mContext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="50dp" android:text="添加" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="50dp" android:text="删除" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="50dp" android:text="修改" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="50dp" android:text="查找" />
阅读全文
0 0
- 简单实现GreenDao
- greenDAO学习心得,实现简单的CRUD
- Provider,ORMLite,GreenDao的实现,并且简单性能对比
- greenDAO简单使用经验
- GreenDAO的简单使用
- greenDAO简单使用经验
- greenDao简单使用
- Greendao简单使用
- GreenDao数据库简单使用
- GreenDao使用简单封装
- greenDAO 简单使用配置
- GreenDAO的简单使用
- GreenDao简单配置使用
- 简单学习greenDAO
- GreenDao 3.0简单使用
- GreenDao的简单实用
- GreenDao的简单使用
- greendao的简单使用
- React学习笔记_tree
- windows+R的快捷键
- Kotlin开发环境搭建
- WinDbg学习笔记九
- 升级 CentOS 内核至 4.9
- 简单实现GreenDao
- C语言读取csv文件
- Activity和Service 使用Binder进行通信
- Vue之父子兄弟组件间通信
- 递归和非递归分别实现strlen
- java 怎么在控制台就可以监听键盘的输入(不用敲回车),比如连续输入三个a,系统提示停止输入
- easyui中打开新的面板跨域加载页面(没什么卵用这个)
- 使用LayUI操作数据表格
- Makefile中:=与=区别