2015-02-03 3 views
0

누군가가 내 로그인 활동에 progressdialog를 넣을 방법과 위치를 알 수 있습니까? 나는 안드로이드 앱을 개발하는 데있어 새로운 사람이며, 더 배우고 싶습니다. 도와주세요. 사용자가 원하는 경우, 내 데이터베이스에서 데이터를 확인하는 동안 내가 진행 대화 상자를 보여주고 싶었다 로그인 버튼을 클릭합니다 .. 여기, 당신은 진행 상태를 업데이트 할 수 있습니다 내 LoginActivity.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(); 

      } 
     } 
    }); 
} 

}

+0

버튼 클릭 리스너의 onCLick 메소드를 넣기 만하면됩니다. – virendrao

+0

[AsyncTask] (http://developer.android.com/reference/android/os/AsyncTask.html) 체크 – hrskrs

+0

? 정교하게 제발 주시겠습니까? : D –

답변

0

사용 AsyncTask를 class.In AsyncTask를하다 또한 do.BackutBackground 메서드 내에서 UI 변경하지 마십시오. 나는 당신에게 도움이되기를 바랍니다 :)

+0

[link] (https://androidresearch.wordpress.com/2012/03/17/understanding-asynctask-once-and-forever/)이 링크를 사용하면 당신에게 도움이됩니다 :) – user3515851