[英]How to make not easy to guess unique user id?
我可以将用户添加到房间,但用户的号码很容易猜到。 我可以轻松添加不易猜出 ID 号的用户吗?
实体是
@Entity public class EntityUser {
@PrimaryKey(autoGenerate = true)
long userId;
String userName;
}
道是
@Dao
public interface DaoUser {
@Insert
long insert(EntityUser entityUser);
}
数据库是
@Database(entities = {EntityUser.class}, version = 1, exportSchema = false)
public abstract class UserDatabase extends RoomDatabase {
abstract DaoUser daoUser();
}
我用
userDatabase = Room.databaseBuilder(this,UserDatabase.class,"user.sqlite")
.allowMainThreadQueries()
.build();
EntityUser user1 = new EntityUser();
user1.userName = "Pandas";
long user1id = userDatabase.daoUser().insert(user1);
user1.userName = "Ellies";
long user2id = userDatabase.daoUser().insert(user1);
我得到1然后2。
我没有尝试过 autoGenerate 但遇到了唯一约束错误。
您可以简单地使用 UUID。
@Entity public class EntityUser {
@PrimaryKey(autoGenerate = true)
long userId;
String objectId;
String userName;
}
然后当你生成一个对象时,你可以这样做:
EntityUser user1 = new EntityUser();
user1.userName = "Pandas";
user1.objectId = UUID.randomUUID().toString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.