Я давно использую greenDAO в своем приложении без проблем! Но после перехода моего проекта на использование androidX я получил исключение ( org.greenrobot.greendao.DaoException ), как показано ниже.
Non-fatal Exception: org.greenrobot.greendao.DaoException: app.myapp.models.database.LocationDao@9eff3d3 (LOCATION) does not have a single-column primary key
at org.greenrobot.greendao.AbstractDao.assertSinglePk(AbstractDao.java:917)
at org.greenrobot.greendao.AbstractDao.load(AbstractDao.java:135)
at app.myapp.views.activities.LocationDetailActivity.putLocationDetails(LocationDetailActivity.java:707)
at app.myapp.views.activities.-$$Lambda$ZJfQ3ya-jyJgM_oHuJ1u29_DoCw.run(-.java)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5845)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)
Я много искал в Google для решения этой проблемы, но я не нашел ответа, помогающего мне. А это коды моей модели:
public class Location {
@Id (autoincrement = true)
@SerializedName("LocationID")
private long locationID;
@SerializedName("LocationCategoryID")
private long locationCategoryID;
@SerializedName("LocationTitleFA")
private String locationTitleFA;
@SerializedName("LocationTitleEN")
private String locationTitleEN;
@SerializedName("PictureAddress")
private String pictureAddress;
@Generated(hash = 591434765)
public Location(long locationID, long locationCategoryID,
String locationTitleFA, String locationTitleEN, String pictureAddress) {
this.locationID = locationID;
this.locationCategoryID = locationCategoryID;
this.locationTitleFA = locationTitleFA;
this.locationTitleEN = locationTitleEN;
this.pictureAddress = pictureAddress;
}
@Generated(hash = 375979639)
public Location() {
}}
и сеттер и геттер ...
Может ли кто-нибудь мне помочь?!