2017-05-10 12 views
0

그래서 영역 데이터베이스를 사용하여 android app에서 작업하고 있습니다. 내가 Calendar.getInstance()를 사용하여 할 수있는 현재 날짜를 찾을 수 있지만, 알고 싶은 것은 영역 모델을 사용하여 객체에 대해 다른 주중을 실제로 저장할 수있는 방법입니다.현재 날짜를 쿼리하고이를 포함하고있는 객체를 다시 가져 오는 방법은 무엇입니까?

내 모델은 다음과 같습니다 : 아무튼 영역 이후 반복의 ArrayList를에서

public class Habit extends RealmObject{ 
private static int id=0; 
private String name; 
private Date created; 
private ArrayList<Date> repeat; 
private Date updated; 
private Date reminder; 
private int target; 
private int tracker; 
// getter and setters 
} 
내가 반복 될 일 저장하기 위해 노력하고

(매일 때문에 최대 7 이상, 최소 적어도 1) 캘린더를 수락하지 않습니다.

개체를 만든 다음 해당 데이터를 필드에 채우고 선택한 날짜 수를 기준으로 해당 날짜 개체를 보내야합니다 (예 : 월요일, 화요일, 금요일에 반복). 그런 다음 realm db를 쿼리하여 calendar.getInstance()에 의해 현재 날짜가 포함 된 모든 객체를 다시 가져옵니다. 적어도 이것은 내가 생각하고 있었던 것이다.

그러나 문제는 사용자가 항목을 반복 할 날짜를 결정하기 위해 문자열을 입력하는 것이므로 주간/주말 날짜 항목으로 변환 한 다음 저장하는 방법은 무엇입니까? 내 영역 개체?

어떤 도움이나 제안이라도 도움이 될 것입니다. 또한 여분의 코드가 내가 추가 할 수있는 것을 알려주는데 도움이된다면.

감사합니다.

+0

매우 허풍 이겠지만 신분증은 고정적이어서는 안됩니다. – Submersed

답변

0
private ArrayList<Date> repeat; 

영역은 프리미티브의 목록을 지원하지 않으며, 날짜 원시적 간주됩니다.

Date 매개 변수가있는 클래스 별 개체를 만들어야합니다.

public class Habit extends RealmObject{ 
    private static int id=0; 
    private String name; 
    private Date created; 
    private RealmList<HabitDate> repeat; 
    private Date updated; 
    private Date reminder; 
    private int target; 
    private int tracker; 
    // getter and setters 
} 

public class HabitDate extends RealmObject { 
    private Date date; 

    private Habit habit; // <-- because query across `@LinkingObjects` is 3.3+ 
} 
관련 문제