С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

При запуске приложения в эмуляторе не отображается содержимое layout - Программирование Android
Суть проблемы: создал проект с BlankActivity под именем MainActivity, у которой есть layout с именем main.xml. Закинул туда чекбокс,...

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

Создание Activity, которая запускается только при первом запуске - Программирование Android
Как сделать так, чтобы определенная Activity (у меня она называется SplashScreenActivity) показывалась только при первом запуске...

Экран с подсказками при первом запуске приложения - Программирование Android
Забыл как он называется по-научному. Не splash, а другое, уже после того, как приложение загрузилось полностью. Подскажите гайд, как...

Обращение к объекту (button) по id, который будет создан при запуске приложения - Программирование Android
Здравствуйте. Подскажите как реализовать обработчик кнопок, коотрые создаются циклом. Т.е. кнопки делаются в цикле, им присваивается id....

Как скопировать готовый файл в директорию на android при первом запуске, с дальнейшим использованием? - Программирование Android
Нужно скопировать готовый файл(с данными) на android при первом запуске, для дальнейшего его использование на телефоне?

11
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
20.12.2014, 21:57 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
oldalexi, причём здесь layout? Это activity. После запуска запишите в SharedPreferences настройку, что данная активность уже показывалась. В дальнейшем при запуске читайте значение этого параметра. Первый раз показывайте содержимое layout, все следующие разы либо переходите на другую активность (activity), либо показывайте другой layout. Немного сумбурно, надеюсь, разберётесь.
Но при сбросе данных через настройки приложений эта активность вновь будет показана. Наверное, следует использовать не SharedPreferences, а некий файл, который вы пропишете в коде приложения.
2
oldalexi
1 / 1 / 0
Регистрация: 13.03.2014
Сообщений: 13
21.12.2014, 00:11  [ТС] #3
Извините за layout. Новичок. Спасибо за ответ
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
21.12.2014, 16:26 #4
oldalexi, пожалуйста. Будут вопросы - обращайтесь.
0
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
07.04.2015, 09:17 #5
CoolMind, а это активити должно быть мейн?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
07.04.2015, 11:08 #6
Цитата Сообщение от oldalexi Посмотреть сообщение
Извините за layout.
А зачем извиняться, все правильно, инфлатим лаяут1 при первой загрузке, пишем шару, потом инфлатим лаяют2. А класс активити может быть и один.
Цитата Сообщение от Jungle Посмотреть сообщение
а это активити должно быть мейн?
Что имеется ввиду под мейн? В манифесте мейн будет класс активити.
0
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
07.04.2015, 15:09 #7
Rube, я заранее извиняюсь за неправильные суждения, но как я понимаю при создании приложения создастся мейн активити с которого будет всегда начинаться запуск приложения, вот если я хочу чтоб это активити отобразилось только при первом запуски я должен его сделать основным?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
07.04.2015, 18:37 #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); // прикрепляем лаяут для остальных запусков
}
1
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
08.04.2015, 10:50 #9
Rube, спасибо за пример, но я, всё же, склоняюсь к мнению, что в большинстве случаев переход на другую активность будет удобнее, чем замена лэйаута. Потому как какие-то контролы могут исчезать или появляться, могут меняться названия. Гораздо проще было бы тестировать поведение двух активностей, чем двух лэйаутов.
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
08.04.2015, 12:35 #10
CoolMind, ну это уже из другой оперы.
Можно еще просто использовать фрагменты, тогда никаких проблем с контролами.
0
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
08.04.2015, 20:11 #11
CoolMind, а как правильно переходить на другую активность, если можно с примером?
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
09.04.2015, 10:51 #12
Jungle, тут много можно написать, почитайте, например, здесь: http://developer.alexanderklimov.ru/android/activity.php.
Основных способов два: startActivity и startActivityForResult.
1
09.04.2015, 10:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2015, 10:51
Привет! Вот еще темы с ответами:

Как включить GPS при запуске приложения? - Программирование Android
Как включить GPS (ну если он отключен) при запуске приложения, без подтверждения (но с уведомлением типа Toast).

Как создать массив который сохраняет свои значение даже после закрытия приложения - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Как создать массив который сохраняет свои значение даже после...

10 Layout один над одним - как визуально редактировать? - Программирование Android
Есть Activity на ней штук 10 Layout один над одним - очень удобно практически вся программа в 1 Activity НО расставлять компоненты в...

Загрузить данные один раз с MySQL таблицы в память приложения, и в дальнейшем использовать ее - Программирование Android
Всем добрый вечер, Есть ли возможность загрузить данные один раз с MYSQL таблицы в память приложения, и в дальнейшем использовать ее....


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

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

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