如何使用Room Persistence Library删除特定表上的所有条目?我需要删除表,但我无法找到任何信息如何执行此操作.
仅在数据库迁移或加载所有条目并删除它们时:)
我在尝试编译项目时遇到此错误:
错误:任务':app:compileDebugJavaWithJavac'的执行失败.java.lang.IllegalArgumentException:int不能转换为Element
这个警告:
警告:注释处理器'android.arch.persistence.room.RoomProcessor'支持的源版本'RELEASE_7'小于-source'1.8'
这些是我的数据库相关类:
@Entity(tableName = "users")
public class SerializedUser {
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "first_name")
private String firstName;
@ColumnInfo(name = "last_name")
private String lastName;
@ColumnInfo(name = "username")
private String username;
public SerializedUser(int id, String firstName, String lastName, String username) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.username = username;
}
public int getId() {
return id;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
} …Run Code Online (Sandbox Code Playgroud) 我做了一些简单的项目进行测试,但删除时遇到了一些问题。这是行不通的。我可以正常添加联系人,但是当我尝试删除它时,没有任何反应,也没有任何错误。这是我的代码:
实体
@Entity
public class Contact {
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "contact_name")
private String contactName;
@ColumnInfo(name = "contact_number")
private String contactNumber;
@ColumnInfo(name = "contact_image")
@Nullable
private String contactImage;
...
Run Code Online (Sandbox Code Playgroud)
我的道:
@Dao
public interface ContactDao {
@Query("SELECT * FROM Contact")
LiveData<List<Contact>> getContacts();
@Query("SELECT * FROM Contact WHERE id = :contact_id")
Contact getContactById(int contact_id);
@Insert
void addContact(Contact contact);
@Delete
void deleteContact(Contact contact);
}
ViewModel:
public class ContactViewModel extends AndroidViewModel {
private LiveData<List<Contact>> contacts;
private ContactsDatabase contactsDatabase;
public ContactViewModel(@NonNull …Run Code Online (Sandbox Code Playgroud) android ×3
android-room ×3
android-architecture-components ×1
database ×1
java ×1
sql-delete ×1