Android Studio 安卓创建数据库

示例创建数据库的类,并创建增加、查询、删除用户信息的方法,在其他类直接调用即可

public class UserDB {
    SQLiteDatabase writableDatabase; //声明操作数据库对象
    private static String DB_NAME = "user.db"; //表名
    private static int DB_VERSION = 1;  //版本号
    private static String SQL = "create table userinfo("//创建数据库语句
            + "id integer primary key autoincrement,"   //主键
            + "account text,"  //字符串型
            + "nickname text,"   //数据库字段
            + "sex text,"
            + "age integer,"  //整型
            + "password text)";


    public static class UserDBOpenHelper extends SQLiteOpenHelper {
        private Context context;

        public UserDBOpenHelper(Context context) {
            super(context, DB_NAME, null, DB_VERSION);  //数据库传入数据库名及版本号
            this.context = context;
        }

        @Override
        public void onCreate(SQLiteDatabase db) {  //创建数据库
            db.execSQL(SQL);  //执行SQL语句
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  //当数据库版本发生变化执行
            db.execSQL("drop table if exists userinfo");   //有这个数据库则删除重新创建
            db.execSQL(SQL);
        }
    }

    public void OpenUserDb(Context context) {  //打开数据库
        UserDBOpenHelper userDBOpenHelper = new UserDBOpenHelper(context);
        writableDatabase = userDBOpenHelper.getWritableDatabase();  //对数据库增删查改方法
    }

    public long insertUserData(User user) {   //增加数据
        String account = user.getAccount();   //获取控件输入的值
        String nickname = user.getNickname();
        String sex = user.getSex();
        String password = user.getPassword();
        int age = user.getAge();

        ContentValues contentValues = new ContentValues();  //存储信息

        contentValues.put("account", account);  //调用contentValues.put()方法通过键值存入键值
        contentValues.put("nickname", nickname);
        contentValues.put("sex", sex);
        contentValues.put("password", password);
        contentValues.put("age", age);
		//调用增加数据writableDatabase.insert方法,第一个参数表名
        return writableDatabase.insert("userinfo", null, contentValues);  /
    }
    
	public List<User> FindAllUser() {  //查询数据库所有数据
	 	//封装了一个数据库字段的类,创建列表对象,存储查到找的所有用户信息
        List<User> users = new ArrayList<>(); 
        //查询条件
        Cursor userinfo = writableDatabase.query("userinfo", null, null, null, null, null, null, null);
        while (userinfo.moveToNext()) {
        	//获取查找到的信息并保存临时变量
            String account = userinfo.getString(userinfo.getColumnIndex("account"));  
            String nickname = userinfo.getString(userinfo.getColumnIndex("nickname"));
            String sex = userinfo.getString(userinfo.getColumnIndex("sex"));
            String password = userinfo.getString(userinfo.getColumnIndex("password"));
            int age = Integer.parseInt(userinfo.getString(userinfo.getColumnIndex("age")));
            User user = new User(account, nickname, sex, password, age);//封住成对象
            users.add(user);  //增加到列表
        }
        return users;  //返回数据保存
    }
    public boolean delete(String account) {  //删除
    		//调用writableDatabase.delete()删除方法,会返回受影响行数,第一个参数表名,第二个是删除条件,
        return writableDatabase.delete("userinfo", "account = ?", new String[]{account}) > 0;
    }
  • 5
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值