2015-02-04 2 views
0

내 애플리케이션의 동기화 프로세스를 구현하려고합니다. 내부 sqlite 데이터베이스는 원격 mysql 데이터베이스와 동기화되어야합니다. 잘 작동하지만, 이제 구현하고 싶습니다. 항상 앱에서 sync 메소드가 호출되면 시작됩니다. 간단히 말해 onCreate() 메서드에 넣었지만 이제는 Intent를 사용하여 추가 활동에서 돌아올 때마다 sync 메서드가 호출됩니다.Android Dev : 앱 시작시 작업 수행

불쌍한 영어로 죄송합니다. 사전에

감사합니다, 여호수아

답변

2

해결 방법 1

당신은 응용 프로그램 클래스에서 onCreate()에 데이터를 Application을 확장하고 동기화 할 수 있습니다.

package com.your.package 

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

     // Sync data here 
    } 
} 

이제 AndroidManifest.xml을 열고 <application> 태그를 찾으십시오. , SyncActivity 만들기

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


해결 방법 2

로 변경하면 응용 프로그램 열어 첫 번째 활동합니다. 여기에 데이터를 동기화하고, 그 후,

Intent intent = new Intent(SyncActivity.this, MainActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
startActivity(intent); 

두 플래그에 의해 원래의 활동을 열 스택에서이 InitActivity을 제거하므로 사용자가 버튼을 다시 누르면, 그들은 다시이 활동하지 않습니다.

+0

정말 대단하고 쉽게 들립니다. 나는 그것을 시험하고 싶었다. 그러나 나는 약간의 문제가있다. 내 MainActivity에 이미 동기화 메서드가 있습니다. 응용 프로그램 클래스에서 나는 그 방법을 사용하지 않습니다, 그냥 복사 및 붙여 넣기 현명한 방법입니까? – JoshuadV

+0

네, 괜찮다고 생각합니다. 문제가 발생하면 알려주세요. – iForests

+0

이제 몇 가지 오류가 발생했습니다. 이 오류는 ProgressDialog 및 일부 대화 상자로 인해 발생합니다. 그것은 논리적으로 내가 토스트 또는 대화 상자 응용 프로그램에서 사용할 수 없다는 소리지만, 어쨌든 그것을 보여줄 수있는 방법이 있습니까? – JoshuadV