На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> Немного теории в реализации ПО , Приложения определения координат смартфона
    Всем привет!

    Пишу приложение(не вирус), которое должно незаметно определять местоположение смартфона, возникло несколько вопросов:

    1. Как определять местоположение? Через интернет? Включать GPS? Как это сделать не заметно для абонента
    2. Как отсылать мне эти данные местоположения? Создавать сайт для этого? Может быть почтой?(но при почте там спрашивают об отправке письма


    Пока, накапливаю теорию для будущей реализации.
      А с какой целью?
        Цитата ter_nk_ @
        А с какой целью?
        Ну например следить, чтобы ребёнок не шлялся после школы где ни попадя.
          GPS - это как раз таки то, благодаря чему реально получить широту и долготу.
          Через интернет нельзя определить точное местоположение устройства, максимум - местоположение сервера провайдера от которого гонят трафик к устройству. (а это явно не показатель положения самого устройства)

          В Вашем случае нужно будет включать и GPS и интернет. Можно делать это непосредственно перед отправкой (если они выключены), затем получать координаты и слать их на свой сайт/сервис/почту, после чего, возвращать статусы GPS и интернет на место. (Хотя, если пользователь будет смотреть на телефон в такие моменты - лично меня бы смутило что телефон сам включает сеть или GPS).

          В идеале если обе функции включены постоянно и пользователь не против - тут всё в разы проще.

          Насчёт сайта - ИМХО, проще и производительнее поднять сервисы (теми же сервлетами). На сервис посылать ID (чтобы знать кто отправляет свои данные) и координаты (чтобы знать где и когда он находился). А уже сервис может делать что угодно, самое примитивное - записать данные в базу (что в дальнейшем можно визуализировать (+интерполяция), и показать в какой точке на карте в конкретный момент времени был пользователь)

          По использованию самого GPS есть много примеров, вот с русскоязычного стека:

          ExpandedWrap disabled
            public class MyLocationActivity extends Activity implements LocationListener
            {
                private static final String TAG=MyLocationActivity.class.getName();
             
                @Override
                public void onCreate(Bundle savedInstanceState)
                {
                   super.onCreate(savedInstanceState);
                   setContentView(R.layout.main);
                   LocationManager lm =
                          (LocationManager)getSystemService(Context.LOCATION_SERVICE);
                   lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
                }
             
                @Override
                public void onLocationChanged(Location location)
                {
                   if (location != null)
                   {
                      Log.d(TAG, "Широта="+location.getLatitude());
                      Log.d(TAG, "Долгота="+location.getLongitude());
                   }
                }
             
                @Override
                public void onProviderDisabled(String provider)
                {
                }
             
                @Override
                public void onProviderEnabled(String provider)
                {
                }
             
                @Override
                public void onStatusChanged(String provider, int status, Bundle extras)
                {
                }
            }


          В вашем случае, вместе с

          ExpandedWrap disabled
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>


          будет ещё и интернет:

          ExpandedWrap disabled
            <uses-permission android:name="android.permission.INTERNET"/>


          Это всё необходимо, чтобы получать данные об устройстве "со стороны" в режиме реального времени. Так же, можно просто сбрасывать данные с GPS в память устройства, но, чтение таких данных возможно только с устройством на руках, зато отпадает надобность в интернете и постоянной трате трафика.
          Сообщение отредактировано: VisualProg -
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0615 ]   [ 16 queries used ]   [ Generated: 19.04.24, 00:09 GMT ]