我正在使用backendless.com作爲我的後端。我有一個登錄主屏幕。BackEndless - 測試用戶是否仍然登錄
主要活動有來自backendless.com確定如果用戶登錄的方法,它返回一個布爾語句,並放置在活動的onCreate方法:
AsyncCallback<Boolean> isValidLoginCallback = new AsyncCallback<Boolean>()
{
@Override
public void handleResponse(Boolean response)
{
Toast.makeText(getApplicationContext(), "Logged In: " + response, Toast.LENGTH_LONG).show();
}
@Override
public void handleFault(BackendlessFault fault)
{
Toast.makeText(getApplicationContext(), "An Issue Logging In", Toast.LENGTH_LONG).show();
}
};
當應用程序啓動時,布爾值爲false。用戶然後登錄並被帶到第二活動:
假設用戶不註銷並簡單地關閉應用程序。當他們重新啓動它時,我需要應用程序以第二個活動開始,而不是登錄屏幕。換句話說,是否有某種類型的方法來測試用戶是否仍然登錄?我認爲這將是上面的isValidLoginCallBack方法,但是,當我關閉應用程序並重新啓動它時,布爾值再次爲false。我猜這不是測試該方法的正確方法。我需要一些堅持。有沒有人有什麼建議?謝謝。
這是第一個活動的完整代碼:
public class MainActivity extends AppCompatActivity {
private EditText nameInput, passwordInput, emailInput;
private Button register, login;
String name, password, email;
BackendlessUser user = new BackendlessUser();
@Override
protected void onCreate(Bundle savedInstanceState) {
//NEED METHOD TO CHECK IF USER IS LOGGED IN.
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String appVersion = "v1";
Backendless.initApp(this, "Blah", "F63A6CC8-4F6E-997D-FF88-1E6ADABFC200", appVersion);
AsyncCallback<Boolean> isValidLoginCallback = new AsyncCallback<Boolean>()//THOUGHT THIS MIGHT BE IT BUT DOES NOT PERSIST
{
@Override
public void handleResponse(Boolean response)
{
Toast.makeText(getApplicationContext(), "Logged In: " + response, Toast.LENGTH_LONG).show();
}
@Override
public void handleFault(BackendlessFault fault)
{
Toast.makeText(getApplicationContext(), "An Issue Logging In", Toast.LENGTH_LONG).show();
}
};
Backendless.UserService.isValidLogin(isValidLoginCallback);
nameInput = (EditText)findViewById(R.id.nameInput);
passwordInput = (EditText)findViewById(R.id.passwordInput);
emailInput = (EditText)findViewById(R.id.emailInput);
register = (Button) findViewById(R.id.buttonRegister);
login = (Button) findViewById(R.id.buttonLogin);
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
name = nameInput.getText().toString();
password = passwordInput.getText().toString();
email = emailInput.getText().toString();
user.setEmail(email);
user.setProperty("name", name);
user.setPassword(password);
Backendless.UserService.register(user, new AsyncCallback<BackendlessUser>() {
public void handleResponse(BackendlessUser registeredUser) {
Toast.makeText(getApplicationContext(), "Registered!", Toast.LENGTH_LONG).show();
}
public void handleFault(BackendlessFault fault) {
Toast.makeText(getApplicationContext(), "Not Registered!" + fault, Toast.LENGTH_LONG).show();
}
});
}
});
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
email = emailInput.getText().toString();
password = passwordInput.getText().toString();
Backendless.UserService.login(email, password, new AsyncCallback<BackendlessUser>() {
public void handleResponse(BackendlessUser user) {
Toast.makeText(getApplicationContext(), "Logged In!", Toast.LENGTH_LONG).show();
Intent i = new Intent(MainActivity.this, ActivityTwo.class);
startActivity(i);
finish();
}
public void handleFault(BackendlessFault fault) {
Toast.makeText(getApplicationContext(), "No Name", Toast.LENGTH_LONG).show();
}
});
}
});
}}
我想知道更多,所以如果有人知道backendless.com已經提供來處理這個API的API。 –