Я разрабатываю приложение, которое загружает некоторую информацию из интернета.В начале приложения появляется диалоговое окно и спрашивает пользователя, хочет ли он загрузить эту информацию.Если он это делает, он запускает процесс загрузки (в другом потоке).
Это код:
Активность:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Initialize preferences
settings = PreferenceManager.getDefaultSharedPreferences(this);
// Start Database
db.open();
db.close();
/**Check for updates**/
checkForDBUpdates(settings.getInt("db_version", 0));
}
private void checkForDBUpdates(int Version)
{
// Check if Internet connection is available
boolean online = isOnline();
if (online)
{
final UpdateNDGS update = new UpdateNDGS(this, Version);
boolean update_status = update.check();
if (update_status)
{
System.out.println("READY TO UPDATE!");
Command updateCommand = new Command()
{
public void execute()
{
update.getUpdate();
update.database();
//Download Complete, show list
startNormasList();
}
};
AlertDialog updateDialog = createUpdateDialog(this, updateCommand);
updateDialog.show();
}
else
{
//Nothing to download, show list
startNormasList();
}
}
else
{
//offline, show list
startNormasList();
}
}
Все на самом деле работает, ноесли я хочу добавить функционал в будущем, он может запутаться.
Итак, мой вопрос: как я могу улучшить этот код?
Не лучше ли добавить прослушиватель, который запускает событие «Показать список», когда процесс загрузки завершен или никогда не происходит?
Как я могу это сделать?Я много читал, но не смог найти ничего полезного.