Android数据库增删改查

1、前言
在我们Android开发中我们少不了对Android的数据库进行操作,今天做了一个完整的增删改查Demo,还装载了SoundPool作为提示音以及简单的自定义View。

话不多说我们直接看代码
在这里插入图片描述

这里我直接使用了简单4个按钮然后去执行不同的操作,首先我们先创建一个数据库.创建一个类来继承SQLiteOpenHelper在里面建表,**继承的SQLiteOpenHelper中分别有onCreate()和onUpgrade()方法,onUpgrade()是用来更新数据库的.我们这里只需要使用onCreate()第一次创建一个数据库就行.**代码如下.

public class DBTool extends SQLiteOpenHelper{
    public DBTool(Context context) {
        super(context, "student", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table student(" +
                "[id]             integer          not null     PRIMARY KEY," +
                "[number]             NVARCHAR(20)          not null     DEFAULT '',"+
                "[name]             NVARCHAR(20)          not null     DEFAULT '',"+
                "[age]             NVARCHAR(20)          not null     DEFAULT ''"+
                ")");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

创建完成之后我们就先来新增一条数据,创建一个StudentData工具类用来对数据库进行操作,我们使用时只需要传参就行.

public class StudentData {
    
    public static synchronized boolean insert(Student student){
        String sql="insert into student(number,name,age) values(?,?,?)";
        try {
            MainActivity.sqLiteDatabase.execSQL(sql,new Object[]{student.getNumber(),student.getName(),student.getAge()});
            return true;
        }catch (Exception e){
            return false;
        }

    }
    
}

上面我们是使用的在MainActivity中创建的SQLiteDatabase来执行sql语句,这是为了java的单例模式,SQLiteDatabase这个对象有2中获取方法,分别是getReadableDatabase()和getWritableDatabase().

增加完后,我们就需要将刚才增加的显示在界面上,先写一个查询方法.如下

public static synchronized List<Student> selectAll(){
        List<Student> list=new ArrayList<>();
        String sql="select id,number,name,age from student limit 0,9";
        Cursor cursor=null;
        try {
            cursor=MainActivity.sqLiteDatabase.rawQuery(sql,null);
            while (cursor.moveToNext()){
                Student student=new Student();
                student.setId(cursor.getInt(0));
                student.setNumber(cursor.getString(1));
                student.setName(cursor.getString(2));
                student.setAge(cursor.getString(3));
                list.add(student);
            }
            return list;
        }catch (Exception e){
            return null;
        }finally {
            if (cursor!=null){
                cursor.close();
            }
        }

    }

在这里一定需要注意,你查多少个字段那么你Cursor.get时就只能获得多少个.不然会报异常.可能会导致你程序崩哦.之后在界面上我就直接是用的一个简单的Listview展示数据的效果如上面所示.

还有另外的功能和声音装载以及简单的自定义view可以查看源码,源码地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章