1.在app的build.gradle 下配置
buildscript {
/
/需要添加的
repositories {
jcenter()
mavenCentral()
// add repository
}
dependencies {
classpath
'org.greenrobot:greendao-gradle-plugin:3.2.1'
}
}
2.在自己建的Module下 build.gradle 下配置
/
/需要添加的
apply
plugin
:
'org.greenrobot.greendao'
android {
buildToolsVersion
"25.0.3"
greendao {
schemaVersion 1
//数据库版本号
daoPackage
'com.usher.greendao_demo.greendao.gen'
//自动生成的工具类的包名
targetGenDir
'src/main/java'
//路径
}
dependencies {
compile
'com.jakewharton:butterknife:8.6.0'
annotationProcessor
'com.jakewharton:butterknife-compiler:8.6.0'
/*greenDao框架*/
compile
'org.greenrobot:greendao:3.2.0'
}
3.定义实体类
@Entity
@Id
private
Long
id
;
@Property
(nameInDb =
"USERNAME"
)
private
String
username
;
@Property
(nameInDb =
"AGE"
)
private int
age
;
4.
在mainActivity中初始化
ButterKnife.
bind
(
this
);
DaoMaster.DevOpenHelper devOpenHelper =
new
DaoMaster.DevOpenHelper(MainActivity.
this
,
"user.db"
,
null
);
DaoMaster daoMaster =
new
DaoMaster(devOpenHelper.getReadableDb());
DaoSession daoSession = daoMaster.newSession();
userDao
= daoSession.getUserDao();
5.在Build----->Make Module ''--->自动生成代码
代码:
user: import org.greenrobot.greendao.annotation.Entity; import org.greenrobot.greendao.annotation.Id; import org.greenrobot.greendao.annotation.Property; import org.greenrobot.greendao.annotation.Generated; @Entity public class User { @Id private Long id; @Property(nameInDb = "USERNAME") private String username; @Property(nameInDb = "AGE") private int age; @Generated(hash = 1484728154) public User(Long id, String username, int age) { this.id = id; this.username = username; this.age = age; } @Generated(hash = 586692638) public User() { } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", age=" + age + '}'; } public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } public String getUsername() { return this.username; } public void setUsername(String username) { this.username = username; } public int getAge() { return this.age; } public void setAge(int age) { this.age = age; } }
MainActivity: import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Toast; import com.usher.greendao_demo.greendao.gen.DaoMaster; import com.usher.greendao_demo.greendao.gen.DaoSession; import com.usher.greendao_demo.greendao.gen.UserDao; import java.util.List; import butterknife.ButterKnife; import butterknife.OnClick; public class MainActivity extends AppCompatActivity { private UserDao userDao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); //初始化greendao //搞出来一个helper DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(MainActivity.this, "user.db", null); DaoMaster daoMaster = new DaoMaster(devOpenHelper.getReadableDb()); DaoSession daoSession = daoMaster.newSession(); userDao = daoSession.getUserDao(); } @OnClick({R.id.insert, R.id.query}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.insert: insert(); break; case R.id.query: query(); break; } } private void insert() { Toast.makeText(this, "点击了 insert", Toast.LENGTH_SHORT).show(); for (int i = 0; i < 5; i++) { User user = new User(null, "lj" + i, 22); userDao.insert(user); } } private void query() { List<User> userList = userDao.queryBuilder().where(UserDao.Properties.Username.like("%l%")).build().list(); for (User user : userList) { Log.e("MainActivity", "query: "+user.toString()); } } }