Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Den Brown
38 / 38 / 0
Регистрация: 08.10.2013
Сообщений: 123
Записей в блоге: 1
#1

Зачем нужно два onResume() в Активити? - Программирование Android

03.04.2014, 17:55. Просмотров 792. Ответов 2
Метки нет (Все метки)

Всем привет!

Ну вот и настал великий день, когда я вышел за пределы вопросов про упражнения из Андройд учебников. Хотя с ними я еще не закончил

Только что создал шаблон Приложения для одной коммерчесской Платформы. Все что этот шаблон делает: логит юзера и делает пару РЕСТ аутколов. МНе ничего другого пока и не надо. Но даже в этом простом коде я вижу непонятный места.

В Активити вижу два onResume(), понимаю из комментариев зачем они, но не понимаю как вызывается второй кастомный onResume().

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class MainActivity extends PlatformActivity {
 
    private RestClient client;
    private ArrayAdapter<String> listAdapter;
    
    @Override
    protected void onCreate....
    
    @Override 
    public void onResume() {
        // Hide everything until we are logged in СКРЫВАЕМ НА ПЕРИОД ПОКА ЛОГИМСЯ, здесь все понятно
        findViewById(R.id.root).setVisibility(View.INVISIBLE);
 
        // Create list adapter
        listAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>());
        ((ListView) findViewById(R.id.contacts_list)).setAdapter(listAdapter);              
        
        super.onResume();
    }       
    
    @Override // И ВОТ ВТОРОЙ onResume который принимает RestClient, но кто и когда его вызывает?
    public void onResume(RestClient client) {
        // Keeping reference to rest client // А откуда мы собственно передаем сюда этот client?
        this.client = client; // вот тут ситуация: а если бы вместо this.client мы написали просто client.
                                  //Получилось бы две переменные с одни именем? невозможно...
 
        // Show everything И наконец, после залогивания, мы все показываем...
        findViewById(R.id.root).setVisibility(View.VISIBLE);
    } // и супер класс super.onResume() не вызывается второй раз.

И второй небольшой вопрос.

В учебниках мы просто создаем Активити (одно или несколько) и все работает. А здесь я вижу такой класс:

Java
1
2
3
4
5
6
public class HelloMyApp extends Application {
 
    @Override
    public void onCreate() {
        super.onCreate();
        PlatformSDKManager.initNative(getApplicationContext(), new KeyImpl(), MainActivity.class);
то есть изначально вызывается Application наследник который и вызывает MainActivity.
Насколько такой путь - использование Application наследника - часто употребляемый?
Или это вообще единственно правильный путь?

Спасибо за ваше мнение и ответы.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 17:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Зачем нужно два onResume() в Активити? (Программирование Android):

Bluetooth и два активити - Программирование Android
Разрабатываю приложение для связи смартфона по блютус с метеостанцией. По запросу смартфона метеостанция отсылает данные на смартфон. За...

На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити - Программирование Android
Сделал меню в виде ListView. При клике на меню запускаются активити. На эмуляторе работает, на телефоне моем LG все работает. На телефоне...

Как вызвать метод в активити классе из обычного не активити класса? - Программирование Android
Есть активити в котором вводятся логин и пароль. При нажатии кнопки &quot;войти&quot; в отдельном классе &quot;сокетсервер&quot;(+в отдельном потоке)...

Может ли быть два виджета в одном проекте где у каждого будет своя активити настроек? - Программирование Android
Попытался так сделать, все везде написал и в provider и в manifest, но все равно при добавлении второго виджета вылетает активити первого...

Отображение активити поверх другого активити - Программирование Android
Ребят подскажите пожалуйста как такое сделать. Есть активити с картой, по нажатию кнопки настройки, нужно открыть активити с настройками,...

Изменение параметров активити из другого активити - Программирование Android
Как сделать так чтобы из первого активити поменять final ImageView img=(ImageView)findViewById(R.id.image1); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
03.04.2014, 18:22 #2
Den Brown, использование Application зависит от того нужно ли вам что то сделать до того как начнет загружаться активити или нет. Например тут можно создать класс реализованный по Singleton шаблону, чтоб его нечаянно не сожрал сборщик мусора при объявлении его в активити.

Второй оnResume по видимому из PlatformActivity. Посмотрите исходники класса наверняка там вы его и найдете.
2
Gerc
0 / 0 / 0
Регистрация: 03.04.2011
Сообщений: 13
04.04.2014, 11:58 #3
Den Brown, скинь исходники посмотреть
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2014, 11:58
Привет! Вот еще темы с ответами:

Вызов новой активити не из класса активити - Программирование Android
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4) Client. Программа работает с сервером и получает...

Не передаются данные между onCreate и onResume - Программирование Android
Значение переменной изменяется после загрузки. НО! В onCreate есть TextView который использует это значение. Но судя по размеру текста, оно...

Кто-то сможет обьяснить зачем нужно intent::SetAction? - Программирование Android
Что это за префикс откуда и куда его пихать.

Android: как не перезагружать webview в activity при OnResume? - Программирование Android
Описание проблемы: есть activity A (основная android.intent.category.LAUNCHER). Есть activity B, в которой находится WebView с отображением...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru