Умышленно заставлять андроида ждать и загружать что-то в фон - PullRequest
0 голосов
/ 04 августа 2011

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

Я хочу форсировать время процесса. Это своего рода комбинация между наличием потока с ожиданием и асинхронной задачей

понимание ценится

Ответы [ 2 ]

1 голос
/ 04 августа 2011
public class yourActivity extends Activity{
final WebView yourWebview; //this is the webview
Context mContext = this;

public void onCreate(Bundle B){
setContentView(R.id.somethingtoshow);//this will be shown while webview working

Runnable yourRun = new Runnable(){
public void run(){
yourWebview = new WebView(mContext);
//do whatever you want with it
//loadUrl and whatever you want

//when your done
runOnUiThread(new Runnable(){
public void run(){
setContentView(yourWebView);
}
});

}
};
Thread T= new Thread(yourRun);
T.start();
}

}
0 голосов
/ 04 августа 2011

«Ожидание» означает перевод потока в приостановленное состояние. Вы имеете в виду, что приложение просто ничего не делает, пока процесс не завершится?

Вы никогда не захотите, чтобы поток основного события зависал или ждал, что заставит пользователя думать, что приложение заморожено. Чтобы сделать то, что вы хотите, вы, вероятно, создадите асинхронный поток, который загружает страницу из основного действия. Действие будет продолжать отображать все, что вы делали в последний раз, и не будет зависать или зависать, пока асинхронность выполняется в фоновом режиме. Тем не менее, пользователь по-прежнему сможет нажимать кнопки и может запутать вас.

Таким образом, чтобы приложение отображалось незамерзшим и позволяло процессу происходить в фоновом режиме, вам нужно войти в какой-либо экран загрузки или ограничить параметры пользователя в основном макете. Это позволит активности продолжаться, но при этом пользователю будет удобно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...