前言 大家好,給大家帶來 的概述,希望你們喜歡 學習目標 1. 掌握SQLite資料庫的使用,能夠實現用資料庫來保存用戶的信息; 2. 學會運用好個人資料,以及個人資料的修改功能實現; 3. 個人資料包括用戶名,昵稱,性別,簽名,QQ號或個人社交賬號的記錄等。 資料庫的創建 資料庫類 該類繼承 創建 ...
前言
大家好,給大家帶來AndroidStudio製作個人資料界面模塊以及SQLite資料庫的使用
的概述,希望你們喜歡
學習目標
- 掌握SQLite資料庫的使用,能夠實現用資料庫來保存用戶的信息;
- 學會運用好個人資料,以及個人資料的修改功能實現;
- 個人資料包括用戶名,昵稱,性別,簽名,QQ號或個人社交賬號的記錄等。
資料庫的創建
資料庫類
該類繼承 extends SQLiteOpenHelper
//核心代碼
private static final int DB_VERSION = 1;
public static String DB_NAME = "bxg.db";
public static final String U_USER_INFO = "userInfo";
public SQLiteHelper(Context context){
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
/**
* 當這個SQLiteOpenHelper的子類類被實例化時會創建指定名的資料庫,在onCreate中創建個人信息表
* **/
db.execSQL("CREATE TABLE IF NOT EXISTS " + U_USER_INFO + "( "
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "userName VARCHAR, "
+ "nickName VARCHAR, "
+ "sex VARCHAR, "
+ "signature VARCHAR, "
+ "qq VARCHAR "
+ ")");
}
/**
* 當資料庫版本號增加才會調用此方法
**/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + U_USER_INFO);
onCreate(db);
}
創建一個資料庫工具類,用於讀取、保存、修改用戶信息
/**
* 構造方法,只有當類被實例化時候調用
* 實例化SQLiteHelper類,從中得到一個讀寫的資料庫
**/
public DBUtils(Context context) {
helper = new SQLiteHelper(context);
db = helper.getWritableDatabase();
}
/**
* 得到這個類的實例
**/
public static DBUtils getInstance(Context context) {
if (instance == null) {
instance = new DBUtils(context);
}
return instance;
}
//保存個人資料信息
public void saveUserInfo(UserBean bean) {
ContentValues cv = new ContentValues();
cv.put("userName", bean.userName);
cv.put("nickName", bean.nickName);
cv.put("sex", bean.sex);
cv.put("signature", bean.signature);
cv.put("qq",bean.qq);
//Convenience method for inserting a row into the database.
//註意,我們是從資料庫使用插入方法,傳入表名和數據集完成插入
db.insert(SQLiteHelper.U_USER_INFO, null, cv);
}
//獲取個人資料信息
public UserBean getUserInfo(String userName) {
String sql = "SELECT * FROM " + SQLiteHelper.U_USER_INFO + " WHERE userName=?";
//?和下麵數組內元素會逐個替換,可以多條件查詢=?and =?
//You may include ?s in where clause in the query, which will be replaced by the values from selectionArgs.
Cursor cursor = db.rawQuery(sql, new String[]{userName});
UserBean bean = null;
//Move the cursor to the next row.
while (cursor.moveToNext()) {
bean = new UserBean();
//根據列索引獲取對應的數值,因為這裡查詢結果只有一個,我們也不需要對模型UserBean進行修改,
//直接將對應用戶名的所有數據從表中動態賦值給bean
bean.userName = cursor.getString(cursor.getColumnIndex("userName"));
bean.nickName = cursor.getString(cursor.getColumnIndex("nickName"));
bean.sex = cursor.getString(cursor.getColumnIndex("sex"));
bean.signature = cursor.getString(cursor.getColumnIndex("signature"));
bean.qq = cursor.getString(cursor.getColumnIndex("qq"));
}
cursor.close();
return bean;
}
//修改個人資料信息,這裡的key指代表欄位,value表示數值
public void updateUserInfo(String key, String value, String userName) {
ContentValues cv = new ContentValues();
cv.put(key, value);
//Convenience method for updating rows in the database.
db.update(SQLiteHelper.U_USER_INFO, cv, "userName=?", new String[]
{userName});
}
嗯,接下來好像沒什麼了。就這樣!大概界面可設計自行設計:
如果覺得不錯,那就點個贊吧!❤️
總結
- 本文講了AndroidStudio製作個人資料界面模塊以及SQLite資料庫的使用,如果您還有更好地理解,歡迎溝通
- 定位:分享
Android
&Java
知識點,有興趣可以繼續關註