0

나는 android architecture component에서 신규입니다. 동일한 받침대 구성으로 android-architecture-components/BasicRxJavaSample의 참조로 앱을 빌드하려고합니다. 하지만 다음 오류가 발생합니다.오류 : 엔터티 및 Pojos에 사용할 수있는 공용 생성자가 있어야하며 필드에 대한 설정자를 찾을 수 없습니다.

  • 오류 : (14, 8) 오류 : 엔터티 및 Pojos에 사용 가능한 공용 생성자가 있어야합니다. 빈 생성자 또는 매개 변수가 (이름 및 유형별로) 필드와 일치하는 생성자를 가질 수 있습니다. 다음 생성자를 시도했지만 일치하지 못했습니다. = Department (java.lang.String, java.lang.String) : [id : null, dep : null]
  • 오류 : (16, 20) 오류 : 필드에 대한 설정자를 찾을 수 없습니다.
  • 오류 : (18,20) 오류 : 필드에 대한 설정자를 찾을 수 없습니다.

모든 아키텍처 구성 요소에 "1.0.0-alpha9"버전을 사용하고 있습니다. 나는 현재 "1.0.0-beta1"버전으로도 시도했다.

내가 보았습니다 [필드에 모호한 getter ... 객실 지속 라이브러리 2 링크도 있지만 Google 샘플에 따라 모든 필드에 대해 setter 할 필요가 없습니다.

@Entity(tableName = "tblDepartment") 
public class Department{ 
    @PrimaryKey 
    private String mId; 

    private String mName; 

    @Ignore 
    public Department(String dep) { 
     mId= UUID.randomUUID().toString(); 
     mName= dep; 
    } 
    public Department(String id, String dep) { 
     mId = id; 
     mName=dep; 
    } 

    public String getDepartmentId() { 
     return mId; 
    } 

    public String getDepartmentName() { 
     return mName; 
    } 
} 
+0

귀하의 문제는'Expense'의 클래스입니다. 귀하의 질문은'학부 '수업을 보여줍니다. 잘못된 오류 메시지 또는 잘못된 코드가 있습니다. – CommonsWare

+0

실수로 잘못된 오류 로그가 추가되었습니다. –

답변

0

모델 클래스는 유효한 생성자 이름 물마루가 필요합니다.

그리고 트로프 룸을 저장하는 모든 필드에 대한 getters/setters.

시도 :

@Entity(tableName = "tblDepartment") 
public class Department{ 
@PrimaryKey 
private String mId; 

private String mName; 

@Ignore 
public Department(String mName) { 
    mId= UUID.randomUUID().toString(); 
    this.mName= mName; 
} 
public Department(String id, String name) { 
    this.mId = mId; 
    this.mName=mName; 
} 

public String getId() { 
    return mId; 
} 

public String getName() { 
    return mName; 
} 
public void setId(String mId){ this.mId = mId; } 
public void setName(String mName){ this.mName = mName; } 
} 
+0

[이 google 샘플 확인] (https://github.com/googlesamples/android-architecture-components/blob/master/BasicRxJavaSample/app/src/main/java/com/example/android/observability/persistence/User). 자바). 여기서 public 생성자는 사용되지 않습니다. –

+0

나는이 생성자를 public으로 시도했다. –

+1

문제는 열 이름을 사용하지 않는다는 것이며 POJO는 getters에서 변수의 이름과 동일한 이름을 가지지 않는다는 것입니다. –