2014-11-05 2 views
2

내 app에서 parse 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); 
    } 
    } 

내가 성공적으로 로그인 할 수 있었다, 그러나 몇몇 로그인 후, 내가 로그인 할 수 없습니다 다음과 같은 오류가 구문 분석에서 반환됩니다 enter image description here 어떤 아이디어?

답변

1

이것은 알려진 버그이며, Parse 팀에서 iOS API를 확인한 것입니다. (필자의 생각은 Android 플랫폼에서 볼 때 더 심하게 실행되는 버그입니다.)

당신은 더 여기에서 찾을 수 있습니다 : https://developers.facebook.com/bugs/614018488703097/

을 문제가 해결 될 때까지, 로컬 데이터 저장소를 끄고이 도움이 있는지 확인하는 것이 현명 수 있습니다.

+0

아 감사합니다. :) – berserk

관련 문제