Пример потоков в Android
Я хочу простой пример создания потоков и вызова потоков в Android.
3 ответа
Это хороший учебник:
http://android-developers.blogspot.de/2009/05/painless-threading.html
Или это для потока пользовательского интерфейса:
http://developer.android.com/guide/faq/commontasks.html
Или вот очень практичный:
http://www.androidacademy.com/1-tutorials/43-hands-on/115-threading-with-android-part1
и еще один о процессах и потоках
http://developer.android.com/guide/components/processes-and-threads.html
Одной из мощных функций Android является класс AsyncTask.
Чтобы работать с ним, вы должны сначала расширить его и переопределить doInBackground
(...). doInBackground
автоматически выполняется в рабочем потоке, и вы можете добавить несколько слушателей в потоке пользовательского интерфейса, чтобы получать уведомления об обновлении статуса, эти функции называются: onPreExecute()
, onPostExecute()
а также onProgressUpdate()
Вы можете найти пример здесь.
Обратитесь к сообщению ниже для других альтернатив:
Вот простой пример многопоточности для Android. Это очень просто, но это должно помочь вам получить представление.
Код Android - 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-приложение 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>