2013-10-07 6 views
1

서버에 데이터를 업로드 할 앱을 만들고 싶습니다. 나는 서버에 데이터를 업로드하고 있으므로 데이터 연결을 업로드하는 동안 사용자가 연결을 옮기는 일정 시간이 일정하지 않을 때 필요하지 않습니다. 그래서 내가 원하는 것은 연결이 끊어지면 백그라운드에서 실행되어야합니다. 연결이 가능 해지면 서버에 데이터를 보내기 시작합니다. 아무에게도이 작업을 수행 할 수 있습니까? Wi-Fi 및 모바일 인터넷의 신호 강도를 찾는 방법이 있습니까? 어떤 아이디어라도 환영합니다. 미리 감사드립니다. phonegap에서 백그라운드에서 계속 프로세스를 실행하는 방법 android

답변

0

setInterval 메서드를 사용하여 network connection 상태 함수 (phonegap api 사용)를 그 안에 넣습니다. 따라서 특정 시간 간격 동안 트리거가됩니다. 연결이 설정되면 서버에 데이터를 업로드하십시오.

+0

신호 강도가 아닌 연결 유형을 찾기 위해 네트워크 연결을 시도했습니다 ... –

+0

사용자가 msg를 보낼 때 whatsapp 앱이하는 것과 같은 것을 만들고 싶습니다. 연결이 끊어지면 어떻게할까요? 그것은 지속적으로 인터넷 연결을 확인하는 몇 가지 백그라운드 프로세스를 수행하고 일단 그것이 메시지를 보내는 연결을 발견했다. 서버에 데이터를 업로드하는 동안 이와 동일한 작업을 수행하려고합니다. –

+0

@NeeravShah 내 아이디어를 얻었습니까? 내 LBS 응용 프로그램에서 구현, setinterval + PG 네트워크 연결을 사용하여 인터넷 연결이있을 때 데이터를 서버에 업로드합니다. –

0

첫 번째 질문 인 배경 처리에 대한 답변을 시도해보십시오. 사실, 이것을 달성하는 여러 가지 방법이 있습니다. 첫 번째는 실제 백그라운드 프로세스, 즉 Linux 데몬과 같습니다. 그냥 여러 기사를 찾아보십시오. 또 하나는 GUI 스레드에서 스레드를 시작하는 것입니다. 다음은 간단한 예입니다.

public void onStartButtonClick(View view) { 
    Log.i("onStartButtonClick", "clicked"); 
    mProgress = 0; 
    new Thread() { 
     @Override 
     public void run() { 
      Log.i("thread-" + Thread.currentThread().getId(), "run() method just started"); 
      while (mProgress < 100) { 
       try { 
        Thread.sleep(mSleepTime); 
        mProgress++; 
        Log.i("thread-" + Thread.currentThread().getId(), "progress is " + mProgress); 
        mHandler.post(mUpdateGUI); 
       } catch (InterruptedException e) { 
        // e.printStackTrace(); 
       } 
      } 
     } 
    }.start(); 

간략화 된 예입니다. 원래 GUI 스레드를 콜백하는 옵션으로 mHandler.post()가 추가되었습니다 (스레드에서 GUI를 직접 호출 할 수 없음). 클래스에 몇 가지 추가 코드가 필요합니다.

// Need handler for callbacks to the UI thread 
final Handler mHandler = new Handler(); 

// Create runnable for posting 
final Runnable mUpdateGUI = new Runnable() { 
    public void run() { 
     updateProgress(); 
    } 
}; 

updateProgress 메서드는 GUI에서 호출 할 수있는 권한입니다. 예 :

private void updateProgress() { 
    mProgressBar.setProgress(mProgress); 
} 

희망 사항은 올바른 방향으로 당신을 도울 것입니다. 행운을 빕니다.

+0

방법 phonegap 프로젝트에서 기본 코드를 사용하십시오 ... –

+0

사용자가 msg를 보낼 때 whatsapp 앱이하는 것과 같은 것을 만들고 싶습니다. 연결이 끊어지면 인터넷 연결을 지속적으로 확인하기위한 백그라운드 프로세스를 수행하고 연결을 찾았습니다 msg를 보냅니다. 서버에 데이터를 업로드하는 동안 이와 동일한 작업을 수행하려고합니다. –

+0

미안하지만, 나는 그것이 'phonegap'프로젝트에 관한 것이라고 생각했다. 나는 그것에 익숙하지 않다. 나는 원래 질문 아래에있는 'Android'태그를 발견했습니다. – fredvanl

관련 문제