Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 17 ноя 2018, 18:57

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 164 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9  След.
Автор Сообщение
СообщениеДобавлено: 27 апр 2015, 13:50 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Только делать запрос в интернет с указанием необходимых координат. Вот тема
http://stackoverflow.com/questions/1995 ... d-latitude
ну или использовать Google Play Services для определения местоположения, и там есть возможность узнать высоту над уровнем моря, так сказать с коробки

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 апр 2015, 14:54 

Зарегистрирован: 27 апр 2015, 13:20
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
POST запросом?
да


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 апр 2015, 14:57 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Ну вот и действуйте! =)

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 апр 2015, 15:01 

Зарегистрирован: 27 апр 2015, 13:20
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Mikhail_dev писал(а):
Ну вот и действуйте! =)

в этом то вся проблема, что я не знаю как начать даже :(


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 апр 2015, 15:03 

Зарегистрирован: 27 апр 2015, 13:20
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Mikhail_dev писал(а):
Ну вот и действуйте! =)

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


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 02 май 2015, 18:01 

Зарегистрирован: 27 апр 2015, 12:04
Сообщений: 4
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.
Mikhail_dev писал(а):
Только делать запрос в интернет с указанием необходимых координат. Вот тема
http://stackoverflow.com/questions/1995 ... d-latitude
ну или использовать Google Play Services для определения местоположения, и там есть возможность узнать высоту над уровнем моря, так сказать с коробки


спасибо, попробовав это я узнал, что это устаревший код, который уже не компилится в андроид студио, посмотрел как по-новому будет, в общем вот, что написал, но приложение крашится, first - метод-обработчик нажатия на кнопку, нажимая на кнопку, приложение сразу выкидывает ошибку и закрывается, я вообще не понимаю в чём проблема, даже ворнингов нет

В МАНИФЕСТЕ прописал всё, что надо

Код: [ Загрузить ] [ Скрыть ]
  1. public class MainActivity extends ActionBarActivity { 
  2.  
  3.     //String result = null; 
  4.  
  5.     @Override 
  6.     protected void onCreate(Bundle savedInstanceState) { 
  7.         super.onCreate(savedInstanceState); 
  8.         setContentView(R.layout.activity_main); 
  9.     } 
  10.  
  11.     public void first(View view) 
  12.     { 
  13.         String stringUrl = "http://maps.googleapis.com/maps/api/elevation/xml?locations=47.237222,39.712222&sensor=true"; 
  14.         ConnectivityManager connMgr = (ConnectivityManager) 
  15.                 getSystemService(Context.CONNECTIVITY_SERVICE); 
  16.         NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); 
  17.         if (networkInfo != null && networkInfo.isConnected()) { 
  18.             new DownloadTask().execute(stringUrl); 
  19.         } else { 
  20.             Toast.makeText(this,"НЕТ СЕТИ ИЛИ типатого",Toast.LENGTH_SHORT).show(); 
  21.         } 
  22.  
  23.     } 
  24.  
  25.  
  26.  
  27.     private class DownloadTask extends AsyncTask<String, Void, String> { 
  28.         @Override 
  29.         protected String doInBackground(String... urls) { 
  30.  
  31.             // params comes from the execute() call: params[0] is the url. 
  32.             try { 
  33.                 String str = downloadUrl(urls[0]); 
  34.                 Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show(); 
  35.                 return str; 
  36.             } catch (IOException e) { 
  37.                 Toast.makeText(MainActivity.this,"НЕВОЗМОЖНО ПОДКЛ К URL",Toast.LENGTH_SHORT).show(); 
  38.                 return "Unable to retrieve web page. URL may be invalid."; 
  39.             } 
  40.         } 
  41.         // onPostExecute displays the results of the AsyncTask. 
  42.         @Override 
  43.         protected void onPostExecute(String result) { 
  44.             Toast.makeText(MainActivity.this,result,Toast.LENGTH_SHORT).show(); 
  45.         } 
  46.  
  47.         private String downloadUrl(String myurl) throws IOException { 
  48.             InputStream is = null; 
  49.             // Only display the first 500 characters of the retrieved 
  50.             // web page content. 
  51.             BufferedReader reader = null; 
  52.  
  53.             try { 
  54.                 URL url = new URL(myurl); 
  55.                 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
  56.                 conn.setReadTimeout(10000 /* milliseconds */); 
  57.                 conn.setConnectTimeout(15000 /* milliseconds */); 
  58.                 conn.setRequestMethod("GET"); 
  59.                 conn.setDoInput(true); 
  60.                 // Starts the query 
  61.                 conn.connect(); 
  62.                 int response = conn.getResponseCode(); 
  63.                 Toast.makeText(MainActivity.this,"The response is: " + response,Toast.LENGTH_SHORT).show(); 
  64.                 is = conn.getInputStream(); 
  65.  
  66.                 // Convert the InputStream into a string 
  67.                 String contentAsString; 
  68.                 reader = new BufferedReader(new InputStreamReader(is)); 
  69.  
  70.  
  71.                 contentAsString=reader.readLine();//просто прочитал, чтоб хоть что-то было 
  72.  
  73.                 return contentAsString; 
  74.  
  75.                 // Makes sure that the InputStream is closed after the app is 
  76.                 // finished using it. 
  77.             } 
  78.             finally { 
  79.                 if (is != null) { 
  80.                     is.close(); 
  81.                 } 
  82.                 if (reader != null) { 
  83.                     reader.close(); 
  84.                 } 
  85.             } 
  86.         } 
  87.     } 


Последний раз редактировалось trubasyava 02 май 2015, 18:50, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 02 май 2015, 18:12 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Используй code для вставки кода на форум.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 02 май 2015, 22:41 

Зарегистрирован: 27 апр 2015, 12:04
Сообщений: 4
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.
trubasyava писал(а):
Mikhail_dev писал(а):
Только делать запрос в интернет с указанием необходимых координат. Вот тема
http://stackoverflow.com/questions/1995 ... d-latitude
ну или использовать Google Play Services для определения местоположения, и там есть возможность узнать высоту над уровнем моря, так сказать с коробки


спасибо, попробовав это я узнал, что это устаревший код, который уже не компилится в андроид студио, посмотрел как по-новому будет, в общем вот, что написал, но приложение крашится, first - метод-обработчик нажатия на кнопку, нажимая на кнопку, приложение сразу выкидывает ошибку и закрывается, я вообще не понимаю в чём проблема, даже ворнингов нет

В МАНИФЕСТЕ прописал всё, что надо

Код: [ Загрузить ] [ Скрыть ]
  1. public class MainActivity extends ActionBarActivity { 
  2.  
  3.     //String result = null; 
  4.  
  5.     @Override 
  6.     protected void onCreate(Bundle savedInstanceState) { 
  7.         super.onCreate(savedInstanceState); 
  8.         setContentView(R.layout.activity_main); 
  9.     } 
  10.  
  11.     public void first(View view) 
  12.     { 
  13.         String stringUrl = "http://maps.googleapis.com/maps/api/elevation/xml?locations=47.237222,39.712222&sensor=true"; 
  14.         ConnectivityManager connMgr = (ConnectivityManager) 
  15.                 getSystemService(Context.CONNECTIVITY_SERVICE); 
  16.         NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); 
  17.         if (networkInfo != null && networkInfo.isConnected()) { 
  18.             new DownloadTask().execute(stringUrl); 
  19.         } else { 
  20.             Toast.makeText(this,"НЕТ СЕТИ ИЛИ типатого",Toast.LENGTH_SHORT).show(); 
  21.         } 
  22.  
  23.     } 
  24.  
  25.  
  26.  
  27.     private class DownloadTask extends AsyncTask<String, Void, String> { 
  28.         @Override 
  29.         protected String doInBackground(String... urls) { 
  30.  
  31.             // params comes from the execute() call: params[0] is the url. 
  32.             try { 
  33.                 String str = downloadUrl(urls[0]); 
  34.                 Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show(); 
  35.                 return str; 
  36.             } catch (IOException e) { 
  37.                 Toast.makeText(MainActivity.this,"НЕВОЗМОЖНО ПОДКЛ К URL",Toast.LENGTH_SHORT).show(); 
  38.                 return "Unable to retrieve web page. URL may be invalid."; 
  39.             } 
  40.         } 
  41.         // onPostExecute displays the results of the AsyncTask. 
  42.         @Override 
  43.         protected void onPostExecute(String result) { 
  44.             Toast.makeText(MainActivity.this,result,Toast.LENGTH_SHORT).show(); 
  45.         } 
  46.  
  47.         private String downloadUrl(String myurl) throws IOException { 
  48.             InputStream is = null; 
  49.             // Only display the first 500 characters of the retrieved 
  50.             // web page content. 
  51.             BufferedReader reader = null; 
  52.  
  53.             try { 
  54.                 URL url = new URL(myurl); 
  55.                 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
  56.                 conn.setReadTimeout(10000 /* milliseconds */); 
  57.                 conn.setConnectTimeout(15000 /* milliseconds */); 
  58.                 conn.setRequestMethod("GET"); 
  59.                 conn.setDoInput(true); 
  60.                 // Starts the query 
  61.                 conn.connect(); 
  62.                 int response = conn.getResponseCode(); 
  63.                 Toast.makeText(MainActivity.this,"The response is: " + response,Toast.LENGTH_SHORT).show(); 
  64.                 is = conn.getInputStream(); 
  65.  
  66.                 // Convert the InputStream into a string 
  67.                 String contentAsString; 
  68.                 reader = new BufferedReader(new InputStreamReader(is)); 
  69.  
  70.  
  71.                 contentAsString=reader.readLine();//просто прочитал, чтоб хоть что-то было 
  72.  
  73.                 return contentAsString; 
  74.  
  75.                 // Makes sure that the InputStream is closed after the app is 
  76.                 // finished using it. 
  77.             } 
  78.             finally { 
  79.                 if (is != null) { 
  80.                     is.close(); 
  81.                 } 
  82.                 if (reader != null) { 
  83.                     reader.close(); 
  84.                 } 
  85.             } 
  86.         } 
  87.     } 




в общем сделал рабочий вариант, делается запрос по координатам географическим и показывается инфа

может кому пригодится код
Код: [ Загрузить ] [ Скрыть ]
  1. public class MainActivity extends ActionBarActivity { 
  2.  
  3.     //String result = null; 
  4.     TextView tv=null; 
  5.  
  6.     @Override 
  7.     protected void onCreate(Bundle savedInstanceState) { 
  8.         super.onCreate(savedInstanceState); 
  9.         setContentView(R.layout.activity_main); 
  10.         Button but_first=(Button)findViewById(R.id.button1); 
  11.         tv=(TextView)findViewById(R.id.textView); 
  12.         but_first.setOnClickListener(new View.OnClickListener() { 
  13.             @Override 
  14.             public void onClick(View v) { 
  15.                 String stringUrl = "http://maps.googleapis.com/maps/api/elevation/xml?locations=47.237222,39.712222&sensor=true"; 
  16.                 ConnectivityManager connMgr = (ConnectivityManager) 
  17.                         getSystemService(Context.CONNECTIVITY_SERVICE); 
  18.                 NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); 
  19.                 if (networkInfo != null && networkInfo.isConnected()) { 
  20.                     AsTask_Get ag=new AsTask_Get(); 
  21.                     ag.execute(stringUrl); 
  22.                 } else { 
  23.                     Toast.makeText(MainActivity.this, "НЕТ СЕТИ ИЛИ ХЗ КРЧ", Toast.LENGTH_SHORT).show(); 
  24.                 } 
  25.             } 
  26.         }); 
  27.     } 
  28.  
  29.  
  30.     public class AsTask_Get extends AsyncTask<String, Void, String> { 
  31.     String messsage="[пустая строка]"; 
  32.         @Override 
  33.         protected String doInBackground(String... params) { 
  34.             StringBuilder contentAsString = new StringBuilder(); 
  35.  
  36.             InputStream is = null; 
  37.             // Only display the first 500 characters of the retrieved 
  38.             // web page content. 
  39.             BufferedReader reader = null; 
  40.  
  41.             try { 
  42.                 URL url = new URL(params[0]); 
  43.                 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
  44.                 conn.setReadTimeout(10000); 
  45.                 conn.setConnectTimeout(15000 ); 
  46.                 conn.setRequestMethod("GET"); 
  47.                 conn.setDoInput(true); 
  48.                 // Starts the query 
  49.                 conn.connect(); 
  50.                 //int response = conn.getResponseCode(); 
  51.                 is = conn.getInputStream(); 
  52.  
  53.                 // Convert the InputStream into a string 
  54.                 reader = new BufferedReader(new InputStreamReader(is)); 
  55.  
  56.                 String line; 
  57.  
  58.                 while ((line = reader.readLine()) != null) { 
  59.                     contentAsString.append(line); 
  60.                 } 
  61.  
  62.             } 
  63.             catch (MalformedURLException e) 
  64.             { 
  65.                 messsage= "ОШИБКА 111"; 
  66.             } 
  67.             catch(IOException e) 
  68.             { 
  69.                 messsage="ОШИБКА 222"; 
  70.             } 
  71.             finally { 
  72.                 try { 
  73.                     if (is != null) { 
  74.                         is.close(); 
  75.                     } 
  76.                     if (reader != null) { 
  77.                         reader.close(); 
  78.                     } 
  79.                 } 
  80.                 catch(IOException e) 
  81.                 { 
  82.                     messsage="ОШИБКА 333"; 
  83.                 } 
  84.             } 
  85.             return contentAsString.toString(); 
  86.         } 
  87.  
  88.         protected void onPreExecute() { 
  89.             super.onPreExecute(); 
  90.         } 
  91.  
  92.         @Override 
  93.         protected void onPostExecute(String result) { 
  94.             super.onPostExecute(result); 
  95.             if(result!=null) 
  96.                 tv.setText(result); 
  97.             else 
  98.                 tv.setText(messsage); 
  99.         } 
  100.     } 
  101.  
  102.  
  103.  
  104.  


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 май 2015, 11:20 

Зарегистрирован: 27 апр 2015, 13:20
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте еще раз! у меня следующая проблема. Все пытаюсь передать координаты на сервер.
Код: [ Загрузить ] [ Скрыть ]
  1. public void send() 
  2.     { 
  3.      HttpClient httpclient = new DefaultHttpClient(); 
  4.      HttpPost httppost = new HttpPost("http://location.aiq.ru/index2.php"); 
  5.  
  6.       try { 
  7.         List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
  8.         nameValuePairs.add(new BasicNameValuePair("???", "???")); 
  9.         httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
  10.  
  11.           httpclient.execute(httppost); 
  12.  
  13.  
  14.     } 
  15. catch (ClientProtocolException ignored) { 
  16.  
  17. }catch (IOException ignored) { 
  18.       } 

У меня следующие вопросы.
1. Подскажите пожалуйста, какие строки я должен передать, вместо "???" ?
2. отправятся ли данные вообще?
3. нужно ли на сервере в php прописывать код обработки?

Заранее спасибо!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 авг 2015, 15:58 

Зарегистрирован: 06 авг 2015, 15:53
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Подскажите почему программа не запускается?
есть код
Код: [ Загрузить ] [ Скрыть ]
  1. public void onResume() { 
  2.         super.onResume(); 
  3.         // работа с сенсором 
  4.         sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_LIGHT), sm.SENSOR_DELAY_UI); 
  5.         sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_PRESSURE), sm.SENSOR_DELAY_UI); 
  6.  
  7.         lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,100*10,10,ll); 
  8.         lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000*10, 10,ll); 
  9.         checkEnabled(); 
  10.     } 

если убрать
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,100*10,10,ll);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000*10, 10,ll);
то программа запускается.
Листинг ll
Код: [ Загрузить ] [ Скрыть ]
  1. LocationListener ll = new LocationListener() { 
  2.         @Override 
  3.         public void onLocationChanged(Location location) { 
  4.             showLocation(location); 
  5.         } 
  6.  
  7.         @Override 
  8.         public void onStatusChanged(String s, int i, Bundle bundle) { 
  9.             if (s.equals(LocationManager.GPS_PROVIDER)){ 
  10.                 stat.setText(String.valueOf(i)); 
  11.             }else if (s.equals(LocationManager.NETWORK_PROVIDER)){ 
  12.                 stat2.setText(String.valueOf(i)); 
  13.             } 
  14.         } 
  15.  
  16.         @Override 
  17.         public void onProviderEnabled(String s) { 
  18.             showLocation(lm.getLastKnownLocation(s)); 
  19.         } 
  20.  
  21.         @Override 
  22.         public void onProviderDisabled(String s) { 
  23.             checkEnabled(); 
  24.         } 
  25.     }; 


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 20:17 

Зарегистрирован: 02 апр 2013, 22:44
Сообщений: 16
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Здравствуйте) хотелось бы поинтересоваться, после того как получил координаты, каким образом я могу получить свой точный адрес ? нашёл в хелпе http://developer.android.com/intl/ru/training/location/display-address.html . но увы с английским траблы, может кто занимался данным вопросом и чем может поможет)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 03 сен 2015, 00:03 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Есть такая вещь как геокодеры, которые преобразуют координаты в адрес и наоборот (прямой и обратный геокодинг). Вообще эта штука у гугла вроде как под лицензией идёт, и там стоят ограничения в коммерческой разработке, точнее на количество запросов в сутки (25 тысяч вроде).
Но то другой геокодер, а по той ссылке что вы дали, там есть такой
http://developer.android.com/intl/ru/re ... coder.html
Я его не пробовал. Поищите примеры по его использованию.

И вообще можете погуглить что за чудо такие геокодеры и как с ними в андроиде работать. Знаю еще один геокодер: Nominatim

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 ноя 2015, 20:03 

Зарегистрирован: 25 янв 2015, 18:57
Сообщений: 42
Благодарил (а): 9 раз.
Поблагодарили: 2 раз.
1)В методе onSensorChanged приложения Acceleration мы "вычислительным фильтром" получаем из датчика ускорения чистую гравитацию и чистое ускорение:

Код: [ Загрузить ] [ Скрыть ]
  1.   valuesAccelGravity[i] = (float) (0.1 * event.values[i] + 0.9 * valuesAccelGravity[i]); 
  2.                         valuesAccelMotion[i] = event.values[i] 
  3.                                 - valuesAccelGravity[i]; 

Как получаем чистое ускорение - это понятно-просто вычитаем гравитацию. А вот почему именно таким способом получаем гравитацию-не пойму. Почему на 0.1 умножаем, почему на 0.9 умножаем valuesAccelGravity, ведь мы именно ему присваиваем значение, у нас вроде нет еще значения на предыдущем шаге?
2) У меня в третьем приложении (Orientation) почему то данные совпадают для Orientation и Orientation2(с учетом поворота экрана и без). Не знаете, почему?
3)Непонятно, как работает определение угла по оси Y. По оси X-понятно, отклонение от горизонтального положения(экраном вверх). Ось Z-тоже понятно, отклонение от севера. А вот ось Y-когда я вращаю экраном вправо-влево(как будто перелистываю страницу)-значения меняются, но если устройство расположить в вертикальном положении и начать крутится по кругу, то они приобретают странный смысл-меняются, а потом иногда возвращаются обратно.
4)Почему мы в getActualDeviceOrientation() в

Код: [ Загрузить ] [ Скрыть ]
  1. case (Surface.ROTATION_180): 
  2.                 y_axis = SensorManager.AXIS_MINUS_Y; 

меняем только ось Y на отрицательную при повороте устройства вверх ногами? Ось X то тоже меняться должна! У нее тоже изменится направление на противоположное!
Прошу ответить тех, кто знает. Спасибо заранее!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 ноя 2015, 06:59 

Зарегистрирован: 06 ноя 2015, 22:06
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Помогите пожалуйста Mikhail_dev. Например: через 10с мы получим ноыве координаты. Через 1минуту, получим 6 новых координат. Вопрос: Как сохраниьт 6 новых координат (и больше значении) в файле и потом можно работать в Word? Спасибо большое!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 ноя 2015, 10:01 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Мы сохраняем в базу SQLite.
P.S. причем тут ворд?

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 ноя 2015, 04:08 

Зарегистрирован: 06 ноя 2015, 22:06
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Спасибо уважаемему Mikhail_dev, а как полученные координаты автоматически сохраняют в базу SQLite не надо никакой кпопки нажать? (на уроке 34 должен нажать кпопку Add чтобы сохранить и кпопку Read чтобы читать). Я хочу корпировать такие заначения из файла базы SQLite (data/data/ru.startandroid.develop.../databases/myDB), вставить в Word и в нем работаю. Зарание спасибо!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 янв 2016, 16:21 

Зарегистрирован: 17 июл 2015, 14:17
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте!
Я пишу приложение с сервисом, в котором (в сервисе) определяются текущее местоположение с помощью locationListener.
Код: [ Загрузить ] [ Скрыть ]
  1. Criteria c = new Criteria(); 
  2.             c.setAccuracy(Criteria.ACCURACY_FINE); 
  3.  
  4.             final String PROVIDER = locationManager.getBestProvider(c, true); 
  5.             locationManager.requestLocationUpdates(PROVIDER, 60*1000, 0, locationListener); 

Появилась проблема.
Код с locationListener-ом в активити или в фрагменте замечательно определяет координаты, принимает location и т.д. Но этот-же код в службе может не принимать координаты часами, потом, принять 60 новых location за 60 секунд и снова заснуть на 10 минут.
Сервис объявил как Foreground, добавил
Код: [ Загрузить ] [ Скрыть ]
  1. PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); 
  2.  
  3.         wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "DoNotSleep"); 

Жду советов\ исправлений.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 фев 2016, 09:58 

Зарегистрирован: 20 авг 2015, 10:17
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте. Один маленький вопрос, код полностью абсолютно такой же как в уроке, но у меня network_provider включается только тогда, когда включишь и gps на телефоне. Если GPS выключен, то network ни в какую не работает, ни с обычным инетом, ни с wi-fi. В коде разобрался, не пойму почему.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 дек 2016, 12:46 

Зарегистрирован: 27 дек 2016, 12:40
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Добрый день.
Полностью повторил урок. GPS работает нормально, данные приходят и обновляются. Но по сети данных нет, пробовал и через wifi и через мобильный интернет, их нет. Может быть сейчас появились другие способы получения координат через сеть? Тестирую на устройстве с 6 андроидом.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 июл 2017, 13:35 

Зарегистрирован: 29 июл 2017, 12:28
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте! Я новичок в Android, пытаюсь писать приложение для бега и рассчета дистанции,
столкнулся с тем, что скачут gps координаты, дистанцию пробовал считать с помощью distanceTo по точкам, получается сидишь на месте, локация меняется и дистанция соответственно.

Mikhail_dev писал(а):
Варианты решения проблемы с неправильными точками GPS:
1. Самый простой: 4 спутника и более (причем данные брать с протокола NMEA), при этом "Индикатор качества GPS сигнала" должен быть>0, при этом качество GPS координат лучше 250


Попробовал по советам в StackOverflow использовать анонимный класс OnNmeaMessageListener(), чтобы получить хотя бы
строку $GPGGA, а потом уже разбираться с ней, android studio предлагает его обернуть в if
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N),

Код: [ Загрузить ] [ Скрыть ]
  1. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 
  2.             locationManager.addNmeaListener(new OnNmeaMessageListener() { 
  3.                 @Override 
  4.                 public void onNmeaMessage(String message, long timestamp) { 
  5.  
  6.                     String lowerNmea = message.toLowerCase(Locale.ENGLISH); 
  7.                     if(message.startsWith("$GPGGA")) 
  8.                     { 
  9.                         if(lowerNmea.indexOf(",e,")>0 || lowerNmea.indexOf(",w,")>0) 
  10.  
  11.                             // тут textView не для этого предназначалось, поэтому название не соответствует, пока 
  12.                            // пытаюсь вывести строку 
  13.                             // и посмотреть как эта строка выглядит 
  14.                             tvTemp.setText(message.trim()); 
  15.                     } 
  16.                     else 
  17.                     { 
  18.                         tvTemp.setText("not"); 
  19.                     } 
  20.                 } 
  21.             }); 
  22.         } 
  23.  
  24.         else 
  25.         { 
  26.             Toast.makeText(this, "app version isn't high", Toast.LENGTH_SHORT).show(); 
  27.         } 



также я обработал else и выходит, что на моем устройстве (тестирую на своем телефоне android 5.1) не поддерживается
получение nmea данных или нужен другой слушатель, чтобы получить эту строку, распарсить ее, получить количество спутников и индикатор качества gps сигнала?

провайдер- gps, разрешение в манифесте есть
Код: [ Загрузить ] [ Скрыть ]
  1.     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 



Пожалуйста, помогите!


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 164 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB