AndroidStudio制作个人资料界面模块以及SQLite数据库的使用

前言

大家好,给大家带来AndroidStudio制作个人资料界面模块以及SQLite数据库的使用的概述,希望你们喜欢

学习目标

  1. 掌握SQLite数据库的使用,能够实现用数据库来保存用户的信息;
  2. 学会运用好个人资料,以及个人资料的修改功能实现;
  3. 个人资料包括用户名,昵称,性别,签名,QQ号或个人社交账号的记录等。

数据库的创建

数据库类

该类继承 extends SQLiteOpenHelper

1//核心代码 2private static final int DB_VERSION = 1; 3public static String DB_NAME = "bxg.db"; 4public static final String U_USER_INFO = "userInfo"; 5 6 7public SQLiteHelper(Context context){ 8 super(context, DB_NAME, null, DB_VERSION); 9} 10 11 12@Override 13 public void onCreate(SQLiteDatabase db) { 14 /** 15 * 当这个SQLiteOpenHelper的子类类被实例化时会创建指定名的数据库,在onCreate中创建个人信息表 16 * **/ 17 db.execSQL("CREATE TABLE IF NOT EXISTS " + U_USER_INFO + "( " 18 + "_id INTEGER PRIMARY KEY AUTOINCREMENT, " 19 + "userName VARCHAR, " 20 + "nickName VARCHAR, " 21 + "sex VARCHAR, " 22 + "signature VARCHAR, " 23 + "qq VARCHAR " 24 + ")"); 25} 26 27 28/** 29 * 当数据库版本号增加才会调用此方法 30 **/ 31 @Override 32 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 33 db.execSQL("DROP TABLE IF EXISTS " + U_USER_INFO); 34 onCreate(db); 35 }

创建一个数据库工具类,用于读取、保存、修改用户信息

1/** 2* 构造方法,只有当类被实例化时候调用 3* 实例化SQLiteHelper类,从中得到一个读写的数据库 4**/ 5 public DBUtils(Context context) { 6 helper = new SQLiteHelper(context); 7 db = helper.getWritableDatabase(); 8 } 9 10 11/** 12* 得到这个类的实例 13**/ 14public static DBUtils getInstance(Context context) { 15 if (instance == null) { 16 instance = new DBUtils(context); 17 } 18 return instance; 19} 20 21 22//保存个人资料信息 23public void saveUserInfo(UserBean bean) { 24 ContentValues cv = new ContentValues(); 25 cv.put("userName", bean.userName); 26 cv.put("nickName", bean.nickName); 27 cv.put("sex", bean.sex); 28 cv.put("signature", bean.signature); 29 cv.put("qq",bean.qq); 30 //Convenience method for inserting a row into the database. 31 //注意,我们是从数据库使用插入方法,传入表名和数据集完成插入 32 db.insert(SQLiteHelper.U_USER_INFO, null, cv); 33 } 34 35 36//获取个人资料信息 37public UserBean getUserInfo(String userName) { 38 String sql = "SELECT * FROM " + SQLiteHelper.U_USER_INFO + " WHERE userName=?"; 39 //?和下面数组内元素会逐个替换,可以多条件查询=?and =? 40 //You may include ?s in where clause in the query, which will be replaced by the values from selectionArgs. 41 Cursor cursor = db.rawQuery(sql, new String[]{userName}); 42 UserBean bean = null; 43 //Move the cursor to the next row. 44 while (cursor.moveToNext()) { 45 bean = new UserBean(); 46 //根据列索引获取对应的数值,因为这里查询结果只有一个,我们也不需要对模型UserBean进行修改, 47 //直接将对应用户名的所有数据从表中动态赋值给bean 48 bean.userName = cursor.getString(cursor.getColumnIndex("userName")); 49 bean.nickName = cursor.getString(cursor.getColumnIndex("nickName")); 50 bean.sex = cursor.getString(cursor.getColumnIndex("sex")); 51 bean.signature = cursor.getString(cursor.getColumnIndex("signature")); 52 bean.qq = cursor.getString(cursor.getColumnIndex("qq")); 53 } 54 cursor.close(); 55 return bean; 56} 57 58 59//修改个人资料信息,这里的key指代表字段,value表示数值 60public void updateUserInfo(String key, String value, String userName) { 61 ContentValues cv = new ContentValues(); 62 cv.put(key, value); 63 //Convenience method for updating rows in the database. 64 db.update(SQLiteHelper.U_USER_INFO, cv, "userName=?", new String[] 65 {userName}); 66}

嗯,接下来好像没什么了。就这样!大概界面可设计自行设计: 示意图

如果觉得不错,那就点个赞吧!❤️

总结

  • 本文讲了AndroidStudio制作个人资料界面模块以及SQLite数据库的使用,如果您还有更好地理解,欢迎沟通
  • 定位:分享 Android&Java知识点,有兴趣可以继续关注
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )