在我的Android应用程序中,sqlite db在安装第一次应用程序时安装。我在amazon aws服务器上保留了sqlite db。应用程序下载 db来自那里。
现在,当用户打开应用程序时,它应该检查服务器上是否有新的数据库。如果它在那里,那么下载否则使用现有的数据库。
我的问题是我应该在何处以及何时在Android应用中执行上述数据库检查?当应用程序恢复不是特定的活动时,我想这样做。
我很想在主要活动的Onresume()中做这件事,但我认为如果用户在不同的活动中关闭应用程序,可能会调用或不调用它。我还要考虑表现......
假设我们有活动A,B和C.他们可以在彼此之间来回跳跃。每次调用其中一个时,OnResume()总是被触发。用户可以将应用程序保留在活动B或C上,进行一些浏览,然后在活动B或C上返回应用程序。
请帮忙......
答案 0 :(得分:0)
答案 1 :(得分:0)
我发现了一些关于你理解Sqlite的问题。 SQLite是内置的,但不是“安装首次应用时安装”。 您使用的数据库是在您第一次使用时创建的。然后它将始终存在于那里。您可以在此数据库发生错误时更新它。 同时,您可以使用Activity的生命周期方法和一些小的私有布尔参数。例如,A中的boolean flag = false,当你跳到B时,将调用onAause,然后你可以设置flag = true。然后你回到A,onResume将被调用,然后你可以这样做:
if(flag){
//check your db status
flag=false;
} else {
//do something else here.
}