前言

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

学习目标

  1. 掌握SQLite数据库的使用,能够实现用数据库来保存用户的信息;
  2. 学会运用好个人资料,以及个人资料的修改功能实现;
  3. 个人资料包括用户名,昵称,性别,签名,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);
}
@Overridepublic 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 "+ ")");
}
/*** 当数据库版本号增加才会调用此方法**/@Overridepublic 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进行修改,//直接将对应用户名的所有数据从表中动态赋值给beanbean.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知识点,有兴趣可以继续关注

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

  1. AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码

    前言 大家好,我是 Vic,今天给大家带来AndroidStudio制作"我"的界面,设置,修改密码,设置密保和找回密码的概述,希望你们喜欢 学习目标 掌握修改密码功能的开发,和实 ...

  2. android studio忘记密码界面,AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码...

    前言 大家好,我是 Vic,今天给大家带来AndroidStudio制作"我"的界面,设置,修改密码,设置密保和找回密码的概述,希望你们喜欢 学习目标 掌握修改密码功能的开发,和实 ...

  3. android SQLite数据库的使用

    今天,简单讲讲android如何使用SQLite数据库.  最近,自己在做一个功能时又用到了SQLite数据库,发现自己还是掌握的不很全面.其实之前的app里面也一直用到了数据库,但是自己没有花时 ...

  4. QQ群消息监听并将消息存储到SQLite数据库中

    目录 一.前言 二.效果图 1.插件界面 2.SQLite数据库 3.QQ群消息 三.准备工作

  5. AndroidStudio制作欢迎界面与应用图标,使用Android Studio 3.0.1作为开发工具

    点击上方    "黄广达"    ,选择    "置顶公众号" 有趣有内涵的文章第一时间送达! 喝酒I创作I分享 生活中总有些东西值得分享 前言 大家好,我是  ...

  6. AndroidStudio制作欢迎界面与应用图标

    前言 大家好,我是 Vic,今天给大家带来AndroidStudio制作欢迎界面与应用图标的概述,希望你们喜欢 欢迎界面与应用图标 本项目使用Android Studio 3.0.1作为开发工具 ac ...

  7. Android studio实现底部导航,AndroidStudio制作底部导航栏以及用Fragment实现切换功能...

    前言 大家好,我是 Vic,今天给大家带来AndroidStudio制作底部导航栏以及用Fragment实现切换功能的概述,希望你们喜欢 学习目标 AndroidStudio制作底部导航栏以及用Fra ...

  8. xmos固件u8_XMOS USB数字界面 模块 XU208 U8升级版CPL

    数字界面 模块 xCORE-200 全新XMOS界面 U8升级版,采用第二代XMOS芯片 XU208 开发的高端USB界面,也是支持固件升级的界面.原理图和固件(包括XMOS和CPLD)都是我们自主开 ...

  9. 网站制作流程及界面交互设计研究探讨

    很多朋友希望,我能把我做网站的一些流程及经验跟大家分享一下,最近刚好做一次内部培训,所以稍微整理了一下,这些只是针对网页初学者,具有一定平面设计水平的人,对HTML不是很了解,这里有很多都是一些我个人 ...

最新文章

  1. 禁用编译优化_Tomcat8史上最全优化实践
  2. JAVA SE 学习day_10:集合、聊天室练习最终版
  3. java 基础安装和Tomcat8配置
  4. php执行一条insert插入两条数据其中一条乱码
  5. 看国外女神级程序员,直播写代码一年的感悟
  6. STN32F103系列IO脚引脚分布
  7. ROS :为IDE配置环境变量
  8. 大象的崛起!Hadoop七年发展风雨录
  9. 第 4 章 容器 - 030 - 实现容器的底层技术
  10. IOS开发之MapKit框架的使用
  11. 企业数字化转型之道-企业架构
  12. 天使之音——Declan Galbraith
  13. CCNA、CCNP、H3C认证精品视频课程
  14. [GDC 2015] Scroll Back - 2D 卷轴游戏的摄影机理论与实务
  15. 学 C 语言,最经典的书有这样几本
  16. 饭谈:盘点六种错误的技术问题提问
  17. 如何更新seaborn库_Python 绘图总结(seaborn库的使用) (上)
  18. 高等数学Mathematica实验题——费马素数猜想(Fn=2^(2^n)+1为素数)的证伪(Verification of Fermat's Prime Number Function)
  19. confluent-kafka-go依赖库编译体验优化
  20. 装饰大楼,备用钥匙,IOIOI卡片占卜总结

热门文章

  1. Direct3D 11在windows7上提示创建d3d设备失败
  2. linux上数据库账号被锁定,ORA-28000账户被锁和解锁
  3. ffmpeg截取视频流、rtsp录mp4,与海思NVR,内存问题
  4. 这些前后端性能指标,面试一问我就懵了
  5. 百度云管家 提取下载链接(已过时,仅用作存档)
  6. 【转】获取用户移动方向,指南针原理
  7. 个人求职简历(.Net)--求广州暑期实习
  8. 【矩阵论笔记】零化多项式
  9. JDK的安装与配置(windows环境)
  10. android 拍摄视频后返回九宫格,抖音九宫格不同视频怎么拍 九个不同的视频在一个画面播放...