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

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

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

Простое получение GPS данных - Android

05.06.2016, 15:22. Просмотров 260. Ответов 3
Метки нет (Все метки)

Нужно простой код для получения GPS данных. Без всяких проверок на: наличие связи со спутниками, на включённость GPS модуля, и.т.д и.т.п.. Я создал экземпляр класса Location, но он выводит 0.0 0.0 в широте и долготе. В манифесте не забыл указать:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Что я попытался сделать:

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
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.location.LocationListener;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
 
public class MainActivity extends AppCompatActivity {
    TextView Shirota;
    TextView Dolgota;
    Button button1;
 
    Location loc = new Location(LOCATION_SERVICE);
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Shirota = (TextView) findViewById(R.id.textView2);
        Dolgota = (TextView) findViewById(R.id.textView4);
        button1 = (Button) findViewById(R.id.button);
 
 
        Shirota.setText(String.valueOf(loc.getLatitude()));
        Dolgota.setText(String.valueOf(loc.getLongitude()));
    }
}
В чем проблема -- непонятно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2016, 15:22     Простое получение GPS данных
Посмотрите здесь:

Получение системных данных планшета Android
Android Получение координат gps из своего класса (getLastKnownLocation)
Получение данных с SimpleCursorAdapter Android
Получение данных из DialogFragment Android
Android Получение сохранённых строковых данных
Android Получение данных из другого класса
Получение данных по расписанию Android
Android Получение и обработка данных с сайта
Получение и разбор данных по Bluetooth Android
Android Получение данных с сервера, длинные запросы
Получение данных из cursor Android
Получение данных с квадрокоптера Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2021 / 1763 / 548
Регистрация: 12.05.2014
Сообщений: 6,248
Завершенные тесты: 1
06.06.2016, 12:47     Простое получение GPS данных #2
1. активити должно implements LocationListener
среда разработки предложит добавить 4 метода
2. где-то в onCreate
Java
1
2
        LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, this);
если targetSdkVersion 23+ то среда разработки предложит добавить проверку разрешений

3. в добавленном методе onLocationChanged
одновляем TextView, координаты берем из параметра, которой прилетает в этот метод
omon3
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 6
06.06.2016, 17:16  [ТС]     Простое получение GPS данных #3
Java
1
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, this);
скорее всего нужно писать так:
Java
1
locationManager.requestLocationUpdates("gps", 5000, 10, listener);
, но ругается, требуя какие-то разрешения
"Call requires permission which may be rejected by user. Code should explicitly check to see if permission is available."
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
public class MainActivity extends AppCompatActivity {
 
    private Button button;
    private TextView text;
    private LocationManager locationManager;
    private LocationListener listener;
 
 
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        text = (TextView) findViewById(R.id.textView2);
        button = (Button) findViewById(R.id.button);
 
 
        LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        listener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {
            text.append(location.getLatitude() +" " + location.getLongitude());
            }
 
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
 
            }
 
            @Override
            public void onProviderEnabled(String provider) {
 
            }
 
            @Override
            public void onProviderDisabled(String provider) {
 
            }
        };
        locationManager.requestLocationUpdates("gps", 5000, 10, listener);
    }
}
Сейчас пытаюсь разобраться с этими разрешениями.
Паблито
2021 / 1763 / 548
Регистрация: 12.05.2014
Сообщений: 6,248
Завершенные тесты: 1
06.06.2016, 17:46     Простое получение GPS данных #4
Цитата Сообщение от omon3 Посмотреть сообщение
скорее всего нужно писать так:
1 .завтра эту константу поменяют и что будет тогда? правильнее писать как в моем варианте
2. если бы ты понимал что означает там this или listener то не писал бы
Цитата Сообщение от omon3 Посмотреть сообщение
скорее всего нужно писать так
Yandex
Объявления
06.06.2016, 17:46     Простое получение GPS данных
Ответ Создать тему
Опции темы

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