2010-02-07 5 views
0

업데이트 후 내 응용 프로그램은 ContentProvider를 서버에있는 일부 데이터로 채워야합니다. ContentProvider.onCreate() 메서드에서 서비스를 시작하는 것이 효과가 있지만 좋은 생각인지 무작위로 작동하는지 확실하지 않습니다.ContentProvider.onCreate()에서 서비스를 시작할 수 있습니까?

나는 안드로이드에서 응용 프로그램의 초기화를 모른다. 콘텐츠 공급자가 생성되기 전에 서비스가 항상 사용 가능합니까?

답변

0

자세한 내용을 입력하면 더 정확한 답을 얻을 수 있지만 서비스가 ContentProvider과 연결되어 있다고 가정하면 문제가되지 않습니다.

서비스가 ContentProvideronCreate 내에서 호출되면 사용할 수 있습니다. 그러나 onCreate이 호출되지 않으면 메소드 내부에서 생성 된 모든 항목을 사용할 수 없습니다.

0

흠 ... 이론 상으로는 괜찮을 지 모르지만 나는 왜 당신에게 서비스가 필요한지 스스로에게 묻고 있습니다. 내게있어 서비스는 백그라운드에서 실행되는 것으로, 서버의 최신 데이터로 앱을 최신 상태로 유지할 수있는 작업을 수행합니다.

정확하게 이해하고 자신의 콘텐츠 공급자를 구현 한 경우 콘텐츠 공급자가 일부 활동/서비스에 의해 쿼리되는 시점에 서버에서 데이터를 가져와야한다고 가정합니다. 그게 더 적절하고 적절한 자원이 아니겠습니까?

나는 안드로이드에서 응용 프로그램의 초기화를 알지 못합니다. 콘텐츠 공급 업체가 이되기 전에 서비스를 항상 사용 가능하게 설정하고 있습니까? ?

Android 앱은 일반적으로 모듈 앱으로 설계되어 있기 때문에 앱의 활동을 다른 앱과 공유하거나 실제로 Android 기기의 SMS 발신자 활동을 호출 할 수 있습니다. 따라서 일반 데스크톱 응용 프로그램에 익숙한 메인() 어딘가에 있지만, 안드로이드 OS에 의해 호출되어 활동 시작을 호출하는 onCreate()이 있습니다. 나는 그것을 immagine 수

유일한 진입 점은 데스크톱 응용 프로그램의 홈페이지()에 가장 가까운 것은 안드로이드 어플리케이션 클래스를 무시하고 매니페스트 파일

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()이 있는데, 이는 앱이 시작될 때 호출되는 첫 번째 메소드입니다. 하지만 여전히 초기화 할 부분에주의를 기울일 것입니다. 정말로 필요한 리소스를 초기화하고로드해야합니다.

+0

데이터를 최신 상태로 유지하는 서비스가 이미 있습니다. 그러나 응용 프로그램이 업데이트되면 일정을 잡기 전에 업데이트 서비스가 강제로 작업을 수행해야합니다. – Tughi

관련 문제