Android studio入门系列 使用GreenDao 仅用两段小代码 轻松搞定数据库
Android 第三方本地数据库,Greendao的快速入门及其应用,8分钟秒懂,非常方便
前言:
GreenDAO是一种Android平台上的ORM(对象关系映射)库,它提供了一个轻量级的方式来处理数据库操作。以下是使用GreenDAO进行Android应用程序开发的一些步骤:
在Android Studio中添加GreenDAO库:在app build.gradle文件中的dependencies块中,添加依赖关系:
定义实体类:创建一个Java类,它将代表数据库中的表。实体类的每个属性都将映射到表中的一个列。
定义DAO类:创建一个DAO(数据访问对象)类,它将用于执行与实体类相关的数据库操作,如插入、更新和查询数据。
配置GreenDAO:在应用程序类中,您需要使用GreenDAO的API来创建数据库和DAO会话。您还可以使用GreenDAO的配置选项来自定义一些数据库设置。
使用DAO进行数据库操作:使用DAO的API来执行数据库操作,如插入、更新和查询数据。GreenDAO的API非常直观,易于使用。
管理数据库版本:如果您需要更改数据库模式,您需要更新数据库版本。使用GreenDAO的API,您可以定义数据模式的变化,并使用升级程序来升级现有数据库。
总体而言,使用GreenDAO可以让您更轻松地处理数据库操作,同时还能提高应用程序的性能。
步骤一:设置以及导包
Android project.-> build.gradle file:
buildscript { repositories { jcenter() mavenCentral() // add repository } dependencies { classpath 'com.android.tools.build:gradle:3.5.3' classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0' // add plugin }}
app modules ->app/build.gradle file:
apply plugin: 'com.android.application'apply plugin: 'org.greenrobot.greendao' // apply plugin dependencies { implementation 'org.greenrobot:greendao:3.3.0' // add library}
混淆配置ProGuard
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {public static java.lang.String TABLENAME;}-keep class **$Properties { *; }# If you DO use SQLCipher:-keep class org.greenrobot.greendao.database.SqlCipherEncryptedHelper { *; }# If you do NOT use SQLCipher:-dontwarn net.sqlcipher.database.**# If you do NOT use RxJava:-dontwarn rx.**
步骤二:代码OBJ
@Entitypublic class User { @Id(autoincrement = true)@Unique private Long id; private String name; private int age; // getters and setters public User() { }}
运行Android Studio ->Bulid ->ReBulid Project
会自动生成UserDao的类
步骤三:新建一个MyApp用来调用
public class MyApp extends Application { private DaoSession daoSession; @Override public void onCreate() { super.onCreate(); DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "user-db"); Database db = helper.getWritableDb(); daoSession = new DaoMaster(db).newSession(); } public DaoSession getDaoSession() { return daoSession; }}
修改AndroidMainfest.xml
步骤四:开始调用
UserDao userDao = ((MyApp) getApplication()).getDaoSession().getUserDao(); // insert a new user User user = new User(); user.setName("John"); user.setAge(30); userDao.insert(user); // get all users Listusers = userDao.loadAll(); for (User u : users) { Log.d("User", u.getName() + ", " + u.getAge()); }