Threading-Beispiel in Android [geschlossen]

74

Ich möchte ein einfaches Beispiel für die Thread-Erstellung und das Aufrufen von Threads in Android.

RAM
quelle
Sie können auch auf diesen Beitrag verweisen: stackoverflow.com/questions/9148899/returning-value-from-thread
Ravindra babu

Antworten:

88

Dies ist ein schönes Tutorial:

http://android-developers.blogspot.de/2009/05/painless-threading.html

Oder dies für den UI-Thread:

http://developer.android.com/guide/faq/commontasks.html#threading

Oder hier eine sehr praktische:

http://www.androidacademy.com/1-tutorials/43-hands-on/115-threading-with-android-part1

und noch eine über Proccesen und Fäden

http://developer.android.com/guide/components/processes-and-threads.html

RoflcoptrException
quelle
8
Die ersten beiden Links funktionieren nicht. Für den ersten Link versuchen Sie Link Für den zweiten Link versuchen Sie Link
Dexter
5
Die Antwort ist fast 1,5 Jahre alt. Ich versuche die Links zu aktualisieren.
RoflcoptrException
Sie sind wirklich nett, eine unspezifische Frage wie diese beantwortet zu haben
Eine Person
Ich würde nicht zustimmen, dass es sich um eine unspezifische Frage handelt: Sie fragt die Community nach einem ganz bestimmten Beispiel mit einem ganz bestimmten Fokus.
WillC
10

Eine der leistungsstarken Funktionen von Androids ist die AsyncTask- Klasse.

Um damit zu arbeiten, müssen Sie es zuerst erweitern und überschreiben doInBackground(...). doInBackgroundautomatisch ein Arbeiter - Thread ausgeführt wird , und Sie können einige Zuhörer auf dem UI - Thread hinzufügen , um Status - Update , um informiert zu werden diese Funktionen aufgerufen: onPreExecute(), onPostExecute()undonProgressUpdate()

Ein Beispiel finden Sie hier .

Weitere Alternativen finden Sie im folgenden Beitrag:

Handler vs AsyncTask vs Thread

Endian Ogino
quelle
Ich bin mir ziemlich sicher, dass dein Link tot ist.
While-E
@ While-E Ich fürchte, Sie haben Recht
Endian Ogino
2
Ich habe gerade den Link aktualisiert. Der Blog ist an diesen neuen Ort
umgezogen
8

Hier ist ein einfaches Threading-Beispiel für Android. Es ist sehr einfach, aber es sollte Ihnen helfen, eine Perspektive zu bekommen.

Android-Code - Main.java

package test12.tt;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Test12Activity extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final TextView txt1 = (TextView) findViewById(R.id.sm);

        new Thread(new Runnable() { 
            public void run(){        
            txt1.setText("Thread!!");
            }
        }).start();

    }    
}

Android-Anwendung xml - main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView  
    android:id = "@+id/sm"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"/>

</LinearLayout>
mbejda
quelle
49
Dies scheint mir ein falsches Beispiel zu sein, da ein UI-Update über einen Hintergrund-Thread durchgeführt wird.
Frank Harper
1
Wenn Sie den UI-Thread aktualisieren, sollten Sie den Handler verwenden, da dies die mittlere Ebene zwischen dem UI-Thread und Ihrem Spawn-Thread ist. Auf diese Weise bleiben Sie vor Dead Locking
geschützt
2
developer.android.com/guide/components/… rät genau von dieser Art der Programmierung ab, da sie gegen die Regel "Nicht von außerhalb des UI-Threads auf das Android-UI-Toolkit zugreifen" verstößt
Serkan Arıkuşu
1
Ich bin mir ziemlich sicher, dass es in neueren Versionen von Android manchmal nicht einmal so funktioniert.
Giszmo
1
Es verstößt gegen die zweite Regel des Single-Thread-Modells:
Greifen