[英]Get other query columns with Parse
我正在尝试通过使用Parse SDK在Android应用程序中实现注册/登录系统。
到目前为止,我已经实现了注册和登录。
我正在寻找的是在另一个活动(例如first_name或last_name)上显示其他用户凭据。
这是我的代码:
LoginActivity.java
//Read user information as String.
String email = etEmail.getText().toString();
String password = etPassword.getText().toString();
//Find user by Email and Password.
ParseQuery<ParseObject> query = ParseQuery.getQuery("Users");
query.whereEqualTo("email", email);
query.whereEqualTo("password", password);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> users, ParseException e) {
if (e == null) {
//User logged in successful.
Toast.makeText(LoginActivity.this, "Welcome back!", Toast.LENGTH_SHORT).show();
//Take user to FeedActivity.
startActivity(new Intent(LoginActivity.this, FeedActivity.class));
} else {
//User login failed.
Toast.makeText(LoginActivity.this, "Login failed.", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
});
RegisterActivity.java
//Store user information in String.
String firstname = etFirstname.getText().toString();
String lastname = etLastname.getText().toString();
String email = etEmail.getText().toString();
String password = etPassword.getText().toString();
int userID = count.getAndIncrement();
ParseObject Users = new ParseObject("Users");
Users.put("userID", userID);
Users.put("first_name", firstname);
Users.put("last_name", lastname);
Users.put("email", email);
Users.put("password", password);
Users.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
//User registered successfully.
Toast.makeText(RegisterActivity.this, "Registration successful."
, Toast.LENGTH_SHORT).show();
//Take user to LoginActivity.
startActivity(new Intent(RegisterActivity.this, LoginActivity.class));
} else {
Toast.makeText(RegisterActivity.this, "Registration failed."
, Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
});
您可能要检查通过Intent
发送数据。
因此,在第一个活动中,您需要这样做:
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
i.putExtra("label", "My name, yo!");
startActivity(i);
在第二个活动中:
Intent d = getIntent();
String s = d.getStringExtra("label");
或者,您可以这样做: https : //guides.codepath.com/android/Building-Data-driven-Apps-with-Parse#passing-objects-between-activities
如果我说对了,您会想要:
if (ParseUser.getCurrentUser() != null) {
String user = ParseUser.getCurrentUser().getObjectId();
ParseQuery<ParseObject> query = ParseQuery.getQuery("User");
query.whereEqualTo("objectId",user);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> objects, ParseException e) {
if (e == null) {
for (final ParseObject post : objects) {
// Put Data in TextBoxes
// String first_name = post.getString("first_name"); - Will return first Name
}
}
}
});
} else {
//Log in the User
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.