2015-01-15 2 views
-1
  • 에서 데이터를 가져 오는 동안 계속 배경 서비스를 실행, 나는 ... 나는 나에게 알림을 제공 지속적으로 배경 &를 실행하는 간단한 서비스를 작성하려는 URL에서 데이터 가져 오기가
+1

귀하의 질문은 매우 광범위합니다. 당신이하고 싶은 것을 말하기보다는 문제가되는 것이 무엇인지 구체적으로 밝혀주십시오. URL에서 데이터를 다운로드하는 방법이나 서비스를 작성하는 방법 또는 작업 완료시 알림을받는 방법을 알고 싶습니까? – VipulKumar

+0

백그라운드 서비스를 만들려면 IntentService 또는 Service 또는 AsyncTask를 사용할 수 있습니다. 자세한 내용은 http://stackoverflow.com/a/3028660/3922207을 참조하십시오. –

+0

@ VipulKumar 선생님, URL에서 AsyncTask를 사용하여 다운로드 데이터를 알고 있지만 IntentService에서 – NILU

답변

0

메인 스레드가 데이터를 가져올 때까지 기다리지 말고 백그라운드에서 url로부터 데이터를 얻는 방법에 대해 질문하면 Asynctask를 통해이를 확인할 수 있습니다. 아래 코드 예제 :

private class DownloadWebPageTask extends AsyncTask<String, Void, String> { 
    @Override 
    protected String doInBackground(String... urls) { 
     String response = ""; 
     for (String url : urls) { 
     DefaultHttpClient client = new DefaultHttpClient(); 
     HttpGet httpGet = new HttpGet(url); 
     try { 
      HttpResponse execute = client.execute(httpGet); 
      InputStream content = execute.getEntity().getContent(); 

      BufferedReader buffer = new BufferedReader(new InputStreamReader(content)); 
      String s = ""; 
      while ((s = buffer.readLine()) != null) { 
      response += s; 
      } 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     } 
     return response; 
    } 

    @Override 
    protected void onPostExecute(String result) { 
     textView.setText(result); 
    } 
    } 
+0

에 AsyncTask를 사용하여 AsyncTask를 예약 할 수 있습니다. – NILU

+0

예. 가능합니다. 그러나 나는 그것에 대한 필요성을 이해하지 않는다. Asynctask는 AlarmManger와 마찬가지로 다른 스레드에서 일부 작업을 실행합니다. 앱이 작동하지 않을 때 뭔가를 실행하려면 AlarmManager를 사용할 수 있습니다. asynctask 내의 모든 코드를 Alarm에 의해 실행되는 BroadcastReceiver의 onReceive()에 복사하면됩니다. – Psypher

+0

선생님 내 앱에서 URL에서 데이터 가져 오기 AsyncTask를 사용하여 이러한 URL 매일 업로드 또는 일부 새 데이터를 업데이트 한 다음 이러한 데이터를 다운로드하는 것이 가능합니다 하루에 한 번, – NILU

관련 문제