android - ActiveAndroid 只保存唯一数据

标签 android activeandroid

我学会了在我的 Android 应用程序中使用 ActiveAndroid,谁能告诉我如何只保存具有唯一 ID 的数据?在我的模型中,我将 id 设置为非主键列。这是我的模型类:

package com.project.echo.contactmanagement.data;

import com.activeandroid.Model;
import com.activeandroid.annotation.Column;
import com.activeandroid.annotation.Table;
import com.activeandroid.query.Select;
import com.google.gson.annotations.Expose;

import java.util.List;


@Table(name="Contacts" , id = "idColumn")
public class Post extends Model {

@Expose
@Column(name = "ProfilePic")
public String profilePic;

@Expose
@Column(name = "id")
public Integer id;

@Expose
@Column(name = "FirstName")
public String firstName;

@Expose
@Column(name = "LastName")
public String lastName;

public Post()
{
    super();
}

public Post(String profilePic, Integer id, String firstName, String lastName)
{
    this.profilePic=profilePic;
    this.id=id;
    this.firstName=firstName;
    this.lastName=lastName;
}

public String getProfilePic() {
    return profilePic;
}


/*public Integer getId() {
    return id;
}*/


public String getFirstName() {
    return firstName;
}


public String getLastName() {
    return lastName;
}

public static List selectAll() {
    return new Select().from(Post.class).execute();
}
}

谢谢你的帮助

最佳答案

您可以通过使 id 列唯一来插入唯一记录。

@Column(name = "id", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE)
private Integer id;

注意:在 ActiveAndroid 中,com.activeandroid.Model 类已经有一个名为 id,因此您可能需要重命名 id 列才能达到目的。

关于android - ActiveAndroid 只保存唯一数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055991/

相关文章:

android - android API eval 26 中未收到通知

android - 我应该像在 sqlite 中一样存储颜色?

android - 使用 activeAndroid 更新多列

android - 当 Active Android 包含在库中时,无法解析 Gradle 中的 Active Android 依赖项

android - Android Automotive 如何检索 obd2 数据?

安卓视频点播和远程控制

Android RecyclerView 错误的childCount

android - 我是否必须创建自己的服务器端才能使用谷歌云消息传递?

java - ActiveAndroid SQLite 异常 'No such table'

具有 Activity android 的 Android 应用程序在启动时关闭