GreenDao3.0简单使用
2017-11-22 19:36
363 查看
GreenDao3.0简单使用
greenDAO 优势
1、一个精简的库2、性能最大化
3、内存开销最小化
4、易于使用的 APIs
5、对 Android 进行高度优化
配置
app中导依赖
apply plugin: 'org.greenrobot.greendao'
compile 'org.greenrobot:greendao:3.2.0'
app Android中
greendao { schemaVersion 1 daoPackage 'com.example.greendao.gen' targetGenDir 'src/main/java' }
工程中
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
User类
@Entity public class User { @Id(autoincrement = true) private Long id; 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 this.id; } public void setId(Long id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } }
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; } 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; } }
Main
public class MainActivity extends AppCompatActivity implements View.OnClickListener { UserDao userDao; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button add= (Button) findViewById(R.id.add); Button select= (Button) findViewById(R.id.select); Button replace= (Button) findViewById(R.id.replace); Button delete= (Button) findViewById(R.id.delete); tv = (TextView) findViewById(R.id.textView); add.setOnClickListener(this); select.setOnClickListener(this); replace.setOnClickListener(this); delete.setOnClickListener(this); userDao =Myapplication.getInstances().getDaoSession().getUserDao(); // userDao.deleteByKey((long) 1); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.add: User user = new User(null,"小白"); userDao.insert(user); Toast.makeText(MainActivity.this,"添加小白成功",Toast.LENGTH_LONG).show(); break; case R.id.select: List<User> users = userDao.loadAll(); String userName = ""; for (int i = 0; i < users.size(); i++) { userName += users.get(i).getName(); } Log.d("数据",userName); tv.setText(userName); break; case R.id.replace: User replaceuser=new User((long) 1,"小黑"); userDao.update(replaceuser); Toast.makeText(MainActivity.this,"替換xiaohei成功",Toast.LENGTH_LONG).show(); break; case R.id.delete: userDao.deleteAll(); Toast.makeText(MainActivity.this,"刪除成功",Toast.LENGTH_LONG).show(); break; } } }
布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.greendao.MainActivity"> <Button android:text="添加" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:id="@+id/add" /> <Button android:text="查询" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/add" android:layout_toEndOf="@+id/add" android:layout_marginLeft="10dp" android:layout_marginStart="10dp" android:id="@+id/select" /> <Button android:text="修改" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/select" android:layout_toEndOf="@+id/select" android:layout_marginLeft="18dp" android:layout_marginStart="18dp" android:id="@+id/replace" /> <Button android:text="删除" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:id="@+id/delete" /> <TextView android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView" android:layout_alignParentBottom="true" android:layout_alignLeft="@+id/select" android:layout_alignStart="@+id/select" android:layout_marginBottom="165dp" />
</RelativeLayout>
注意:配置清单文件
Myapplication
相关文章推荐
- GreenDao3.0的项目搭建及简单使用
- GreenDao3.0简单使用
- GreenDao3.0简单使用
- GreenDao3.0简单使用
- Greendao 简单实现增删改查使用过GreenDao的同学都知道,3.0之前需要通过新建GreenDaoGenerator工程生成Java数据对象(实体)和DAO对象,非常的繁琐而且也加大了使用成
- GreenDao 3.0简单使用
- [置顶] (一)GreenDao3.0的简单使用
- GreenDao3.0简单使用
- GreenDao3.0简单使用
- Android 中GreenDao3.0简单使用
- GreenDao3.0简单使用和升级
- GreenDao3.0在Android Studio中的简单使用
- GreenDao3.0简单使用
- GreenDao3.0简单使用(转)
- GreenDao3.0简单使用
- GreenDao3.0简单使用
- GreenDao3.0简单使用
- Android Studio 简单使用 GreenDao3.0
- GreenDao3.0简单使用
- GreenDao3.0简单使用