Invia una richiesta al servizio web each 5 secondi

Voglio ascoltare il database del server sql per sapere se ci sono cambiamenti di dati in android in modo da desidero submit richiesta al servizio web each 5 secondi per conoscere nuovi valori di dati. Come posso fare questo? Puoi dare un esempio su di esso?

  • Registra GCM da un progetto di libreria
  • Android AVD non mostra nulla. solo "ANDROID" al centro dello schermo
  • Passare ArrayList attraverso l'intento
  • Passaggio di un cursore tra i processi (Cursore parcellabile)
  • Come gestire il buffer di indice in OpenGL ES 1.1
  • Metodo di chiamata quando il button Home è stato premuto su android
  • 4 Solutions collect form web for “Invia una richiesta al servizio web each 5 secondi”

    Puoi farlo con AsyncTask,

    public void callAsynchronousTask() { final Handler handler = new Handler(); Timer timer = new Timer(); TimerTask doAsynchronousTask = new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { try { PerformBackgroundTask performBackgroundTask = new PerformBackgroundTask(); // PerformBackgroundTask this class is the class that extends AsynchTask performBackgroundTask.execute(); } catch (Exception e) { // TODO Auto-generated catch block } } }); } }; timer.schedule(doAsynchronousTask, 0, 50000); //execute in every 50000 ms } 

    Altro: Come eseguire l'attività Async ripetutamente dopo intervalli di tempo fissi

    Utilizzare la class Service e all'interno della class di servizio implementa il thread scheduler che invierà la richiesta each 5 secondi. Di seguito è lo snippet ecode:

     public class ProcessingService extends Service { private Timer timer = new Timer(); @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { sendRequest(); } }, 0, 5000;//5 Seconds } @Override public void onDestroy() { super.onDestroy(); shutdownService(); } } 

    Utilizza questo codice:

      ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); scheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { // TODO Auto-generated method stub // Hit WebService } }, 0, 5, TimeUnit.SECONDS); 

    Il voto non è generalmente una buona idea. Perché crea un carico non necessario nel server. Nel tuo caso, 20 richieste al minuto per utente.

    Quindi vai per il meccanismo di spinta. Quindi l'idea sarà così, each volta che riceverai un messaggio di spostamento chiamerai il servizio web per get i dati più recenti.

    Questo collegamento ti aiuterà: Spingere, non votare – Come utilizzare GCM per aggiornare l'applicazione

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.