2017-09-18 2 views
-1

Je suis très novice en programmation et je vous écris pour demander de l'aide pour mon application. J'utilise Android Studio 2.3.Création de deux types d'utilisateurs

Je suis en train de créer une application où il y a deux types d'utilisateurs qui haut comité et comité non haute. La différence entre les deux types d'utilisateurs est que le haut comité a une activité supplémentaire que le comité non élevé n'a pas.

Haut Comité peut: Connexion, Voir calendrier, Ajouter/événement Mise à jour

comité non-haut pouvoir: Connexion, Voir calendrier

Cependant, je ne sais pas comment créer une activité de connexion qui permet à ces types d'utilisateurs de se connecter dans le même écran de connexion en utilisant le nom d'utilisateur et mot de passe et comment faire de ces utilisateurs une page d'accueil différente.

J'apprécierais vraiment toute aide avec ceci, merci d'avance.

J'ai ce code ci-dessous:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 

    final EditText etUsername = (EditText) findViewById(R.id.etUsername); 
    final EditText etPassword = (EditText) findViewById(R.id.etPassword); 
    final Button bLogin = (Button) findViewById(R.id.bLogin); 

    bLogin.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      final String username = etUsername.getText().toString(); 
      final String password = etPassword.getText().toString(); 

      // Response received from the server 
      Response.Listener<String> responseListener = new Response.Listener<String>(){ 
       @Override 
       public void onResponse(String response) { 
        try { 
         JSONObject jsonResponse = new JSONObject(response); 
         boolean success = jsonResponse.getBoolean("success"); 

         if (success) { 
          Intent intent = new Intent(LoginActivity.this, HomeCalendar.class); 
          LoginActivity.this.startActivity(intent); 
         } else { 
          AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this); 
          builder.setMessage("Login Failed") 
            .setNegativeButton("Retry", null) 
            .create() 
            .show(); 
         } 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }; 

      LoginRequest loginRequest = new LoginRequest(username, password, responseListener); 
      RequestQueue queue = Volley.newRequestQueue(LoginActivity.this); 
      queue.add(loginRequest); 
     } 
    }); 

} 
} 

Répondre

0

Envoyez le usertype également, ainsi que la réponse du serveur et vérifiez le type d'utilisateur reçu dans votre code Java et rediriger vers l'activité domestique correspondant.

Vous trouverez ci-dessous un exemple de code. Veuillez vérifier ...

public void onResponse(String response) { 
        try { 
         JSONObject jsonResponse = new JSONObject(response); 
         boolean success = jsonResponse.getBoolean("success"); 
         String user_type = jsonResponse.getString("user_type"); //get user_type from response 

         if (success) { 
          if(user_type.equals("high_committee")){ //check the type of user 
          Intent intent = new Intent(LoginActivity.this, HomeCommittee.class); //if user_type = committee, then redirect to Committee home activity 
          LoginActivity.this.startActivity(intent); 
          } 
          else{ 
          Intent intent = new Intent(LoginActivity.this, HomeNonCommittee.class); //if user_type != committee, then redirect to Committee home activity 
          LoginActivity.this.startActivity(intent); 
          } 
         } else { 
          AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this); 
          builder.setMessage("Login Failed") 
            .setNegativeButton("Retry", null) 
            .create() 
            .show(); 
         } 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       }