Soru & Cevap

Uygulamamda belli aralikla veri sıfırlama ...

04.04.2020 - 12:50

Arkadaşlar uygulamamda veri çektiğim bur bir textview im var bunu uygulamanin kendisi hergun gece 00.00 da resetlemesini istiyorum nasıl yapabilirim

6 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user f.erenyucal
f.erenyucal
17.02.2023 - 11:26

Merhaba İbrahim, bunu yapmanın farklı yolları vardır ve maalesef uzmanlık alanım bu değil. Bu yüzden yazdığım teknik uzunsa kusuruma bakma. Buyur

 

AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, ResetDataReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);

alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent);

 

Gece yarısı sıfırlama işlemi için bir BroadcastReceiver sınıfı oluşturmanız gerekiyor. Bu sınıf, AlarmManager tarafından tetiklendiğinde çalışacak olan işlemleri içerecektir. Örneğin, aşağıdaki kodu kullanarak ResetDataReceiver adlı bir BroadcastReceiver sınıfı oluşturabilirsin

 

public class ResetDataReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
       
        TextView textView = (TextView) findViewById(R.id.my_textview);
        textView.setText("");
    }
}

 

BroadcastReceiver sınıfı, AlarmManager tarafından tetiklendiğinde "onReceive()" yöntemi çağrılır. Bu yöntemi kullanarak, verilerinizi sıfırlayabilirsiniz. Örneğin, textview'ın içeriğini sıfırlamak için aşağıdaki kodu kullanabilirsin

 

TextView textView = (TextView) findViewById(R.id.my_textview);
textView.setText("");