На моем экране-заставке я отправляю два разных запроса на свой сервер, и я хочу дождаться результатов, затем проанализировать их и после этого перейти к своей основной деятельности. я использую залп и хочу проанализировать два результата в mThread, и, убедившись, что у меня есть все, что мне нужно, я вызываю startActivity и .... поэтому моя проблема в том, как я могу отправить два разных runnables в mThread или как я отправляю свои строковые ответы в свой mThread, чтобы проанализировать его, и после последнего запуска или сообщения вызвать другое действие. а также как я могу вызвать метод завершения в конце? я рассматриваю этот вариант, но ничего не получается:
используя обработчик, но если я хочу использовать обработчик, как вы знаете, каждый обработчик назначается потоку, который его создал, поэтому создание обработчика в методе onCreate неправильно, потому что я хочу, чтобы мой поток заснул, если запросы еще не получены, а также не хочу выполнять свои вычисления в основном потоке.
и код, который я не знаю, как его решить:
protected void onCreate(Bundle savedInstanceState) {
// ....
mThread = new Thread(){
@Override
public void run() {
super.run();
Log.i("Recieved String",response);
if( two runnable completed){
Intent i = new Intent(WelcomeActivity.this, MainActivity.class);
startActivity(i);
how to call finish()?
}
}
};
//...
MyVolleyRequest Request1 = new MyVolleyRequest(URL1,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// sending response to mThread
// or sending runnable to mThread
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError ex) {
}
});
MyVolleyRequest Request2 = new MyVolleyRequest(URL2,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// sending response to mThread
// or sending runnable to mThread
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError ex) {
}
});
SingletonRequestQueue.getInstance(SplashActivity.this).addToRequestQueue(Request1);
SingletonRequestQueue.getInstance(SplashActivity.this).addToRequestQueue(Request2);
Я буду признателен за любое практичное и чистое решение!