Android开发人员:应用程序启动时做一些事情

Android开发人员:应用程序启动时做一些事情,android,oncreate,activity-lifecycle,Android,Oncreate,Activity Lifecycle,我正在尝试为我的应用程序实现同步过程。内部sqlite数据库必须与远程mysql数据库同步。 这很好,但现在我想实现,总是在应用程序启动时调用sync方法。 我只是把它放在onCreate()方法中,但现在的问题是,每次我带着意图从进一步的活动返回时,都会调用sync方法 对不起,我的英语不好,希望你们能理解 提前感谢,, 约书亚解决方案1 您可以在应用程序类的onCreate()中扩展和同步数据 package com.your.package public class MyApplicat

我正在尝试为我的应用程序实现同步过程。内部sqlite数据库必须与远程mysql数据库同步。 这很好,但现在我想实现,总是在应用程序启动时调用sync方法。 我只是把它放在onCreate()方法中,但现在的问题是,每次我带着意图从进一步的活动返回时,都会调用sync方法

对不起,我的英语不好,希望你们能理解

提前感谢,,
约书亚

解决方案1

您可以在应用程序类的
onCreate()
中扩展和同步数据

package com.your.package

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        // Sync data here
    }
}
现在打开AndroidManifest.xml并找到
标记。换成

<application
    android:name=".MyApplication"
    ...>

这两个标志将从堆栈中删除此InitActivity,因此当用户按“上一步”按钮时,他们将不会返回此活动。

这听起来非常好而且简单。我想测试一下,但我遇到了一个小问题。我的MainActivity中已经有一个同步方法。从应用类我不能使用这种方法,只是复制粘贴它是一种明智的方式吗?是的,我认为它是好的。如果您遇到任何问题,请告诉我。这太棒了。在出现一些错误后,它现在可以工作了。这些错误是由ProgressDialog和某些对话框引起的。在我看来,我不能在应用程序中使用Toast或Dialog,这听起来很合乎逻辑,但有没有一种方法可以显示它呢?您需要一个活动上下文来显示Dialog。如果您仍然需要该对话框,请检查我的更新。
Intent intent = new Intent(SyncActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);