J'utilise uuid dans mon Java. Je dois donc utiliser cet uuid dans la salle Android pour m'assurer que les entités sont correctement synchronisées. Je suis conscient de Est-il possible d'appliquer la clé primaire sur les champs de texte dans Android et texte comme clé primaire dans Android . Je veux créer quelque chose comme ça
@Entity(tableName = CrewColumns.TABLE_NAME)
@TypeConverters(BigDecimalConverter::class)
@JsonIgnoreProperties(ignoreUnknown = true)
class Crew() {
constructor (uuid: String) : this() {
this.uuid = uuid;
}
/**
* The unique ID of the item.
*/
@PrimaryKey
@ColumnInfo(name = CrewColumns.UUID)
var uuid: String = ""
@ColumnInfo(name = CrewColumns.NAME)
var name: String = ""
}
Sera-ce un problème avec la chambre (DAO, etc.)? Je vous remercie.
Vous devez annoter ce champ avec @NonNull à partir des annotations Android. Pour ce faire, ajoutez cette ligne au gradle de votre application:
compile 'com.Android.support:support-annotations:26.1.0'
Et puis dans le code c'est aussi simple que:
@Entity
public class User {
@PrimaryKey
@NonNull
private String email;
...
}