Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
oldalexi
1 / 1 / 1
Регистрация: 13.03.2014
Сообщений: 13
#1

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

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

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

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

Обучение при первом запуске приложения
Здравствуйте! Подскажите пожалуйста как можно сделать обучалку в приложении....

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

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

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

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

11
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
20.12.2014, 21:57 #2
Лучший ответ Сообщение было отмечено oldalexi как решение

Решение

oldalexi, причём здесь layout? Это activity. После запуска запишите в SharedPreferences настройку, что данная активность уже показывалась. В дальнейшем при запуске читайте значение этого параметра. Первый раз показывайте содержимое layout, все следующие разы либо переходите на другую активность (activity), либо показывайте другой layout. Немного сумбурно, надеюсь, разберётесь.
Но при сбросе данных через настройки приложений эта активность вновь будет показана. Наверное, следует использовать не SharedPreferences, а некий файл, который вы пропишете в коде приложения.
2
oldalexi
1 / 1 / 1
Регистрация: 13.03.2014
Сообщений: 13
21.12.2014, 00:11  [ТС] #3
Извините за layout. Новичок. Спасибо за ответ
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
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,072
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,072
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,732
08.04.2015, 10:50 #9
Rube, спасибо за пример, но я, всё же, склоняюсь к мнению, что в большинстве случаев переход на другую активность будет удобнее, чем замена лэйаута. Потому как какие-то контролы могут исчезать или появляться, могут меняться названия. Гораздо проще было бы тестировать поведение двух активностей, чем двух лэйаутов.
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,072
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,732
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
Привет! Вот еще темы с решениями:

Загрузка данных при первом запуске
Добрый день. Есть Splash screen (пока с задержкой по времени)... есть Retrofit...

Как включить GPS при запуске приложения?
Как включить GPS (ну если он отключен) при запуске приложения, без...

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

10 Layout один над одним - как визуально редактировать?
Есть Activity на ней штук 10 Layout один над одним - очень удобно практически...


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

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

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