[英]How to make not easy to guess unique user id?
I able to add users to room but users have number that is easy to guess.我可以将用户添加到房间,但用户的号码很容易猜到。 Can I have easy add users with not easy to guess id number?我可以轻松添加不易猜出 ID 号的用户吗?
Entity is实体是
@Entity public class EntityUser {
@PrimaryKey(autoGenerate = true)
long userId;
String userName;
}
Dao is道是
@Dao
public interface DaoUser {
@Insert
long insert(EntityUser entityUser);
}
Database is数据库是
@Database(entities = {EntityUser.class}, version = 1, exportSchema = false)
public abstract class UserDatabase extends RoomDatabase {
abstract DaoUser daoUser();
}
I use我用
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);
I get 1 then 2.我得到1然后2。
I tried no autoGenerate but got Unique constraint error.我没有尝试过 autoGenerate 但遇到了唯一约束错误。
You can simply use UUID.您可以简单地使用 UUID。
@Entity public class EntityUser {
@PrimaryKey(autoGenerate = true)
long userId;
String objectId;
String userName;
}
And then when you generate an object you can do it like this:然后当你生成一个对象时,你可以这样做:
EntityUser user1 = new EntityUser();
user1.userName = "Pandas";
user1.objectId = UUID.randomUUID().toString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.