进度对话框登录活动



有人可以帮我如何以及在哪里放置进度对话框在我的登录活动上,我是开发Android应用程序的新手,我想了解更多信息,请帮助我..这就是我想要的,如果用户单击登录按钮,我想在检查数据库中的数据时显示进度对话框。这是我的登录活动.java

public class LoginActivity extends Activity {
Button btnLogin;
Button btnLinkToRegister;
EditText inputRFnumber;
EditText inputPassword;
TextView loginErrorMsg;
// JSON Response node names
private static String KEY_SUCCESS = "success";
private static String KEY_ERROR = "error";
private static String KEY_ERROR_MSG = "error_msg";
private static String KEY_UID = "uid";
public static String KEY_NAME = "name";
private static String KEY_RFNUMBER = "RFnumber";
private static String KEY_CREATED_AT = "created_at";
public static String KEY_NAMEPASS;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_login);
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

    // Importing all assets like buttons, text fields
    inputRFnumber = (EditText) findViewById(R.id.loginRFnumber);
    //inputPassword = (EditText) findViewById(R.id.loginPassword);
    btnLogin = (Button) findViewById(R.id.btnLogin);
   // btnLinkToRegister = (Button) findViewById(R.id.btnLinkToRegisterScreen);
    loginErrorMsg = (TextView) findViewById(R.id.login_error);

    // Login button Click Event
    btnLogin.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            String RFnumber = inputRFnumber.getText().toString();
            //String password = inputPassword.getText().toString();
            UserFunctions userFunction = new UserFunctions();
            try {
                Log.d("Button", "Login");
                JSONObject json = userFunction.loginUser(RFnumber);

                // check for login response
                try {
                    if (json.getString(KEY_SUCCESS) != null) {
                        loginErrorMsg.setText("");
                        String res = json.getString(KEY_SUCCESS);
                        if (Integer.parseInt(res) == 1) {
                            // user successfully logged in
                            // Store user details in SQLite Database
                            DatabaseHandler db = new DatabaseHandler(getApplicationContext());
                            JSONObject json_user = json.getJSONObject("user");
                            KEY_NAMEPASS = json_user.getString(KEY_NAME);

                            // Clear all previous data in database
                            userFunction.logoutUser(getApplicationContext());
                            db.addUser(json_user.getString(KEY_NAME), json_user.getString(KEY_RFNUMBER), json.getString(KEY_UID), json_user.getString(KEY_CREATED_AT));


                            // Launch Dashboard Screen
                            Intent dashboard = new Intent(getApplicationContext(), DashboardActivity.class);

                            // Close all views before launching Dashboard
                            dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            startActivity(dashboard);
                            // Close Login Screen
                            finish();
                        } else {
                            // Error in login
                            loginErrorMsg.setText("Incorrect Registration Number!");
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            } catch (Exception e) {
                e.printStackTrace();
                Toast.makeText(getBaseContext(), "No network connection! Please try again later...", Toast.LENGTH_SHORT).show();
            }
        }
    });
}

}

使用 AsyncTask class。在 AsyncTask 中,您也可以更新进度状态。但不要在 doInBackground 方法中进行任何 UI 更改。我希望这对你有所帮助:)

最新更新