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

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

Войти
Регистрация
Восстановить пароль
 
oldalexi
1 / 1 / 0
Регистрация: 13.03.2014
Сообщений: 13
#1

Как создать layout, который запускается один раз, при первом запуске приложения? - Android

20.12.2014, 20:43. Просмотров 1123. Ответов 11
Метки нет (Все метки)

Как создать layout, который запускается один раз, при первом запуске приложения?
т.е. один раз запустилось и всё.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2014, 20:43     Как создать layout, который запускается один раз, при первом запуске приложения?
Посмотрите здесь:

Android Ошибка при запуске приложения
Android Обращение к объекту (button) по id, который будет создан при запуске приложения
При запуске приложения в эмуляторе не отображается содержимое layout Android
Загрузить данные один раз с MySQL таблицы в память приложения, и в дальнейшем использовать ее Android
Создание Activity, которая запускается только при первом запуске Android
Android Как включить GPS при запуске приложения?
Android Приложение запускается на эмуляторе, а при запуске на устройстве выдает ошибку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
20.12.2014, 21:57     Как создать layout, который запускается один раз, при первом запуске приложения? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
oldalexi, причём здесь layout? Это activity. После запуска запишите в SharedPreferences настройку, что данная активность уже показывалась. В дальнейшем при запуске читайте значение этого параметра. Первый раз показывайте содержимое layout, все следующие разы либо переходите на другую активность (activity), либо показывайте другой layout. Немного сумбурно, надеюсь, разберётесь.
Но при сбросе данных через настройки приложений эта активность вновь будет показана. Наверное, следует использовать не SharedPreferences, а некий файл, который вы пропишете в коде приложения.
oldalexi
1 / 1 / 0
Регистрация: 13.03.2014
Сообщений: 13
21.12.2014, 00:11  [ТС]     Как создать layout, который запускается один раз, при первом запуске приложения? #3
Извините за layout. Новичок. Спасибо за ответ
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
21.12.2014, 16:26     Как создать layout, который запускается один раз, при первом запуске приложения? #4
oldalexi, пожалуйста. Будут вопросы - обращайтесь.
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
07.04.2015, 09:17     Как создать layout, который запускается один раз, при первом запуске приложения? #5
CoolMind, а это активити должно быть мейн?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
07.04.2015, 11:08     Как создать layout, который запускается один раз, при первом запуске приложения? #6
Цитата Сообщение от oldalexi Посмотреть сообщение
Извините за layout.
А зачем извиняться, все правильно, инфлатим лаяут1 при первой загрузке, пишем шару, потом инфлатим лаяют2. А класс активити может быть и один.
Цитата Сообщение от Jungle Посмотреть сообщение
а это активити должно быть мейн?
Что имеется ввиду под мейн? В манифесте мейн будет класс активити.
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
07.04.2015, 15:09     Как создать layout, который запускается один раз, при первом запуске приложения? #7
Rube, я заранее извиняюсь за неправильные суждения, но как я понимаю при создании приложения создастся мейн активити с которого будет всегда начинаться запуск приложения, вот если я хочу чтоб это активити отобразилось только при первом запуски я должен его сделать основным?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
07.04.2015, 18:37     Как создать layout, который запускается один раз, при первом запуске приложения? #8
По умолчанию при создании проекта автоматом создается класс MainActivity, который в методе onCreate создает/прикрепляет видимость (лаяут), которая тоже создается автоматически в папке layout.
Java
1
setContentView(R.layout.main);
Также автоматом в манифесте прописывается, что активность MainActivity будет запускаться по умолчанию:
XML
1
2
3
4
5
6
<activity android:name=".MainActivity"
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Создайте лаяут для первого запуска main_first_start.xml
Таким образом пишем в onCreate
Java
1
2
3
4
5
6
7
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
if (pref.getBoolean("is_start", false) != true) { // получить true/false по ключу 'is_start' (если null, то false)
    setContentView(R.layout.main_first_start); // прикрепляем лаяут для первого запуска 'main_first_start'
    pref.edit().putBoolean("is_start", true).commit(); // пишем в SharedPreferences 'true'
} else { 
    setContentView(R.layout.main); // прикрепляем лаяут для остальных запусков
}
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
08.04.2015, 10:50     Как создать layout, который запускается один раз, при первом запуске приложения? #9
Rube, спасибо за пример, но я, всё же, склоняюсь к мнению, что в большинстве случаев переход на другую активность будет удобнее, чем замена лэйаута. Потому как какие-то контролы могут исчезать или появляться, могут меняться названия. Гораздо проще было бы тестировать поведение двух активностей, чем двух лэйаутов.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
08.04.2015, 12:35     Как создать layout, который запускается один раз, при первом запуске приложения? #10
CoolMind, ну это уже из другой оперы.
Можно еще просто использовать фрагменты, тогда никаких проблем с контролами.
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
08.04.2015, 20:11     Как создать layout, который запускается один раз, при первом запуске приложения? #11
CoolMind, а как правильно переходить на другую активность, если можно с примером?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2015, 10:51     Как создать layout, который запускается один раз, при первом запуске приложения?
Еще ссылки по теме:

Как создать массив который сохраняет свои значение даже после закрытия приложения Android
Android Обучение при первом запуске приложения
Android Ошибка при запуске приложения
Android Как скопировать готовый файл в директорию на android при первом запуске, с дальнейшим использованием?
10 Layout один над одним - как визуально редактировать? Android

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

Или воспользуйтесь поиском по форуму:
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
09.04.2015, 10:51     Как создать layout, который запускается один раз, при первом запуске приложения? #12
Jungle, тут много можно написать, почитайте, например, здесь: http://developer.alexanderklimov.ru/...d/activity.php.
Основных способов два: startActivity и startActivityForResult.
Yandex
Объявления
09.04.2015, 10:51     Как создать layout, который запускается один раз, при первом запуске приложения?
Ответ Создать тему
Опции темы

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