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

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

Войти
Регистрация
Восстановить пароль
 
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
#1

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

19.12.2015, 13:25. Просмотров 686. Ответов 11
Метки нет (Все метки)

Добрый день, у меня возникли трудности с считыванием координат с GPS датчика и через Network и записи всего этого в файл по тику таймера. Могли бы помочь с кодом, потому что уже несколько дней пытаюсь это сделать(сроки сдачи курсовой поджимают), а при запуске приложения выдает ошибку.
Вот метод считывания файла по тику таймера:
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
void writeFile() {
 
        if (!myF.exists()) {
 
            try {
 
 
                timer = new Timer();
                TimerTask task = new TimerTask() {
                    @Override
                    public void run() {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    String str = "Акселерометр:         "+
                                            format(valuesAccel)+("\nЧистое ускорение: " + format(valuesAccelMotion))+("\nГравитация:             " + format(valuesAccelGravity))+
                                           "\nШирота:               "+a+"\nДолгота:            "+b+ "\n___________________________________\n";
                                    myF.createNewFile();
                                    FileWriter fWr = new FileWriter(myF, true);
 
                                    fWr.write(str);
 
                                    StringBuilder sb = new StringBuilder();
 
                                    fWr.flush();
                                    fWr.close();
 
 
 
 
                                }catch (Exception e1)
                                {
                                }
 
                            }
                        });
                    }
                };
                timer.schedule(task,0, 400);
 
 
 
            }catch (Exception e1)
            {
 
            }
        }
    }
Если понадобится, скину полностью проект.
Очень надеюсь на вашу помощь.
За ранее благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2015, 13:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание GPS координат (долготы и широты) и запись в файл (Программирование Android):

Не определение GPS координат - Программирование Android
ОФФТОП: В первоначальной версии все работу наладить удалось, но захотелось структурировать код. Сейчас задача вернуть все в...

Смещение координат GPS/NetWork - Программирование Android
Всем известная проблема - смещение координат, полученных через GPS/NetWork, на гугл/яндекс картах. Примерное расстояние смещения:...

Где почитать об определении GPS координат - Программирование Android
Посоветуйте, какую-нибудь статью грамотную почитать и/или пример по определению GPS-координат?

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

Получение координат gps из своего класса (getLastKnownLocation) - Программирование Android
Один из методов класса содержит Location location; LocationManager lm = (LocationManager)...

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

11
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
19.12.2015, 13:31 #2
Цитата Сообщение от Springboks Посмотреть сообщение
при запуске приложения выдает ошибку.
какую?
0
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
19.12.2015, 13:34  [ТС] #3
"При запуске приложения "название" произошла ошибка"
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
19.12.2015, 13:36 #4


Из logcat описание ошибки давай
0
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
19.12.2015, 13:59  [ТС] #5
на данный момент у меня нету устройства с андройдом версии выше 4.0 и я к сожалению не могу скомпелировать..

Добавлено через 19 минут
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: FATAL EXCEPTION: main
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.perov.perovmapapp/com.perov.perovmapapp.MainActivity}: java.lang.NullPointerException
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:141)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5103)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:525)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: Caused by: java.lang.NullPointerException
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at com.perov.perovmapapp.MainActivity.<init>(MainActivity.java:58)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at java.lang.Class.newInstanceImpl(Native Method)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at java.lang.Class.newInstance(Class.java:1130)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:141)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5103)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:525)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)*
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)*
12-19 05:53:44.394 413-655/? W/ActivityManager: Force finishing activity com.perov.perovmapapp/.MainActivity
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
19.12.2015, 14:03 #6
Ну и смотри, что там у тебя в строке 58 MainActivity.java
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: Caused by: java.lang.NullPointerException
12-19 05:53:44.374 1327-1327/? E/AndroidRuntime: at com.perov.perovmapapp.MainActivity.<init>(MainActivity.java:58)
0
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
19.12.2015, 14:16  [ТС] #7
Сейчас попробую разобраться! Спасибо!!
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
19.12.2015, 14:18 #8
Цитата Сообщение от Springboks Посмотреть сообщение
Сейчас попробую разобраться! Спасибо!!
Где-то там используешь объявленную, но неинициализированную переменную...скорее всего
0
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
19.12.2015, 15:27  [ТС] #9
Все с ошибкой разобрался, но проблема все равно не решилась, мне нужно чтобы в файл записывались координаты.
вот метод который определяет эти координаты
Java
1
2
3
4
5
6
7
 public void onLocationChanged(Location location) {
        if (location != null)
        {
            Log.d(TAG, "Широта="+location.getLatitude());
            Log.d(TAG, "Долгота="+location.getLongitude());
        }
    }
в OnCreate
Java
1
2
 LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
Метод записи в файл записан выше, в строчку 18 надо вписать эти координаты, помогите пожалуйста, в Android программировании "не в зуб ногой".. Спасибо
0
dajver
409 / 273 / 18
Регистрация: 18.09.2010
Сообщений: 1,112
20.12.2015, 14:57 #10
XML
1
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
в манифесте есть?

Попробуйте такой вариант
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
String str = "Акселерометр:         "+
                                            format(valuesAccel)+("\nЧистое ускорение: " + format(valuesAccelMotion))+("\nГравитация:             " + format(valuesAccelGravity))+
                                           "\nШирота:               "+a+"\nДолгота:            "+b+ "\n___________________________________\n";
try {
            File myFile = new File("/sdcard/mysdfile.txt");
            myFile.createNewFile();
            FileOutputStream fOut = new FileOutputStream(myFile);
            OutputStreamWriter myOutWriter = 
                                    new OutputStreamWriter(fOut);
            myOutWriter.append(str);
            myOutWriter.close();
            fOut.close();
            Toast.makeText(getBaseContext(),
                    "Done writing SD 'mysdfile.txt'",
                    Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            Toast.makeText(getBaseContext(), e.getMessage(),
                    Toast.LENGTH_SHORT).show();
        }
0
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
21.12.2015, 23:17  [ТС] #11
Записывает в файл оно нормально, у меня проблема, я не могу записать именно координаты, все остальное нормально записывает, а координаты не хочет(широта, долгота).
0
dajver
409 / 273 / 18
Регистрация: 18.09.2010
Сообщений: 1,112
22.12.2015, 00:16 #12
А вы уверены что вы их пишите?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2015, 00:16
Привет! Вот еще темы с ответами:

MS SQL Server и перевод широты и долготы в декартову СК - Matlab
Здравствуйте! Посмотрел похожие темы, но не понял как реализовать. У меня есть таблица в СУБД MS SQL Server, в которой содержится...

Навигатор под винду для определения широты и долготы точки, с точностью 14 знаков - Софт
Всем здравия! Не буду описывать предысторию, очень длинно получится. Суть: нужна софтина под винду, в функционал которой входит вывод...

Вводя координаты широты и долготы и часового угла, найти два параметра по двум формулам - Visual Basic
Здраствуйте. Задали создать программу по астрономии, но в програмировании полный ноль. Кто может создать или вообще хоть чемто помочь (так...

Считывание координат из XML в массив и запись в ячейки - C#
Вот такая задача у меня в массиве есть данные координат. По циклу я их использую в методе. Нужно в определенные ячейки пропускать... И...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
22.12.2015, 00:16
Ответ Создать тему
Опции темы

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