Ответ 1
Android предлагает вам воспользоваться всплывающим экраном при выполнении длительных вычислений при запуске. Здесь выдержка из веб-сайта разработчика Android - проектирование для реагирования:
"Если у вашего приложения есть отработанная начальная фаза установки, подумайте о том, чтобы отобразить заставку или сделать основной вид как можно быстрее и заполнить информацию асинхронно. В любом случае вы должны как-то указать, что прогресс, чтобы пользователь не заметил, что приложение заморожено". - Сайт разработчика Android
Вы можете создать операцию, которая показывает диалоговое окно "Выполнение" при использовании AsyncTask для загрузки фида xml из сети, его синтаксического анализа, сохранения его в db (если необходимо), а затем запускает Activity, который отображает "Ленты новостей". Закройте действие всплеска, вызвав finish()
Здесь скелетный код:
public class SplashScreen extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
// set the content view for your splash screen you defined in an xml file
setContentView(R.layout.splashscreen);
// perform other stuff you need to do
// execute your xml news feed loader
new AsyncLoadXMLFeed().execute();
}
private class AsyncLoadXMLFeed extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute(){
// show your progress dialog
}
@Override
protected Void doInBackground(Void... voids){
// load your xml feed asynchronously
}
@Override
protected void onPostExecute(Void params){
// dismiss your dialog
// launch your News activity
Intent intent = new Intent(SplashScreen.this, News.class);
startActivity(intent);
// close this activity
finish();
}
}
}
надеюсь, что это поможет!