либо использовать AsyncTask — что достаточно удобно.
либо можно запустить свой тред — и в нем выполнить.
что-то примерно такое:
public class WorkerThread {
private static WorkerThread instance;
HandlerThread thread;
Looper looper;
Handler handler;
public WorkerThread() {
thread = new HandlerThread(«worker for gdx»);
thread.start();
looper = thread.getLooper();
handler = new Handler(looper);
}
public static WorkerThread getInstance(){
if (instance == null)
instance = new WorkerThread();
return instance;
}
public void post(Runnable r){
handler.post®;
}
public void postDelayed(Runnable r, long delayMillis){
handler.postDelayed(r, delayMillis);
}
public void dispose(){
thread.quit();
instance = null;
}
}
в этом случае — в тред можно добавлять несколько задач — они будут выполняться одна за одной.
но если потом надо будет что-то выполнить в UI-треде (например, всё взаимодействие с UI должно происходить в UI-треде — иначе ексепшены) — то надо использовать метод Activity: runOnUiThread(Runnable r)
либо View: post(Runnable r)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
либо можно запустить свой тред — и в нем выполнить.
что-то примерно такое:
public class WorkerThread {
private static WorkerThread instance;
HandlerThread thread;
Looper looper;
Handler handler;
public WorkerThread() {
thread = new HandlerThread(«worker for gdx»);
thread.start();
looper = thread.getLooper();
handler = new Handler(looper);
}
public static WorkerThread getInstance(){
if (instance == null)
instance = new WorkerThread();
return instance;
}
public void post(Runnable r){
handler.post®;
}
public void postDelayed(Runnable r, long delayMillis){
handler.postDelayed(r, delayMillis);
}
public void dispose(){
thread.quit();
instance = null;
}
}
в этом случае — в тред можно добавлять несколько задач — они будут выполняться одна за одной.
но если потом надо будет что-то выполнить в UI-треде (например, всё взаимодействие с UI должно происходить в UI-треде — иначе ексепшены) — то надо использовать метод Activity: runOnUiThread(Runnable r)
либо View: post(Runnable r)