Java Android Room存储库-获取用户
如何从SQLite DB using Room获取用户 DAO-用户DAO:Java Android Room存储库-获取用户,java,android,android-room,Java,Android,Android Room,如何从SQLite DB using Room获取用户 DAO-用户DAO: @Query("SELECT * FROM users WHERE id =:userID") Users getUser(int userID); 用户存储库-用户类 public Users getUser(final String username) { return DatabaseClient.getInstance(context).getAppDatabase().usersDao().getUs
@Query("SELECT * FROM users WHERE id =:userID")
Users getUser(int userID);
用户存储库-用户类
public Users getUser(final String username)
{
return DatabaseClient.getInstance(context).getAppDatabase().usersDao().getUser(username);
}
类,我要在其中获取用户:
Users users = new UserClass(context, view).getUser(this.username);
/** How to access to users.getId ???? */
您的模型类使用此字段。当您插入用户时,请确保每个用户都具有要插入表的unic id
class Users{
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "username")
private String userName;
@ColumnInfo(name = "address")
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address =address;
}
}
你的刀类
@Query("SELECT * FROM users WHERE id =:userID")
Users getUser(int userID);
@Query("SELECT * FROM users")
List<Users> getAll();
@Insert
void insert(Users users);
@Query(“从用户中选择*,其中id=:userID”)
用户getUser(int userID);
@查询(“从用户中选择*)
List getAll();
@插入
无效插入(用户);
你的片段或活动
用户列表如果从“回收器”视图中单击“特定用户”,则可以获取模型id传递给此方法的特定用户模型。您可以获取特定用户详细信息
public Users getUser(int userId)
{
return DatabaseClient.getInstance(context).getAppDatabase()
.usersDao().getUser(username);
}
public List<Users> getAllUser()
{
return DatabaseClient.getInstance(context).getAppDatabase().
usersDao().getAll();
}
public void insert()
{
User user1=new User();
user1.setUserName("jack");
user1.setUserAddress("usa");
DatabaseClient.getInstance(context).getAppDatabase().usersDao().insert(user1);
}
公共用户getUser(int userId)
{
返回DatabaseClient.getInstance(context.getAppDatabase())
.usersDao().getUser(用户名);
}
公共列表getAllUser()
{
返回DatabaseClient.getInstance(上下文).getAppDatabase()。
usersDao().getAll();
}
公开作废插入()
{
用户user1=新用户();
user1.setUserName(“杰克”);
用户1.设置用户地址(“美国”);
DatabaseClient.getInstance(上下文).getAppDatabase().usersDao().insert(user1);
}
limit结果->@Query(“SELECT*FROM users,其中id=:userID limit 1”)在ur dao中参数类型为int,但在ur存储库中与其他参数类型不同。类型不匹配。最好使用相同的类型