मुझे नियमित अंतराल में कुछ कोड करने की आवश्यकता है (सर्वर से कनेक्ट करें और हर मिनट MySQL डेटाबेस से डेटा खींचें)। इस प्रयोजन के लिए मैं एक सिंक वर्ग है:एंड्रॉइड: नियमित अंतराल में कोड निष्पादित करें
public class Sync {
static private Handler handler = new Handler();
Runnable task;
public Sync(Runnable task, long time) {
this.task = task;
handler.removeCallbacks(task);
handler.postDelayed(task, time);
}
}
और मेरी गतिविधि में मेरे पास है:
public void onCreate(Bundle savedInstanceState) {
...
Sync sync = new Sync(call,60*1000);
...
}
final private Runnable call = new Runnable() {
public void run() {
//This is where my sync code will be, but for testing purposes I only have a Log statement
Log.v("test","this will run every minute");
}
};
मैं परीक्षण के लिए एक कम समय अवधि के साथ इस की कोशिश की है, लेकिन यह केवल एक बार चलाता है। जब यह पहली बार संदेश लॉग करता है, तो यह भी आखिरी है। क्या कोई देखता है कि मैं यहाँ क्या कर रहा हूं? धन्यवाद!
scheduleWithFixedDelay एक और विकल्प है। –