Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24

Выбор главного Activity через пользовательские настройки или геолокации

02.07.2015, 20:23. Показов 2950. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста кодом... вообще не понимаю как работать с преференсес нет хватает ума напписать...
1.При первом запуске приложения на устройстве выводить Activity с возможностью выбора страны(желательно через button) (не локализация - разница в контенте).

2.При выборе сохраняются настройки, и при последующих запусках будет запускать выбранное Activity по стране.

3.Возможность менять в настройках выводимое Activity.

Это вообще возможно?
Нужно что бы пользователь сам выбирал себе одно из 2-3 Activity, которые отличаются только контентом.

или может какие нибудь альтернативные варианты, например геопозиция ????
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2015, 20:23
Ответы с готовыми решениями:

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity
У меня в параллельном потоке происходит куча apply() Решение использовать apply вместо commit было принято из-за скорости. Но...

Пользовательские настройки
Всем привет. Я сейчас делаю курсач и там нужен пункт настройки (цвета и шрифта). Со шрифтом я разобрался, а с цветом нет. Нужно следующее:...

Пользовательские настройки
есть три базы данных: reg_data_db, personal_data_db и access_databa_db разъясняю: reg_data_db - регистрационные данные...

30
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
03.07.2015, 10:02
Создание Activity, которая запускается только при первом запуске
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
03.07.2015, 13:32  [ТС]
Rube, это не то, речь не о выводе активи единоразово... а о активи с выбором 2-3 активити+сохранение выбора и при перезапуске что бы запускалось выбранное активи
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
03.07.2015, 14:03
vescovood, ну делай 3 флага.
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
03.07.2015, 14:26  [ТС]
Так проблема в том что не знаю как сделать это. Уже и код готов купить... Мне сказали что через shared preferences но как реализовать даже представления нет

Добавлено через 20 минут
можешь помочь пожалуйста с кодом????
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
03.07.2015, 16:11
vescovood, это прям полностью разные активити или просто, к примеру, разные новости, но вывод в одни и те же элементы?
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
03.07.2015, 16:51  [ТС]
Я бы хотел разные активити, тк приложение уже готово, но можно и через фрагменты(если Вы об этом).
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
03.07.2015, 17:11
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
    public static final int SCREEN_NONE = -1;
    public static final int SCREEN_FIRST = 0;
    public static final int SCREEN_SECOND = 1;
    public static final int SCREEN_THIRD = 2;
    
    public static final String PREFERENCES_NAME = "settings";
    public static final String SCREEN_PARAM = "screen";
    
    //В активити, где выбираешь город.
    private void setScreen(int screen){
        SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();
        editor.putInt(SCREEN_PARAM, screen);
        editor.apply();
    }
    //В стартовой активити.
    private int getScreen(){
        SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, MODE_PRIVATE);
        return preferences.getInt(SCREEN_PARAM, SCREEN_NONE);
    }
    
    private void runScreen(){
        Intent intent = new Intent();
        
        switch (getScreen()){
            case SCREEN_NONE:
                intent.setClass(this, ChooseScreenActivity.class);
                break;
            case SCREEN_FIRST:
                intent.setClass(this, FirstScreen.class);
                break;
            case SCREEN_SECOND:
                intent.setClass(this, SecondScreen.class);
                break;
            case SCREEN_THIRD:
                intent.setClass(this, ThirdScreen.class);
                break;
            default:
                return;
        }
        
        startActivity(intent);        
    }

В стартовой активити (splash) проверяем какой выбран экран, если он вообще не выбран переходим к экрану выбора, если выбран - к выбранному.
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
03.07.2015, 22:02  [ТС]
спасибо. как доберусь до пк сразу попробую и отпишусь...заранее спасибо=)

Добавлено через 3 часа 17 минут
Spelcrawler, я наверно уже надоел Вам, но что прописать в ChooseScreenActivity.xml и pref.xml?)
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
03.07.2015, 22:16
vescovood, всмысле? ChooseScreenActivity.xml это файл разметки вашей активити, где выбираете город. А что такое pref.xml?
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
03.07.2015, 23:26  [ТС]
Spelcrawler, ChooseScreenActivity.xml по вашему коду, а активити выбора пустой... Весь код вставил в ChooseScreenActivity.class... или что то не то делаю? у Вас есть готовый exapmle? можете скинуть на почту? деградирую....
0
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
03.07.2015, 23:37
Цитата Сообщение от vescovood Посмотреть сообщение
Я бы хотел разные активити, тк приложение уже готово, но можно и через фрагменты(если Вы об этом).

Не по теме:


интересно что там за приложение такое ))

0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
03.07.2015, 23:45  [ТС]
та простое, учусь, что то получается, что то нет...
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
04.07.2015, 00:01
vescovood, ну там как бы я не весь код приложения написал, а именно сохранение выбора и переключение активити в зависимости от выбора.
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
04.07.2015, 00:04  [ТС]
Spelcrawler, а можете еще помочь с XML (выбор активити), что бы выбор и сохранение работало, я буду чрезмерно благодарен =)
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
04.07.2015, 12:04
Цитата Сообщение от vescovood Посмотреть сообщение
а можете еще помочь с XML (выбор активити), что бы выбор и сохранение работало, я буду чрезмерно благодарен =)
Ну рисуйте там 3 кнопки, на нажатие вешайте сохранение экрана и переход на нужный экран.
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
05.07.2015, 17:51  [ТС]
что то я понять не могу(

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.example.mojo.testpref;
 
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
 
 
public class mainActivity extends ActionBarActivity {
 
    public static final int SCREEN_NONE = -1;
    public static final int SCREEN_FIRST = 0;
    public static final int SCREEN_SECOND = 1;
    public static final int SCREEN_THIRD = 2;
 
    public static final String PREFERENCES_NAME = "settings";
    public static final String SCREEN_PARAM = "screen";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
    }
 
    //В активити, где выбираешь город.
    private void setScreen(int screen){
        SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();
        editor.putInt(SCREEN_PARAM, screen);
        editor.apply();
    }
    //В стартовой активити.
    private int getScreen(){
        SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, MODE_PRIVATE);
        return preferences.getInt(SCREEN_PARAM, SCREEN_NONE);
    }
 
    private void runScreen(){
        Intent intent = new Intent();
 
        switch (getScreen()){
            case SCREEN_NONE:
                intent.setClass(this, mainActivity.class);
                break;
            case SCREEN_FIRST:
                intent.setClass(this, firstActivity.class);
                break;
            case SCREEN_SECOND:
                intent.setClass(this, secondActivity.class);
                break;
            case SCREEN_THIRD:
                intent.setClass(this, thirdActivity.class);
                break;
            default:
                return;
        }
 
        startActivity(intent);
    }
 
    public void Button1(View view) {
        Intent intent = new Intent(this, firstActivity.class);
        startActivity(intent);
 
    }
    public void Button2(View view){
        Intent intent = new Intent(this, secondActivity.class);
        startActivity(intent);
 
    }
    public void Button3(View view){
        Intent intent = new Intent(this, thirdActivity.class);
        startActivity(intent);
 
    }
}
XML
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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"  tools:context=".FirstActivity">
<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="первый"
        android:layout_marginRight="25dp"
        android:layout_gravity="center_vertical"
        android:onClick="Button1"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="второй"
        android:layout_marginRight="25dp"
        android:layout_gravity="center_vertical"
        android:onClick="Button2"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="третий"
        android:layout_marginRight="25dp"
        android:layout_gravity="center_vertical"
        android:onClick="Button3"/>
</TableLayout>
</RelativeLayout>
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
06.07.2015, 09:14
vescovood, а что не так то? Что именно не работает?
0
2 / 2 / 0
Регистрация: 02.07.2015
Сообщений: 24
06.07.2015, 15:22  [ТС]
Spelcrawler, сохранение выбора активити... ошибок нет, все запускает и переход на другие активити тоже, но при новом открытии приложения выводится главный экран, а не выбранный активити...=(
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
06.07.2015, 15:47
Java
1
2
3
4
5
6
//Во всех листенерах на кнопках
public void Button1(View view) {
        setScreen(SCREEN_FIRST);
        Intent intent = new Intent(this, firstActivity.class);
        startActivity(intent); 
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2015, 15:47
Помогаю со студенческими работами здесь

скд. Пользовательские настройки
1с предприятие 8.2.13... платформа УТ 10.3. Сделал отчет при помощи скд , но возникла необходимость вынести на форму поля отбора(по...

Пропали пользовательские настройки
Не знаю, к кому обратиться, потому что в компьютерных центрах ничего кроме переустановки Windows предложить не могут. Решил попробовать...

Пользовательские настройки СКД
Доброго времени суток Пытаюсь программно создать отчет Код СхемаКомпоновкиДанных = новый СхемаКомпоновкиДанных; Источник...

Пользовательские настройки (локальные)
Добрый вечер Весь день ищу способ организовать локальные пользовательские настройки в папку с программой. Думал это можно организовать с...

Занести пользовательские настройки в реестр
Здравствуйте есть простая программка по смене фона формы, как сохранить настройку одного цвета, чтобы при следующем запуске открывался уже...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru