2
CountryのcountryListを渡して、Roomを使用してデータベースに保存します。その保存は、値とOnConflictの複製戦略は動作しません。Insertコマンドのリストを渡す部屋を使用して、Androidの値を複写する
AppDatabase.getAppDatabase(getApplicationContext()).countryDao().insertAllList(countryList);
以下の置き換え戦略に合格していてもリストの値は複製されています。ここで
@Insert(onConflict = OnConflictStrategy.REPLACE)
はCountryDaoある
@Dao
public interface CountryDao {
@Query("SELECT * FROM country")
List<Country> getAllCountries();
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAllList(List<Country> countries);
}
国オブジェクト:
@Entity(tableName = "country")
public class Country {
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@PrimaryKey(autoGenerate = true)
private int id;
private long countryId;
private String countryName;
public long getCountryId() {
return countryId;
}
public void setCountryId(long countryId) {
this.countryId = countryId;
}
public String getCountryName() {
return countryName;
}
public void setCountryName(String countryName) {
this.countryName = countryName;
}
}
なしてみません - 2とのその動作していない、Infactはありリストが、そのそれ以外の場合は、各要素にidを持つことになり、それぞれの国ごとに異なるIDを持っている – nauman
あなたがしなければならない一つの値を格納= 0、別の値を上書きする。 – kkk