Hallo,
das mit dem Runable ist kein Muss !
Ein Thread fuehrt Code parallel zu deinem Aktuellen Code aus.
Du kannst auch einen "wirklichen" Thread verwendet.
Das sieht dann in etwa so aus :
1public class MeinThread extends Thread{
2
3public void run(){
4super.run();
5//mach was in einem anderen Thread
6}
7
8}
Damit kannst du was paralell ausführen....
Aufrufen kannst du das mit :
1public class MeineAndereKlasse{
2 private MeinThread thread;
3 public void openMeinThread(){
4 if (thread == null){
5 thread = new MeinThread();
6}
7thread.start();
8}
9
10
11
12
13}
Ein Handler ist imgrunde ein Interface...
Wenn z.B in unserm Thread beispiel oben der haupprozess informiert werden soll wenn der Thread das Arbeiten beendet hat kannst du das so machen :
1public interface MeinThreadHandler{
2public void meinThreadisFinish();
3...
4}
Der Oben stehende Code ändert sich auf folgendes:
1public class MeinThread extends Thread{
2private MeinThreadHandler handler= null;
3
4public MeinThread(MeinThreadHandler handler){
5this.handler = handler;
6}
7
8public void run(){
9super.run();
10//mach was in einem anderen Thread
11handler.meinThreadisFinish();
12}
13
14}
Damit kannst du was paralell ausführen....
Aufrufen kannst du das mit :
1public class MeineAndereKlasse implements MeinThreadHandler {
2 private MeinThread thread;
3 public void openMeinThread(){
4 if (thread == null){
5 thread = new MeinThread(this);
6}
7thread.start();
8}
9public void meinThreadisFinish(){
10System.out.println("Finish");
11}
12
13}
So in etwa haben den Code jetzt aber nicht getestet sonder direkt hier reingeschrieben.
Das hat übrigens nicht mit Android zu tun sondern ist ein Standart in z.B.: Java.
Somit kannst du weitere infos auch unter "java ist nur eine Insel" herrausfinden.
Als Tipp:
Versteife dich nicht auf Android.
Sondern auch immer schauen was du für Java findest...
Gruß
Fabian
— geändert am 06.03.2014, 12:46:50
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.