创建两种类型的用户

时间:2017-09-18 16:46:36

标签: android mysqli android-sqlite

我对编程非常陌生,我正在写信,要求为我的应用程序寻求帮助。我正在使用android studio 2.3。

我正在尝试创建一个应用程序,其中有两种类型的用户,高级委员会非高级委员会。两类用户之间的区别在于,高级委员会还有一项非高级委员会没有的额外活动。

高级委员会能够:登录,查看日历,添加/更新活动

非高级委员会能够:登录,查看日历

但是,我不知道如何创建一个登录活动,允许这些类型的用户使用用户名和密码登录同一登录屏幕,以及如何让这些用户拥有不同的主页。

我非常感谢你提供任何帮助,谢谢你。

我在下面有这个代码:

@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);
        }
    });

}
}

1 个答案:

答案 0 :(得分:0)

还发送usertype以及服务器响应,并在java代码中检查收到的usertype,然后重定向到相应的home活​​动。

以下是代码示例。请检查..

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();
                    }
                }