资讯专栏INFORMATION COLUMN

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

lsxiao / 3239人阅读

摘要:就这样大概界面可设计自行设计如果觉得不错,那就点个赞吧总结本文讲了制作个人资料界面模块以及数据库的使用,如果您还有更好地理解,欢迎沟通定位分享知识点,有兴趣可以继续关注

前言

大家好,给大家带来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);
}
@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知识点,有兴趣可以继续关注

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2948.html

相关文章

  • Android模板制作

    摘要:本文详细介绍模板相关的知识和如何制作模版及使用,便于较少不必要的重复性工作。的模板是使用模板引擎制作的,有兴趣的可以了解一下。总结至此,模板制作已经全部完成了,本文篇幅还是比较长 本文详细介绍模板相关的知识和如何制作Android模版及使用,便于较少不必要的重复性工作。比如我在工作中如果要创建一个新的模块,就不要需要创建MVP相关的几个类:Model、View、Presenter、En...

    sushi 评论0 收藏0
  • Flutter通用基础库flutter_luakit_plugin

    摘要:异步长连接功能也是很多开发所依赖的,只支持协议,如果想使用基础的协议,那就要使用提供的功能了,使用也非常简单,,在里面拿到数据后可以使用上文提到的通知机制把数据传回到层。 使用flutter_luakit_plugin作为基础库开发flutter应用 文章开头我们先开门见山给出使用flutter_luakit_plugin作为基础库开发和普通flutter的区别。由于flutter定位...

    william 评论0 收藏0
  • Flutter通用基础库flutter_luakit_plugin

    摘要:异步长连接功能也是很多开发所依赖的,只支持协议,如果想使用基础的协议,那就要使用提供的功能了,使用也非常简单,,在里面拿到数据后可以使用上文提到的通知机制把数据传回到层。 使用flutter_luakit_plugin作为基础库开发flutter应用 文章开头我们先开门见山给出使用flutter_luakit_plugin作为基础库开发和普通flutter的区别。由于flutter定位...

    Ashin 评论0 收藏0
  • AndroidStudio制作登录和注册功能实现,界面布局介绍

    摘要:总结本文讲了制作登录和注册功能的实现,界面的布局介绍,如果您还有更好地理解,欢迎沟通定位分享知识点,有兴趣可以继续关注前言 大家好,给大家带来AndroidStudio制作登录和注册功能的实现,界面的布局介绍的概述,希望你们喜欢 每日一句: Success is connecting with the world and making people feel. - 《名扬四海》 设计思路 ...

    crelaber 评论0 收藏0
  • Android核心技术Intent和数据存储篇

    摘要:数据的文件保存目录包名文件名。支持数据安全性高,空间大小有限与之相反。只能获取数据不能存储和修改,但能通过实现存储修改。在关系型数据库中,二维表中的列为属性,称为字段行为记录,如一对象属性中字段取值范围称为域。 女孩:上海站到了? 男孩:嗯呢?走向世界~ 女孩:Intent核心技术和数据存储技术? 男孩:对,今日就讲这个~ Intent是各个组件之间用来进行通信的,Intent的翻译为意...

    mingzhong 评论0 收藏0

发表评论

0条评论

lsxiao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<