2
我在我的應用程序中使用解析android SDK。這裏是我的登錄活動:com.parse.ParseException:java.lang.IllegalStateException:試圖找到不存在的uuid
public class LoginActivity extends Activity {
EditText username, password;
Button login;
SharedPreferences prefs;
ProgressDialog dialog;
@Override
public void onBackPressed() {
super.onBackPressed();
startActivity(new Intent(this, LogSignActivity.class));
finish();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_login);
dialog = new ProgressDialog(LoginActivity.this);
dialog.setCancelable(false);
dialog.setMessage("Loading...");
initializeViews();
if (prefs.getBoolean(PreferenceStrings.logged, false)) {
username.setText(prefs.getString(PreferenceStrings.uname, ""));
password.setText(prefs.getString(PreferenceStrings.pwd, ""));
dialog.show();
ParseUser.logInInBackground(username.getText().toString(), password
.getText().toString(), new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
dialog.dismiss();
if (e != null) {
prefs.edit()
.putBoolean(PreferenceStrings.logged, false)
.commit();
e.printStackTrace();
}
if (user == null) {
prefs.edit()
.putBoolean(PreferenceStrings.logged, false)
.commit();
Toast.makeText(getBaseContext(), "User not found!",
Toast.LENGTH_SHORT).show();
} else if (!user.isAuthenticated()) {
prefs.edit()
.putBoolean(PreferenceStrings.logged, false)
.commit();
Toast.makeText(getBaseContext(),
"User is not authenticated!",
Toast.LENGTH_SHORT).show();
} else {
prefs.edit().putBoolean(PreferenceStrings.logged, true)
.commit();
prefs.edit()
.putString(PreferenceStrings.uname,
username.getText().toString()).commit();
prefs.edit()
.putString(PreferenceStrings.pwd,
password.getText().toString()).commit();
startActivity(new Intent(LoginActivity.this,
HomeActivity.class));
finish();
}
}
});
}
TextView back = (TextView) findViewById(R.id.nav_back);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(LoginActivity.this,
LogSignActivity.class));
finish();
}
});
login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (username.getText().toString().equals("")) {
Toast.makeText(getBaseContext(), "Please enter username!",
Toast.LENGTH_SHORT).show();
} else if (password.getText().toString().equals("")) {
Toast.makeText(getBaseContext(), "Please enter password!",
Toast.LENGTH_SHORT).show();
} else {
dialog.show();
ParseUser.logInInBackground(username.getText().toString(),
password.getText().toString(), new LogInCallback() {
@Override
public void done(ParseUser user,
ParseException e) {
dialog.dismiss();
if (e != null) {
prefs.edit()
.putBoolean(
PreferenceStrings.logged,
false).commit();
e.printStackTrace();
}
if (user == null) {
prefs.edit()
.putBoolean(
PreferenceStrings.logged,
false).commit();
Toast.makeText(getBaseContext(),
"User not found!",
Toast.LENGTH_SHORT).show();
} else if (!user.isAuthenticated()) {
prefs.edit()
.putBoolean(
PreferenceStrings.logged,
false).commit();
Toast.makeText(getBaseContext(),
"User is not authenticated!",
Toast.LENGTH_SHORT).show();
} else {
prefs.edit()
.putBoolean(
PreferenceStrings.logged,
true).commit();
prefs.edit()
.putString(
PreferenceStrings.uname,
username.getText()
.toString())
.commit();
prefs.edit()
.putString(
PreferenceStrings.pwd,
password.getText()
.toString())
.commit();
startActivity(new Intent(
LoginActivity.this,
HomeActivity.class));
startActivity(new Intent(
LoginActivity.this,
HomeActivity.class));
finish();
}
}
});
}
}
});
}
private void initializeViews() {
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
login = (Button) findViewById(R.id.btn_log);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
}
}
我能夠成功登錄,但有些登錄後,我無法登錄,並從解析返回以下錯誤: 任何想法?
好的,謝謝:) – berserk 2014-12-18 15:18:47