Come posso accedere alla mia classe Handler / runnable da tutte le mie altre classi in Android?

1

Sto cercando di creare una classe che mi permetta di fare qualcosa ogni 5 secondi e voglio essere in grado di avviare e fermare questa operazione da qualsiasi altra classe. Ecco la mia classe di timer:

public class Timer extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);


}

    Handler handler = new Handler();
    Runnable runnable = new Runnable() {

        public void run() {

            Toast.makeText(getApplicationContext(), "DISPLAY MESSAGE", Toast.LENGTH_SHORT).show();
            handler.postDelayed(runnable, 5000);
        }
    };
}

Ora le mie conoscenze sulla programmazione orientata agli oggetti non sono buone come pensavo, sono abituato a creare istanze di classi e ad usare le proprietà delle classi, ma come posso usare le proprietà delle classi una volta sull'intero programma, faccio creare ancora istanze della classe Timer in altre classi? Dovrei usare il pattern Singleton, o dovrei rendere la classe statica?

Quindi fondamentalmente in Class1 vorrei avviare il timer in questo modo:

Timer.runnable.run();

E forse in Class2 interrompi il runnable avviato in Class1 in questo modo:

Timer.handler.removeCallbacks(runnable);

Sto cercando un consiglio e una spiegazione sul modo corretto di programmare questa idea e perché.

Grazie!

    
posta deucalion0 22.03.2013 - 21:31
fonte

1 risposta

1

Puoi utilizzare una classe di applicazione link

link

    
risposta data 02.04.2013 - 08:32
fonte

Leggi altre domande sui tag