GreenDao 자습서(2): 기본 응용
9440 단어 Android 승급 실천
2. 응용층 원리 소개
2.1. 컴파일한 후 자동으로 주입된 파일은 어떤 것들이 있습니까
GreenDao가 무엇인지 더 이상 설명할 필요가 없습니다. 관건은 하나의 업무를 시작할 때 일련의 코드를 어떻게 실행하는지 이해하는 것입니다.먼저 컴파일 후 그린다이오가 주입한 자바 파일은 주로 어떤 것들이 있고 기능은 무엇인지 알아야 한다.
2.2. Dao 객체를 가져오는 과정
2.2.1. 코드 예:
DaoSession daoSession = new DaoMaster(new DaoMaster.DevOpenHelper(context, DATA_BASE_NAME).getWritableDb()).newSession();
daoSession.getXxxxBeanDao();
2.2.2. 세그먼트 해석 작성 프로세스
3. 메모 정보
주해의 설명은 공식 문서를 참고하면 됩니다. 매우 상세하고 비교 이론의 내용은 여기서 다시 설명할 필요가 없는 것 같습니다. 아래 링크를 참조하십시오.http://greenrobot.org/greendao/documentation/modelling-entities/
4. 기본 응용 프로그램
주로 예시를 통해 공식api를 참고하는 것을 배울 것이다.http://greenrobot.org/greendao/documentation/javadoc/
4.1. 빈 만들기
아래의 PeopleBean을 참조하세요.java 코드 및 주석
// : Bean, @Entity
@Entity
public class PeopleBean {
@Id
// ,
// : Long, long
private Long id;
@NotNull
private String name;
private int age;
private String province;
private boolean isMale;
@Unique
private String idCard;
// :get、set , , ,rebuild ,
// :toString
@Override
public String toString() {
return "PeopleBean{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", province='" + province + '\'' +
", isMale=" + isMale +
", idCard='" + idCard + '\'' +
'}';
}
}
4.2. Dao 인스턴스 가져오기
전제:rebuild 프로젝트
4.2.1. DaoSession 인스턴스 가져오기
다음 예제 코드에서는 DaoSession 인스턴스를 가져오는 단일 예제 도구 클래스를 보여 줍니다.
public class GreenDaoUtil {
private static DaoSession daoSession;
private final static String DATA_BASE_NAME = "test_01.db";
public synchronized static DaoSession getDaoSession(Context context) {
if (daoSession == null) {
daoSession = new DaoMaster(new DaoMaster.DevOpenHelper(context, DATA_BASE_NAME).getWritableDb()).newSession();
}
return daoSession;
}
}
4.2.2. Dao 인스턴스 가져오기
GreenDaoUtil.getDaoSession(activity).getPeopleBeanDao();
4.2.3. Dao 작업 첨삭 및 수정 사례
복잡한 응용은 일일이 예시하지 않고, 뒤의 시리즈는 점차 구현될 것이다.
GreenDaoUtil.getDaoSession(activity).getPeopleBeanDao().insert(peopleBean);
GreenDaoUtil.getDaoSession(activity).getPeopleBeanDao().deleteByKey(peopleBean.getId());
GreenDaoUtil.getDaoSession(activity).getPeopleBeanDao().update(peopleBean);
//
List peopleBeanList = GreenDaoUtil.getDaoSession(activity).getPeopleBeanDao()
.queryBuilder()
.list();
//
List peopleBeanList = GreenDaoUtil.getDaoSession(activity).getPeopleBeanDao()
.queryBuilder()
.where(PeopleBeanDao.Properties.Age.gt(30), PeopleBeanDao.Properties.IsMale.eq(true))
.list();
주의: 검색 방법이 되돌아오는 List는 원본에서 볼 때, 영원히 null이 아닙니다. null에 대한 판단을 생략하고,foreach에서 직접 사용할 수 있습니다
5. 결어
이 부분은 기본적으로 아무런 구덩이도 없다. 비교적 간단하다. 아니면 관건을 요약하면 다음과 같다.