私は私のAndroidアプリにシュガーORMを使用して、私はエンティティ間の関係を作る方法を知っていただきたいと思います。私がしたい事は(仕事、個人、家庭を)より電子メールや電話番号を持つことである作るどのように2つのエンティティ間の関係 - シュガーORM
私はこれを試してみました:
私はこのようにそれを追加することができます。..
Contact contact = new Contact();
ContactItem contactItem = new ContactItem();
contactItem.setType(1);
contact.getItems.add(contactItem);
が、私がロードしたいとき、私はエラーがあります。 クラスはSqlite3データベースから読み取ることができません。
問い合わせ
public class Contact extends SugarRecord {
private String name;
private String phoneNumber;
private String email;
private boolean favourite;
private String imagePath;
@Ignore private boolean visibleFirstLetter;
public List<ContactItem> items;
public Contact() {
//empty constructor
}
public Contact(String name, String number, String email, boolean favourite, String imagePath) {
this.name = name;
this.phoneNumber = number;
this.email = email;
this.favourite = favourite;
this.imagePath = imagePath;
this.items = new ArrayList<>();
}
public void setName(String name) {this.name = name; }
public void setEmail(String email) {
this.email = email;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public void setFavourite(Boolean favourite) {
this.favourite = favourite;
}
public void setVisibleFirstLetter(Boolean visibleFirstLetter) {
this.visibleFirstLetter = visibleFirstLetter;
}
public String getName() {
return name;
}
public String getEmail() { return email; }
public String getPhoneNumber() {
return phoneNumber;
}
public boolean isFavourite() { return favourite; }
public boolean isVisibleFirstLetter() {
return visibleFirstLetter;
}
public String getImagePath() { return imagePath; }
public void setImagePath(String imagePath) { this.imagePath = imagePath; }
public List<ContactItem> getItems() {
return items;
}
}
アイテム一般
public class ContactItem {
String content;
Integer type;
Contact contact;
public static final Integer HOME = 0;
public static final Integer WORK = 1;
public static final Integer EMAIL = 2;
public static final Integer FAX = 3;
public ContactItem() {
//empty constructor
}
public ContactItem(Integer type, String content) {
this.type = type;
this.content = content;
}
public void setType(Integer type) {
this.type = type;
}
public void setContent(String content) {
this.content = content;
}
public String getContent() { return content; }
public Integer getType() { return type; }
public Contact getContact() { return contact; }
public void setContact(Contact contact) { this.contact = contact; }
}
'連絡先'には 'id'のようなフィールドはありません。これを試みました: 'Contact contact = SugarRecord.findById(Contact.class、1);'レコードインデックスはインデックス1から始まります。 – vanloc
私はそれを試しましたが、それも動作していません。 java.lang.NullPointerException - ヌルオブジェクト参照の "com.seznam_kontaktu.seznamkontaktu.Model.Contact.getName() ' – Stepan
私の質問が更新されました。これをチェックしてください。 – vanloc