Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 可以从ContentProvider.onCreate()启动服务吗?_Android - Fatal编程技术网

Android 可以从ContentProvider.onCreate()启动服务吗?

Android 可以从ContentProvider.onCreate()启动服务吗?,android,Android,更新后,我的应用程序需要用服务器上的一些数据填充其ContentProvider。 我发现从ContentProvider.onCreate()方法启动服务是可行的,但我不确定这是一个好主意还是随机的 我不知道android中应用程序的初始化。在创建内容提供商之前,服务是否始终可用?详细信息越多,您将收到的答案越准确,但假设您的服务与您的内容提供商关联,则可以 如果在ContentProvider的onCreate中调用您的服务,则该服务将可用。但是如果你的onCreate没有被调用,那么在方法

更新后,我的应用程序需要用服务器上的一些数据填充其ContentProvider。 我发现从ContentProvider.onCreate()方法启动服务是可行的,但我不确定这是一个好主意还是随机的


我不知道android中应用程序的初始化。在创建内容提供商之前,服务是否始终可用?

详细信息越多,您将收到的答案越准确,但假设您的服务与您的
内容提供商关联,则可以


如果在
ContentProvider
onCreate
中调用您的服务,则该服务将可用。但是如果你的
onCreate
没有被调用,那么在方法内部创建的任何东西都将不可用。

嗯……理论上应该没问题,但我在问自己为什么需要服务。对我来说,服务是在后台运行的东西,执行一些任务,这些任务也可能是使用来自服务器的新数据保持应用程序的最新状态

如果我理解正确,并且您实现了自己的内容提供商,那么我假设您必须在某个活动/服务查询您的内容提供商时从服务器获取数据。这不是更合适、更温和吗

我不知道一个函数的初始化 android中的应用程序。是吗 服务总是已经可用 在创建内容提供商之前 创造

Android应用程序通常被设计成模块化的,这也是为什么你可以与其他应用程序共享你的应用程序的活动,或者实际上调用你的Android设备的短信发送者活动。因此,在普通的桌面应用程序中没有Main(),而是安卓操作系统调用的
onCreate()
,用于启动活动

在桌面应用程序中,我唯一能找到的最接近Main()的入口点是重写Android应用程序类,并在清单文件中适当地注册它

public class AndroidApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
    }

    @Override
    public void onLowMemory() {
        super.onLowMemory();
    }

    @Override
    public void onTerminate() {
        super.onTerminate();
    }
}
你的舱单呢

<application android:name=".main.AndroidApplication" android:icon="@drawable/icon" android:label="@string/app_name">
...
</application>

...

这里有您的
onCreate()
,它是应用程序启动时调用的第一个方法。但我还是会注意你们将要初始化的内容。您应该始终初始化并加载您真正需要的资源。

我已经有了使数据保持最新的服务。但是如果应用程序得到更新,我需要一种方法来强制更新服务在预定时间之前完成它的工作。