senps
senps

Reputation: 594

Create a Timer to send HTTP request Periodically - Android

I want to end HTTP request from a Android device to a web server and check a particular data of a database periodically (once a minute). I couldn't implement a timer for this.

Thanks

Upvotes: 4

Views: 8576

Answers (4)

Anu
Anu

Reputation: 7177

TimerTask doAsynchronousTask;
final Handler handler = new Handler();
Timer timer = new Timer();

doAsynchronousTask = new TimerTask() {

    @Override
    public void run() {

        handler.post(new Runnable() {
            public void run() {
                 if(isOnline){// check net connection
                  //what u want to do....
                }

            }
        });

    }

};

timer.schedule(doAsynchronousTask, 0, 10000);// execute in every 10 s

Upvotes: 1

Corbella
Corbella

Reputation: 1812

The most easy method is to loop a Handler:

private Handler iSender = new Handler() { 
    @Override
    public void handleMessage(final Message msg) { 
        //Do your code here
        iSender.sendEmptyMessageDelayed(0, 60*1000);
    }
};

To start the loop call this sentence:

    iSender.sendEmptyMessage(0);

Upvotes: 0

user1468129
user1468129

Reputation:

public class MyActivity extends Activity {
Timer t ;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    t = new Timer();
    t.schedule(new TimerTask() {

        public void run() {


            //Your code will be here 

        }
      }, 1000);

   }
}

Upvotes: 11

meeDamian
meeDamian

Reputation: 1164

Try AlarmManager running Service. I wouldn't recommend sending request each minute thou, unless it's happening only when user manually triggered this.

Upvotes: 2

Related Questions