当用户在android studio中输入新值时,如何保持数据库更新?

当用户在android studio中输入新值时,如何保持数据库更新?,android,Android,我正在处理一个简单的应用程序,它基本上存储各种日期。但当我输入新日期时,我必须关闭应用程序并再次打开它。更改日期值也同样重要。我只能通过关闭应用程序并重新打开它来查看更改。 下面是我的DB类中的两个主要函数 public void addBirthday(Person person){ //Add a data to database SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv = new C

我正在处理一个简单的应用程序,它基本上存储各种日期。但当我输入新日期时,我必须关闭应用程序并再次打开它。更改日期值也同样重要。我只能通过关闭应用程序并重新打开它来查看更改。 下面是我的DB类中的两个主要函数

public void addBirthday(Person person){  //Add a data to database
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues cv = new ContentValues();
    cv.put(column_name, person.getName());
    cv.put(column_sname, person.getSname());
    cv.put(column_day, person.getDay());
    cv.put(column_month, person.getMonth());
    cv.put(column_year, person.getYear());

    db.insert(TABLE_NAME, null, cv);
    db.close();
}

public int updateBirthday(Person person) {

    // 1. get reference to writable DB
    SQLiteDatabase db = this.getWritableDatabase();

    // 2. create ContentValues to add key "column"/value
    ContentValues cv = new ContentValues();

    cv.put(column_name, person.getName());
    cv.put(column_sname, person.getSname());
    cv.put(column_day, person.getDay());
    cv.put(column_month, person.getMonth());
    cv.put(column_year, person.getYear());

    // 3. updating row
    int i = db.update(TABLE_NAME, //table
            cv, // column/value
            column_id +" = ?", // selections
            new String[] { String.valueOf(person.getId()) }); //selection args

    // 4. close
    db.close();

    return i;

}

您需要刷新显示此数据的视图(可能是
列表视图
)。

去掉notifyDataSetChanged()并在光标上调用requery()