У меня проблемы с выяснением, как это делается в Android.Это очень простое приложение, TextView, занимающий большую часть экрана, и ToggleButton внизу.Когда кнопка переключается на телефон, общается через сокет каждые 5 секунд, запрашивая новые данные, эти новые данные должны быть добавлены в начало TextView.
Поскольку вы не хотите выполнять 5-секундные таймеры или сетевую активность в основном потоке, который я использовал asynctask, но потоки вне основного потока не могут обновить TextView.
Вот какой-то псевдокод того, что я делаю.Как сделать так, чтобы updateView вызывался при каждом получении новых данных, но из основного потока?
Communication(IO) Variables
LinkedList строк для TextView
public class MyActivity {
//setContentView
//setup network connection
//getTextView
//getToggleButton
//when clicked on start asynctask GetData
//when clicked off stop GetData (set global boolean to false)
}
public void updateView(){
//take linked list and make one String of proper size for textview
//setTextView
}
private class GetData extends AsyncTask {
//while we want to get data (global boolean variable)
//send request
//wait for response
//*update global text variable for the view*
//sleep for 5 seconds
}