android存储用户名和密码在数据库中,并用于多个活动 [英] android Store User name and password in database and use it for multiple activities

查看:497
本文介绍了android存储用户名和密码在数据库中,并用于多个活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在全局变量或数据库中存储用户名和密码



实际上我有一次性活动...我尝试使用共享首选项...

所以我已经给了这个..

 活动{
public static final String PREFS_NAME =LoginPrefs;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
if(settings.getString(logged,).toString()。equals(logged)){
Intent intent = new Intent(Login.this,MainActivity.class);
startActivity(intent);
}

按钮b =(Button)findViewById(R.id.loginbutton);
b.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
EditText username =(EditText)findViewById(R.id.login);
EditText passsword =(EditText)findViewById(R.id.password);
Snipper usertype =(Snipper)findViewById(R.id.ut);
Snipper ctype =(Snipper)findViewById ()。length()> 0&&& password.getText()。toString()。length() > 0&&" usertype.getSelectedItem()。toString()。length()> 0&&& ctype.getSelectedItem()。toString()。length()> 0){
/ /if(username.getText().toString().equals(\"admin)&&&&&&&&&&&&&T; settings = getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor = settings.edit();
editor.putString(logged,logged);
editor.commit();
Intent intent = new Intent(Login.this,MainActivity.class);
startActivity(intent);
//}
}
}
});
}
}

这里与用户名和密码一起保存共有4个值...



因此,我要将它们另存为数据库或全局变量,并在多个活动 p>

任何人都可以通过示例或更正我的代码...请不要发布图书或指南行告诉我示例链接或代码...我需要更改。

解决方案

您正在存储登录键,帮助您检查用户是否登录。



您可以通过在sharedPref中存储HashMap来执行同样的操作来存储用户名和密码。

 地图< String,String> map = new HashMap< String,String>(); 

map.put(username,username);
map.put(password,password);

SharedPreferences prefs = context.getSharedPreferences(TEST,0);
SharedPreferences.Editor editor = prefs.edit();

for(String key:map.keySet()){
editor.putString(key,map.get(key));
}

editor.apply();

从sharedPref获取价值

  SharedPreferences prefs = context.getSharedPreferences(TEST,0); 
HashMap< String,String> map =(HashMap< String,String>)pref.getAll();

for(String key:map.keySet()){
String value = map.get(key);
}

您的活动:

  public class Login extends Activity {
public static final String PREFS_NAME =LoginPrefs;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);

HashMap< String,String> map =(HashMap< String,String>)settings.getAll();

if(map!= null&&(map.containsKey(username)&&& )!= null&& map.get(password)!= null){

Intent intent = new Intent(Login.this,MainActivity.class);
startActivity intent);
}

/ * if(settings.getString(logged,).toString()。equals(logged)){
Intent intent = new Intent(Login.this,MainActivity.class);
startActivity(intent);
} * /

Button b =(Button)findViewById(R.id.loginbutton );
b.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
EditText username =(EditText)findViewById(R.id.login );
EditText passsword =(EditText)findViewById(R.id.password);
Snipper usertype =(Snipper)findViewById(R.id.ut);
Snipper ctype = findViewById(R.id.ct);

if(username.getText()。toString()。length()> 0&& password.getText()。toString()。length()> 0&& usertype.getSelectedItem()。toString()。length()> 0&& ctype.getSelectedItem()。toString()。length()> 0){
//if(username.getText().toString().equals(\"admin)&&&& ).toString()。equals(admin)){

/ * SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor = settings.edit();
editor.putString(logged,logged);
editor.commitmit(); * /

String uname = username.getText()。toString();
String pass = password.getText().toString();

Map< String,String> map = new HashMap< String,String>();

map.put(username,uname);
map.put(password,pass);

SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor = prefs.edit();

for(String key:map.keySet()){
editor.putString(key,map.get(key));
}

editor.apply();

Intent intent = new Intent(Login.this,MainActivity.class);
startActivity(intent);
//}
}
}
});
}

请阅读 SharedPreference 教程。在这个活动我提到SharedPreference得到使用相同的方式,你可以使用LoginPrefs键调用它。



希望它能为你工作。



干杯... !!!


I want to Store Username and password in Global variable or in database

actually I have a one time activity..I tried with shared preferences...

so I have given this for that..

public class Login extends Activity {
public static final String PREFS_NAME = "LoginPrefs";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    if (settings.getString("logged", "").toString().equals("logged")) {
        Intent intent = new Intent(Login.this, MainActivity.class);
        startActivity(intent);
    }

    Button b = (Button) findViewById(R.id.loginbutton);
    b.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            EditText username = (EditText) findViewById(R.id.login);
            EditText passsword= (EditText) findViewById(R.id.password);
            Snipper usertype= (Snipper) findViewById(R.id.ut);
            Snipper ctype= (Snipper) findViewById(R.id.ct);

            if(username.getText().toString().length() > 0 && password.getText().toString().length() > 0 && usertype.getSelectedItem().toString().length()>0 && ctype.getSelectedItem().toString().length()>0) {
                //if(username.getText().toString().equals("admin") && password.getText().toString().equals("admin")) {

                    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
                    SharedPreferences.Editor editor = settings.edit();
                    editor.putString("logged", "logged");
                    editor.commit();
                    Intent intent = new Intent(Login.this, MainActivity.class);
                    startActivity(intent);
                //}
            }
        }
    });
 }
}

Here along with User name and pass word I am saving total 4 values...

So I want to Save them as Database or Global variables and Use them In Multiple Activities...

Can any one tell with Example or correct my code... Please don't post books or guide lines tell me example link or code... where I need to change..

解决方案

You are storing "logged in" key which is helping you check user is logged in or not. And it is persisted in the application.

You can do the same thing to store username and password by storing HashMap in sharedPref.

Map<String, String> map = new HashMap<String, String>();

map.put("username", username);
map.put("password", password);

SharedPreferences prefs = context.getSharedPreferences("TEST", 0);
SharedPreferences.Editor editor = prefs.edit();

for (String key : map.keySet()) {
  editor.putString(key, map.get(key));
}

editor.apply();

Get value from sharedPref

 SharedPreferences prefs = context.getSharedPreferences("TEST", 0);
 HashMap<String, String> map= (HashMap<String, String>) pref.getAll();

 for (String key : map.keySet()) {
        String value=map.get(key);
 }

Your activity :

public class Login extends Activity {
public static final String PREFS_NAME = "LoginPrefs";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);

    HashMap<String, String> map= (HashMap<String, String>) settings.getAll();

    if(map != null && ( map.containsKey("username") &&  map.containsKey("password")
        map.get("username") != null && map.get("password") != null){

        Intent intent = new Intent(Login.this, MainActivity.class);
        startActivity(intent);
    }

    /*if (settings.getString("logged", "").toString().equals("logged")) {
        Intent intent = new Intent(Login.this, MainActivity.class);
        startActivity(intent);
    }*/

    Button b = (Button) findViewById(R.id.loginbutton);
    b.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            EditText username = (EditText) findViewById(R.id.login);
            EditText passsword= (EditText) findViewById(R.id.password);
            Snipper usertype= (Snipper) findViewById(R.id.ut);
            Snipper ctype= (Snipper) findViewById(R.id.ct);

            if(username.getText().toString().length() > 0 && password.getText().toString().length() > 0 && usertype.getSelectedItem().toString().length()>0 && ctype.getSelectedItem().toString().length()>0) {
                //if(username.getText().toString().equals("admin") && password.getText().toString().equals("admin")) {

                    /*SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
                    SharedPreferences.Editor editor = settings.edit();
                    editor.putString("logged", "logged");
                    editor.commit();*/

                    String uname = username.getText().toString();
                    String pass  = password.getText().toString();

                    Map<String, String> map = new HashMap<String, String>();

                    map.put("username", uname);
                    map.put("password", pass);

                    SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0);
                    SharedPreferences.Editor editor = prefs.edit();

                    for (String key : map.keySet()) {
                        editor.putString(key, map.get(key));
                    }

                    editor.apply();

                    Intent intent = new Intent(Login.this, MainActivity.class);
                    startActivity(intent);
                //}
            }
        }
    });
}

Please read SharedPreference tutorial.In this activity how i mention the SharedPreference get use same way you can call it using LoginPrefs key.

Hope it will work for you.

Cheers...!!!

这篇关于android存储用户名和密码在数据库中,并用于多个活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆