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可以查看源碼,源碼地址

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