sonyps4.ru

Как работает приложение компас на андроиде. Приложение Компас для Андроид на русском языке: как скачать, установить и настроить мобильный компас на смартфоне? Как пользоваться приложением Компас на смартфоне на Андроид

Современный смартфон - далеко не простая «звонилка».

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

Зачем нужен компас в телефоне?

Для начала разберемся, зачем нужен компас в смартфоне. Он помогает ориентироваться в пространстве даже при отсутствии карты местности. Если знать примерное расположение населенного пункта или конкретного объекта, этот прибор в умелых руках поможет его найти.

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

Функция компаса доступна в предустановленных приложениях на многих Android-устройствах и работает через и . Чтобы увидеть заветную стрелочку, всегда указывающую на север, просто откройте приложение Google Maps (Карты Google) или Яндекс.Навигатор.

Приложения компаса на Android

Кроме предустановленных программ можно воспользоваться компасом, установив одно из бесплатных приложений в Google Play. Вот наиболее популярные и стабильные из них.

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

Это приложение позволяет пользоваться компасом через технологию GPS (без интернета). Приложение определит местоположение за считанные секунды.

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

На этом тему компаса в телефонах можно закрывать. Получить эту функцию крайне просто, главное - уметь пользоваться информацией.

Встроенный GPS — это одна из стандартных функций современных смартфонов, благодаря которой мобильные юзеры могут пользоваться различными навигационными приложениями вроде Google Maps и получать точные координаты, к примеру, собственного местоположения, локализировать тот или иной объект на карте, прокладывать маршруты передвижения и т.д.

Однако, разные Android-девайсы оснащаются разнотипными датчиками GPS, которые в свою очередь отличаются по своим техническим параметрам.

Соответственно, в зависимости от качества работы таких датчиков зависит и качество GPS-сигнала, который способна обеспечивать каждая отдельная модель смартфона.

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

В этой статье мы собрали некоторые полезные рекомендации, как повысить качество GPS в Android-смартфонах и планшетах . Итак

Для начала следует убедиться, что в вашем Android-девайсе функция GPS активирована. Для этого заходим в «Настройки » аппарата (мы пользуемся вот таким Lenovo P770), открываем раздел «Мое местоположение » (Location Access) и там включаем (проставляем галочки) опции «Доступ к данным о моем местоположении » (Access to my location) и «По спутникам GPS » (GPS Satellites).

Калибровка GPS
Часто причиной снижения качества GPS-сигнала может быть плохо откалиброванный компас в смартфоне, вследствие чего устройство неправильно рассчитывает координаты, постоянно выдавая неверные данные. Настроить компас в ОС Android можно с помощью специальной утилиты, коих в Сети множество. GPS Essentials , например. После установки этого приложения нужно просто его запустить и нажать кнопку Calibrate . Далее программка самостоятельно оптимизирует настройки GPS в вашем смартфоне.

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

В случае, если повысить качество GPS (или выяснить причину некачественной его работы) с помощью утилиты GPS Essentials не удалось (а бывает и такое), то в качестве крайней меры можно перезагрузить GPS-модуль вашего Android-смартфона. Дело в том, что иногда аппарат «зацикливается» на спутниках, которые находятся вне зоны досягаемости, и перестает принимать сигнал от доступных спутников. Полная перезагрузка GPS-модуля обнуляют все текущие настройки, и возобновляет изначальные. В нашем Lenovo P770 GPS-модуль мы перезагружали с помощью утилиты GPS Status & Toolbox , которую тоже скачивали с Google Play.

После установки и запуска приложения необходимо зайти в меню менеджера состояния A-GPS (Manager A-GPS State ) и просто нажать кнопку Reset Data . Программа сбросит все имеющиеся настройки GPS-модуля и восстановит заводские. Этот способ оптимизации можно использовать и так сказать в профилактических целях, когда качество GPS в смартфоне вновь будет ухудшаться.

Перепрошивка устройства
Еще один радикальный способ повысить качество GPS с Android-смартфоне или планшете предусматривает перепрошивку аппарата. Однако эффективно воспользоваться им могут только продвинутые пользователи. Неопытные же юзеры, наоборот, могут не только не исправить ситуацию с GPS, но, вероятнее всего, выведут устройство из строя. Тем не менее, при грамотном подходе к делу перепрошивка позволяет устранить недостатки в работе GPS и существенным образом повысить точность и качество GPS сигнала, а также ускорить поиск спутников. Разумеется, о резервном копировании данных не забываем.

В прошлых уроках мы уже осваивали работу с некоторыми датчиками, которыми оборудованы современные Android устройства. Мы недавно уже сделали фонарик и можем отыскать дорожку в темном переулке, осталось только найти себе путь, куда идти, и сегодня мы над этим поработаем, создав программу Компас, работающую с датчиком ориентации. Наш будущий компас будет (как и полагается) указывать на север и при смене положения устройства в элементе TextView в интерфейсе программы будет в градусах показываться отклонение положения устройства от севера. Примечательно, что программа легко работает и на довольно старых устройствах 2010-х годов, о чем их владельцы могут и не догадываться (как я например). Помню, как владелец iPhone 4 хвастался наличием компаса на своем яблоке, а я со своим Galaxy Gio был в печали, думая, что мой аппарат такими возможностями не обладает. Но оказалось то, что обладает, всего то не было еще соответствующего распространенного ПО! И созданный здесь компас отлично работает и на нем в том числе.

Создаем новый проект, выбираем Blank Activity, минимальная версия Android 2.2. Приложение будет состоять из одного xml файла и одного java класса.

Настроим внешний вид нашего будущего компаса в файле activity_main.xml . Добавим сюда 2 элемента: TextView для отображения градуса отклонения от севера, а также ImageView , который будет отображать изображение компаса:

< LinearLayout xmlns: android= "schemas.android.com/apk/res/android" android: layout_width= "match_parent" android: layout_height= "match_parent" android: orientation= "vertical" android: background= "#FFFFFF" > < TextView android: id= "@+id/Header" android: layout_width= "wrap_content" android: layout_height= "wrap_content" android: layout_centerHorizontal= "true" android: layout_marginBottom= "40dp" android: layout_marginTop= "20dp" android: text= "Отклонение от севера: 0.0" android: layout_gravity= "center" / > < ImageView android: id= "@+id/CompassView" android: layout_width= "wrap_content" android: layout_height= "wrap_content" android: layout_below= "@+id/tvHeading" android: layout_centerHorizontal= "true" android: src= "@drawable/compass_rus" android: layout_gravity= "center" / > < / LinearLayout >

Картинка, которую я использовал для компаса:

Вы при желании можете использовать любое другое изображение и поместить его в папку res/drawable .

Теперь немного теории. Как было упомянуто в начале урока, работа компаса в этом приложении основана на использовании датчика ориентации Android устройства. Доступ к использованию функционала датчика происходит через использование объекта SensorManager . Через SensorManager программисты получают доступ ко всем установленным на устройство датчикам: гироскоп, акселерометр, датчик освещения, барометр, датчик магнитных полей и другие, которых в современных аппаратах просто уйма, ведь сейчас смартфоны научились уже даже измерять пульс владельца. Доступ к необходимому датчику осуществляется через команду .getDefaultSensor () ,в которой указывается тип датчика, к которому получается доступ. В нашем случае эта команда выглядит так:

.getDefaultSensor(Sensor . TYPE_ORIENTATION )

Также в приложении используется слушатель изменений показаний датчика (SensorEventListener ), поэтому наше приложение должно выполнять этот интерфейс:

public class MainActivity extends Activity implements SensorEventListener {

Сами датчики не понимают, когда им пора на упокой, поэтому необходимо использовать методы onResume () и onPause () , чтобы указывать, когда приложение должно работать, а когда датчики могут быть свободны:). Если это не сделать, то датчик будет усердно трудиться и при закрытии программы, что уменьшит время работы устройства на несколько часов по причине стремительного разряда батареи.

Метод onSensorChanged () фиксирует изменения показаний датчика ориентации при его отклонении от севера, которому мы присваиваем значение 0 градусов. При повороте устройства в любую сторону в элементе TextView будет динамически отображаться изменение положения устройства в пространстве по отношению к северу в градусах.

Открываем файл MainActivity.java и добавляем все, о чем было упомянуто выше:

import android.app.Activity ; import android.hardware.Sensor ; import android.hardware.SensorEvent ; import android.hardware.SensorEventListener ; import android.hardware.SensorManager ; import android.os.Bundle ; import android.view.animation.Animation ; import android.view.animation.RotateAnimation ; import android.widget.ImageView ; import android.widget.TextView ; public class MainActivity extends Activity implements SensorEventListener { //Объявляем картинку для компаса private ImageView HeaderImage ; //Объявляем функцию поворота картинки private float RotateDegree = 0f ; //Объявляем работу с сенсором устройства private SensorManager mSensorManager; //Объявляем объект TextView TextView CompOrient ; @Override protected void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState); setContentView(R . layout. activity_main); //Связываем объект ImageView с нашим изображением: HeaderImage = (ImageView ) findViewById(R . id. CompassView ); //TextView в котором будет отображаться градус поворота: CompOrient = (TextView ) findViewById(R . id. Header ); //Инициализируем возможность работать с сенсором устройства: mSensorManager = (SensorManager ) getSystemService(SENSOR_SERVICE ); } @Override protected void onResume () { super. onResume(); //Устанавливаем слушателя ориентации сенсора mSensorManager. registerListener(this, mSensorManager. getDefaultSensor(Sensor . TYPE_ORIENTATION ), SensorManager . SENSOR_DELAY_GAME ); } @Override protected void onPause () { super. onPause(); //Останавливаем при надобности слушателя ориентации //сенсора с целью сбережения заряда батареи: mSensorManager. unregisterListener(this); } @Override public void onSensorChanged (SensorEvent event ) { //Получаем градус поворота от оси, которая направлена на север, север = 0 градусов: float degree = Math . round(event. values); CompOrient . setText("Отклонение от севера: " + Float . toString(degree) + " градусов" ); //Создаем анимацию вращения: RotateAnimation rotateAnimation = new RotateAnimation (RotateDegree , - degree, Animation . RELATIVE_TO_SELF , 0.5f , Animation . RELATIVE_TO_SELF , 0.5f ); //Продолжительность анимации в миллисекундах: rotateAnimation. setDuration(200 ); //Настраиваем анимацию после завершения подсчетных действий датчика: rotateAnimation. setFillAfter(true ); //Запускаем анимацию: HeaderImage . startAnimation(rotateAnimation); RotateDegree = - degree; } @Override public void onAccuracyChanged (Sensor sensor , int accuracy ) { //Этот метод не используется, но без него программа будет ругаться } }

Все, давайте скомпилируем проект и протестируем приложение (можно и не компилировать, а протестировать через реальное устройство, подключенное к Android Studio). Запускаем и видим:

Работает, надеюсь у вас все также получилось, удачи!

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

На самом деле, калибровка компаса смартфона очень проста. Исходя из того, что на вашем телефоне есть Google Maps, откройте приложение и выполните такие несложные действия:

  • Держите смартфон, как вы его держите обычно. Держа девайс перед собой, наклоните его верхнюю часть вперед (от вас) и затем назад (к вам);
  • Теперь придайте устройству вертикальное положение, чтобы дисплей был обращен к вам. Поверните телефон сначала влево, потом вправо;
  • Снова придайте смартфону вертикальное положение. Наклоните девайс в сторону (например, сначала в левую, потом – в правую) на 90° – аналогично тому, как вы переключаетесь в ландшафтный режим.

Нарисуйте телефоном цифру «8» в воздухе для калибровки компаса

Если указанный выше способ вам не помог, тогда вы можете попробовать нарисовать девайсом «восьмерку» в воздухе. Вам нужно открыть приложение Google Maps и выполнить движения, как показано на этом видео – это очень просто, хотя вы можете выглядеть немного глупо, делая это в общественном месте.

Сторонние приложения

Вы также можете установить приложение из Play Store, чтобы узнать состояние вашего компаса и других датчиков, и определить, нуждаются ли они в калибровке. Одним из таких приложений является GPS Essentials .

У вас возникли вопросы? Задайте их нам в комментариях.



Загрузка...