ich benutze android zimmer statt sqllite. In meiner Anwendung Datenbank Spalte haben mehrere Datensätze. Zum Beispiel ist mein Spaltenname Land. Die Werte sindwie distinct in android zimmer zu verwenden
- Indien
- Deutschland
- Katar
- Deutschland
- Irland
- Saudi
- Amerika
- Deutschland
- Afrika
- Katar
- Deutschland
Ich möchte das Ergebnis ist
- Indien
- Deutschland
- Katar
- Irland
- Saudi
- Amerika
- Afrika
Die Katar und Deutschland Cames mehr als mal. Ich möchte einen einzelnen Artikel sortieren. Ich habe SELECT DISTINCT name from country
verwendet. Aber es zeigt Fehler. Mein Code ist unten abgebildet.
CountryDao.java
@Dao
public interface CountryDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
void addCountry(Country country);
@Query("SELECT DISTINCT name from country")
public List<Country> getCountry();
}
Country.java
@Entity
public class Section {
@PrimaryKey(autoGenerate = true)
private int id;
private String name;
public Section(int id, String name){
this.setId(id);
this.setName(name);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Es ist zeigt der Fehler Die Spalten von der Abfrage zurück nicht über die Felder [id] in com .android.db.Country, obwohl sie als nicht null oder primitiv kommentiert sind. Spalten von der Abfrage zurückgegeben: [name]
AppDatabase.java
@Database(entities = {Country.class}, version = 5, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase{
private static AppDatabase INSTANCE;
public abstract ClassDao classDao();
public abstract SessionDao sessionDao();
public abstract SectionDao sectionDao();
public static AppDatabase getDatabase(Context context) {
if (INSTANCE == null) {
INSTANCE =
Room.databaseBuilder(context, AppDatabase.class, "edumiadatabase").fallbackToDestructiveMigration()
.build();
}
return INSTANCE;
}
public static void destroyInstance() {
INSTANCE = null;
}
}
In meiner Tätigkeit Abrufen von Daten durch diesen Code hinzufügen. `` Liste co = database.countryDao(). GetCountry();
@CommonsWare Ich habe meinen Code bearbeitet. Bitte überprüfen. –
@pskink Ich habe meinen Code bearbeitet. Bitte überprüfen. –
Sie haben keinen Code für Ihre 'Country' Klasse. Sie haben Code für eine 'Section'-Klasse. – CommonsWare