如何从我的数据库中获取项目以保存在共享首选项上?

时间:2016-08-08 08:30:09

标签: android sharedpreferences

如何获取我的登录用户的userID,这是他们在共享首选项上保存的主键? 这是我的数据库。

enter image description here

只有用户名和密码在我的登录活动中有一个editText。如何保存他们的userID以便在共享首选项上保存?多谢你们。 :)

从登录页面保存我的共享偏好。

@Override
                        public void processFinish(String s) {
                            Log.d(TAG,s);
                            if (s.contains("renter")) {
                                if (checkFlag) {

                                    editor.putString("username", etUsername.getText().toString());
                                    editor.putString("password", MD5.encrypt(etPassword.getText().toString()));

                                    editor.apply();

                                    Log.d(TAG, pref.getString("password", ""));
                                }

                                Toast.makeText(MainActivity.this, "Renter Login Successful!", Toast.LENGTH_SHORT).show();
                                Intent in = new Intent(MainActivity.this, ListActivity.class);
                                startActivity(in);
                                finish();

2 个答案:

答案 0 :(得分:-1)

我认为此代码可以帮助您..
 public String [] getAppCategoryDe​​tail(){

    final String TABLE_NAME = "name of table";
String username="username";
String password="password";
    String selectQuery = "SELECT  userID FROM " + TABLE_NAME+" where username="+username+" and password="+password+";
    SQLiteDatabase db  = this.getReadableDatabase();
    Cursor cursor      = db.rawQuery(selectQuery, null);
    String[] data      = null;

    if (cursor.moveToFirst()) {
        do {
String userId = cursor.getString(0);

public static final String pref_name = "your shared preference name";
    SharedPreferences settings = getSharedPreferences(pref_name, MODE_PRIVATE);
    SharedPreferences.Editor prefEditor = settings.edit();
    prefEditor.putString("userId", userId);
    prefEditor.commit();

        } while (cursor.moveToNext());
    }
    cursor.close();
    return data;
}

答案 1 :(得分:-1)

将此代码添加到您的数据库中。

public Cursor getuserID(String username, String password) {

SQLiteDatabase db = getReadableDatabase();
String qry = "Select userID from 'NAME OF YOUR TABLE' where username="+username+" and password="+password+";
Cursor c = db.rawQuery(qry, null);
return c;
}

将此代码添加到您的登录活动

// Your Database Class and its object.
CustomDatabase database = new CustomDatabase(this);


cursor =  database.getuserID(etUsername.getText().toString(), MD5.encrypt(etPassword.getText().toString()));

if (cursor != null && cursor.moveToFirst()) 
{
     int id = cursor.getint(0);
     // Now add id to your sharedpref.
     SharedPreferences settings = getSharedPreferences(pref_name,MODE_PRIVATE);
     SharedPreferences.Editor prefEditor = settings.edit();
     prefEditor.putString("userId", id);
     prefEditor.commit();
}