Android应用中SQL数据库的更新频率

时间:2016-05-10 21:10:21

标签: android mysql sql database sqlite

我不熟悉使用带有应用程序的sql数据库。

我创建了一个应用程序,可以使用用户手机中的信息(例如位置)实时更新SQL数据库。当应用程序停止时,应用程序会停止存储此数据。但是,当我提取数据库时(通过使用adb备份将应用程序文件备份到tar文件中),数据库文件似乎已停止更新7小时之前我停止了应用程序和时间戳该文件“最后修改”也比我预期的早7个小时。查看数据,数据库每隔一秒钟更新一次,直到此时都没有任何差距。

我想知道为什么数据库在某个点之后停止更新,即使应用程序没有停止。

sql数据库是否有数据/记录限制?创建SQL数据库和更新SQL数据库之间通常存在差距吗?

我在Android Studio中创建了应用。以下是在收到数据时更新表的JAVA代码:

//Upgrade Method
    // Lets you drop a tables when there is an update
   @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+myDataTable);

        onCreate(db);

    }


 //Update table Method
    public boolean insertData(final String results1, final String results2) {
        SQLiteDatabase db = this.getWritableDatabase();
        //create instance of contentvalue
        ContentValues contentValues = new ContentValues();
        //put the column and value information inte contentValues.put() function
        contentValues.put(col1, results1);
        contentValues.put("myData", results2);
        //actually insert the data
        long result = db.insert(myDataTable, null, contentValues);
        if (result==-1)
            return false;
        else
            return true;
    }

我希望你告诉我数据库需要花费数小时才能更新,如果我再次提取db文件,那么所有数据都会在那里!!

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题并且根据我的知识,使用Android提供的某种方法将数据写入sqlite数据库之间没有时间间隔,如

db.insert(String table, String nullColumnHack, ContentValues values);

并将数据反映在表格中。插入数据时应该出错。检查插入函数的返回值。如果它已返回-1,那么插入时会出错。