Я довольно новичок в разработке приложений, но у меня есть проблема, которую я не могу понять.
У меня есть экран spla sh, который я использую для загрузки различных вещей, которые должны работать в приложении (файлы конфигурации, html из inte rnet), и последний доставляет мне огромную проблему , Вот код
Document doc = null;
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.splash);
//Fix loading data, dunno why this happens
try {
doc = new getHtml().get();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
/* New Handler to start the Menu-Activity
* and close this Splash-Screen after some seconds.*/
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
/* Create an Intent that will start the Menu-Activity. */
Utils.saveData(Splash.this, doc);
Intent mainIntent = new Intent(Splash.this, PocketFrameNavigation.class);
Splash.this.startActivity(mainIntent);
Splash.this.finish();
}
}, SPLASH_DISPLAY_LENGTH);
}
public static class getHtml extends AsyncTask<Void, Void, Document> {
protected Document doInBackground(Void... args) {
try {
return Jsoup.connect(DROP_DATA_URL).get();
} catch(Exception e) {
return null;
}
}
protected void onPostExecute(Document html){
doc = html;
}
}
Код, который вызывает у меня проблему, находится внутри оператора try. Вроде бы заморозил основной поток, где бы я его ни ставил. Есть ли что-то, что я делаю ужасно неправильно? Заранее благодарим за помощь.
Кроме того, функция get HTML работает, когда не задействован обработчик с отложенной задержкой. так что я думаю, что это как-то связано с этим.