android用户名登录问题

时间:2014-08-07 18:17:31

标签: java android eclipse username

我正在创建一个需要用来创建帐户然后使用它登录的应用。它应该让他们在每次使用后都登录。然后,用户名将用于与其他人通信。我该怎么做呢?我没有做过类似的事情,我也不知道从哪里开始。任何链接或建议表示赞赏。谢谢!顺便说一句,我使用的是eclipse,它是一个Android应用程序。

3 个答案:

答案 0 :(得分:1)

您应该使用共享偏好来实施用户会话管理器。首先,您应该了解共享偏好的实际情况。请咨询thisthis

在您准备好之后,请检查this。链接3将满足所有要求。但首先要了解共享偏好。

答案 1 :(得分:1)

1)据我了解,您希望通过用户名维护用户的会话,这意味着当您登录到应用程序时,您发送用户名作为intent Extra使用用户名查询数据库首先,您创建一个Java像这样的用户的类

public class User {

private String username;


Context context;
SharedPreferences sharedPreferences;


public User(Context context) {
    this.context = context;
    sharedPreferences = context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);

}

public void remove() {
    sharedPreferences.edit().clear().commit();
}


public String getUsername() {
   username = sharedPreferences.getString("username", "");
  return username;
}

public void setUsername(String username) {
    this.username = username;
sharedPreferences.edit().putString("username", username).commit();
}}

2)在您的登录活动中,在创建

上写下此方法
User user = new User(getApplicationContext());
if (user.getUsername()!=""){
Intent intent = new Intent(this,YourActivity.class);                            
intent.putExtra("username",user.getUsername());
startActivity(intent);}

3)现在从YourActivty.class中提取用户名

Intent intent = getIntent();
reg_no = intent.getStringExtra("reg_no");

并根据它查询数据库并获取用户信息

4)所以现在你必须在你的应用程序中添加一个注销按钮,它将删除共享首选项中的用户名,以便新用户可以使用该应用程序

logoutButton.setOnClickListener(new View.OnClickListener()){
@Override
public void onClick(View v) {
 AlertDialog.Builder builder = new AlertDialog.Builder(Home.this);
// Add the buttons
        builder.setPositiveButton("Yes", new 
 DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {

                User user = new User(getApplicationContext());
                user.remove();
                Intent intent ;
          intent = new Intent(getApplicationContext(),LoginActivity.class);
                startActivity(intent);

                // User clicked OK button
            }
        });
        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                // User cancelled the dialog
                dialog.dismiss();
            }
        });

          // Create the AlertDialog
        builder.setMessage("Do you really want to Log Out ?");

        AlertDialog dialog = builder.create();
        dialog.show();

         }}

5)在LoginActivity中覆盖onBackPressed()方法并且不执行任何操作以确保应用程序不会打开上一个活动,这里我通知用户后退按钮已被禁用

 @Override
public void onBackPressed() {
    Snackbar.make(binding.main,"That Action is Disabled",Snackbar.LENGTH_SHORT).show();
}

//希望这有助于:)

答案 2 :(得分:0)

你应该看看parse.com。它们提供您所需要的一切。只需下载他们的sdk并使用他们的文档即可开始创建所有这些。