Как записать на экран и как выводится до того, как действие прекращается - PullRequest
0 голосов
/ 04 ноября 2010

Я хотел бы записать на экран Android, как если бы это был простой терминал. Я хочу, чтобы вывод появлялся в то время, когда я его пишу. Мое приложение выполняет интенсивный процессинг, немного записывает на экран и продолжает. Я использую адаптер списка для вывода. Проблема в том, что выходные данные не отображаются до тех пор, пока действие не прекратится.

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Полагаю, вы делаете все это в onCreate ().Попробуйте сделать это как-то так:

  1. onCreate запускает AsyncTask (см. Developer.android.com -> AsyncTask)
  2. перезаписывает doInBackground с интенсивным процессором вашего процессора
  3. всякий раз, когда вы хотите записать в терминал (в вашем случае просмотр списка), вызовите publishProgress ()
  4. перезаписать onProgressUpdate и позвольте ему добавить текст в ваш адаптер списка.

возможно, вы могли быиспользуйте простое текстовое представление для отображения ваших вещей с помощью прокрутки.или, может быть, WebView.Я не уверен, что было бы лучше.

Хорошая мысль, которую можно посмотреть, - это TerminalEmulator на Android, источник которого можно найти здесь: github.com/jackpal/Android-Terminal-Emulator

Кажется, они используют свой собственный вид, который можно найти здесь: https://github.com/jackpal/Android-Terminal-Emulator/blob/master/src/jackpal/androidterm/Term.java#L2527

Надеюсь, это поможет.

1 голос
/ 04 ноября 2010

Для этого вы можете использовать AsyncTask.

AsyncTask заботится о ресурсоемкой работе без блокировки вашего пользовательского интерфейса.Присутствует механизм сообщения о прогрессе обратно в приложение, используя тип по вашему выбору.В вашем случае задача может сообщать об обновлениях в виде строк;приложение просто добавит эти строки в текстовое представление.

...