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

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

Войти
Регистрация
Восстановить пароль
 
 
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 578
Записей в блоге: 1
#1

Как передавать динамические данные (координаты GPS) из активити в диалог? - Программирование Android

02.02.2016, 08:43. Просмотров 820. Ответов 19
Метки нет (Все метки)

Здравствуйте Уважаемые!

подскажите пожалуйста, есть класс активити в котором описана работа с GPS, и мне нужно вызывать диалог в котором будут отображаться постоянно меняющиеся координаты, как это сделать, через что(с помощью чего) их передавать?


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

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

Как вернуть результат в активити включил юзер gps или нет? - Программирование Android
Как вернуть результат в активити включил юзер gps или нет?

GPS Location (GPS_PROVIDER) как получить координаты - Программирование Android
Всем привет. Столкнулся с такой проблемой , может еще кто то сталкивался да знает что да как . Вообщем тестя получение latitude и...

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

Как передавать данные через USB - Программирование Android
Цель заключается в том, чтобы на компьютере вводилось число, которое потом отображается на телефоне язык какой угодно.

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

19
Pablito
2631 / 2113 / 656
Регистрация: 12.05.2014
Сообщений: 7,395
Завершенные тесты: 1
02.02.2016, 17:07 #16
Цитата Сообщение от CoolMind Посмотреть сообщение
Activity и Fragment предпочтительно должна строиться на Listener'ах. Поэтому вы о нём и не знали
ниче подобного, активити может вызывать методы фрагмента когда надо и сколько требуется
листенеры нужны если фрагменты получают данные от активити, другими словами - если передачу данных инициирует активити то листенеры не нужны, иначе - нужны

что бы не холиварить я дополню - сам я делаю всегда через интерфейсы или EventBus и стараюсь строить так что бы фрагмент когда надо вытягивал нужные данные из активити либо реагировал на события

но я сомневаюсь что ТС осилил такой подход
придет время - переделает и будет красиво и по феншую
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,733
02.02.2016, 18:27 #17
Цитата Сообщение от Паблито Посмотреть сообщение
листенеры нужны если фрагменты получают данные от активити, другими словами - если передачу данных инициирует активити то листенеры не нужны, иначе - нужны
Да.
Цитата Сообщение от Паблито Посмотреть сообщение
придет время - переделает и будет красиво и по феншую
Согласен. Тоже начинал без всяких интерфейсов, потом почитал несколько статеек, переделал.
Цитата Сообщение от disx Посмотреть сообщение
если есть возможность дополнить эту тему Вашим примером был бы очень рад узнать и о таком способе?
К сожалению, нет кода под рукой, да и основные моменты уже разобраны.
Вот вводная (сумбурная) статья на русском языке: http://startandroid.ru/ru/.../176-ur...vie-s-activity
Пока это всё вам не потребуется, только засорит знания. Потом, когда наткнётесь на грабли, может быть, почитаете. Также добавлю http://developer.android.com/guide/c...ngWithActivity, http://stackoverflow.com/questions/9...ainer-activity, остальные ссылки сходу не нашёл.
1
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 578
Записей в блоге: 1
03.02.2016, 14:38  [ТС] #18
Паблито,
но я сомневаюсь что ТС осилил такой подход
да Вы батенька меня недооценили вот и вариант через интерфейс и работает как хотел, спасибо:

MainActivity.java
Кликните здесь для просмотра всего текста
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
 //-------------Ынтерфейс----------------------
    public interface getCoordinatesEvent{
         void coordinatesEvent(String lo, String la, String ac);
    }
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        getCoordinatesEvent coordinatesListener;
//        try {
//            coordinatesListener = (getCoordinatesEvent);
//        }catch (ClassCastException e){
//            throw new ClassCastException(activity.toString()+" Реализация getCoordinatesEvent")
//        }
        final String LOG_TAG = "myLogs";
        dlg1 = new GetDialGPS();
bt = (Button)findViewById(R.id.button);
 
        text = (TextView)findViewById(R.id.text);
 
        manager = (LocationManager)getSystemService(
                Context.LOCATION_SERVICE);
        manager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 0, 0, locListaner);
 
        Location loc = manager.getLastKnownLocation(
                LocationManager.GPS_PROVIDER);
        printLocation(loc);
 
 
    }
 
    private void printLocation(Location argLocation) {
        //printLocation(argLocation);
 
        if (argLocation != null)
        {
//------------------------закидываем данные в переменные метода Ынтерфейса---------------------
            //-------------------который реализуется в Диалоге------------------------
            Lon = String.valueOf(argLocation.getLongitude());
            Lat = String.valueOf(argLocation.getLatitude());
            Acc = String.valueOf(argLocation.getAccuracy());
 
                        if (dlg1 != null && dlg1.isVisible()) {
                            dlg1.coordinatesEvent(Lon,Lat,Acc);
            //    dlg1.updateCoords();
            }
//            if (dlg1 != null && dlg1.isVisible()) {
//
//            //    dlg1.updateCoords();
//            }
        }
        else {
            text.setText("Location unavailable");
        }
 
    }
 
    //coordinatesListener.coordinatesEvent(Lon, Lat, Acc);
    public  void onClick (View v){
        dlg1.show(getSupportFragmentManager(), "dlg1");
    }
}


DialogFragment.java
Кликните здесь для просмотра всего текста
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
public class GetDialGPS extends DialogFragment implements MainActivity.getCoordinatesEvent {
 
    TextView textView;
    String Longtitude="";
    String Latitude="";
    String Accuracy="";
    public GetDialGPS() {
        // Empty constructor required for DialogFragment
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.getdialgps, container, false);
        textView = (TextView)view.findViewById(R.id.textView1); //сюда надо дать координаты из активити
 
//updateCoords();
 
        return view;
    }
 
    @Override
    public void coordinatesEvent (String d, String e, String f){
 
        Longtitude=d;
        Latitude=e;
        Accuracy=f;
        textView.setText(Longtitude+" "+Latitude+" "+Accuracy); // и тута красиво бегают мои координаты :)
 
    }
 
 
}
1
Pablito
03.02.2016, 14:46
  #19

Не по теме:

по нормальному надо было вообще делать как я писал выше - сделать фрагмент слушателем координат, что бы он вообще ничего не спрашивал у активити
в onCreate берется LocationManager и создается аномимный класс который слушает координаты
я пытался объяснить что у фрагмента надо было просто сделать
LocationListener locListaner = new LocationListener() {bla-bla}

не в активити, а во фрагменте

но это просто другая реализация, кому как удобно

0
disx
03.02.2016, 14:55  [ТС]     Как передавать динамические данные (координаты GPS) из активити в диалог?
  #20

Не по теме:

по нормальному надо было вообще делать как я писал выше - сделать фрагмент слушателем координат, что бы он вообще ничего не спрашивал у активити
в onCreate берется LocationManager и создается аномимный класс который слушает координаты
я пытался объяснить что у фрагмента надо было просто сделать
LocationListener locListaner = new LocationListener() {bla-bla}

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

0
03.02.2016, 14:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2016, 14:55
Привет! Вот еще темы с ответами:

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

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

GPS координаты - Программирование Android
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...

Как сделать, чтобы данные, введенные в EditText, сохранялись и пополнялись в новом активити? - Программирование Android
как сделать что бы данные введенные в EditText сохранялись и пополнялись в новом активити... Идея такая: вводим текст в edittext...


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

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

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