Android ::需要在Android应用程序恢复不活动时执行某些任务

时间:2015-03-19 09:49:22

标签: android

在我的Android应用程序中,sqlite db在安装第一次应用程序时安装。我在amazon aws服务器上保留了sqlite db。应用程序下载 db来自那里。

现在,当用户打开应用程序时,它应该检查服务器上是否有新的数据库。如果它在那里,那么下载否则使用现有的数据库。

我的问题是我应该在何处以及何时在Android应用中执行上述数据库检查?当应用程序恢复不是特定的活动时,我想这样做。

我很想在主要活动的Onresume()中做这件事,但我认为如果用户在不同的活动中关闭应用程序,可能会调用或不调用它。我还要考虑表现......

假设我们有活动A,B和C.他们可以在彼此之间来回跳跃。每次调用其中一个时,OnResume()总是被触发。用户可以将应用程序保留在活动B或C上,进行一些浏览,然后在活动B或C上返回应用程序。

请帮忙......

2 个答案:

答案 0 :(得分:0)

我认为你应该使用

onCreate   

你申请班的方法。
Here the link to Application class reference

答案 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.
}