2014-06-12 2 views
1

я нахожусь далеко, чтобы быть экспертом в Android программирования, так что я не имею ни малейшего представления о том, если это возможно, так что позвольте мне разделить мои сомнения в три вопроса:Обнаружение телефона на карте

1) Возможно ли, чтобы приложение Android обнаружило все другие устройства Android на карте, в которой установлено одно и то же приложение, в радиусе, ранее заданном (например, 5 км)?

2) Если да, возможно ли также показать их номера телефонов (с их согласия, конечно)?

3) Сколько времени потребуется приблизительно опытному программисту для Android?

+0

Что вы попробовали? – NewUser

ответ

1

Чтобы ответить на ваш вопрос

  1. ДА! Возможные предусмотренные

    • Все пользователи в пределах заданного радиуса должен быть включен GPS, и вы должны быть с широту/долготу всех пользователей текущие координаты (или по крайней мере в прошлом известные координаты должны быть сохранены периодически), сохраненные в БД.

    • Чтобы вычислить радиус в 5 км, вы можете использовать запрос и функцию оракула, который дает вам список ближайших людей. Ниже функция дает расстояние между двумя гео-координатами в КМ. create or replace FUNCTION CALC_DISTANCE (Lat1 IN NUMBER, Lon1 IN NUMBER, Lat2 IN NUMBER, Lon2 IN NUMBER) RETURN NUMBER IS -- Convert degrees to radians DEGTORAD NUMBER := 57.29577951; Radius NUMBER := 6387.7; BEGIN RETURN(NVL(Radius,0) * ACOS((sin(NVL(Lat1,0)/DegToRad) * SIN(NVL(Lat2,0)/DegToRad)) + (COS(NVL(Lat1,0)/DegToRad) * COS(NVL(Lat2,0)/DegToRad) * Cos(Nvl(Lon2,0)/Degtorad - Nvl(Lon1,0)/ Degtorad)))); END;

    • С помощью запроса на выборку, как, SELECT * FROM USER_LIST WHERE CALC_DISTANCE(MY_LAT,MY_LONG, USER_LAT, USER_LONG) <=5 ; вы можете оштрафовать список ближайших пользователей и отображения для пользователя, обращающегося информацию.

    • Это может разрядить аккумулятор и поэтому желательно не включать в список друзей динамически. Вместо этого пользователь может иметь что-то вроде «Найти пользователей», а затем ваше приложение может отображать список ближайших пользователей.

  2. Получение телефонных номеров через приложение для Android зависит от оператора мобильной связи и провайдера. Таким образом, мы не можем гарантировать автоматическое получение номеров сотовых телефонов и предоставление другим пользователям. Однако в случае, если вы получите весь номер мобильного телефона пользователя вручную при первом входе в систему, это может быть возможно. Однако фрагмент кода доступен здесь Programmatically obtain the phone number of the Android phone. Но помните, что в большинстве индийских чисел мы наблюдаем, что это не работает.

  3. Это зависит от других факторов, и я не тот человек, которого нужно комментировать!

+0

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

+0

С удовольствием помогите :) –

+0

Еще один вопрос: вы говорите о сохранении текущих координат в БД, в то время как цель - обнаружить координаты в реальном времени. Все в порядке, что приложение автоматически сохраняет текущие координаты других телефонов (например, каждый раз, когда приложение запускается) или есть лучший способ? Цель состоит в том, что, например, когда вы идете по улице, и вы находитесь на правильном расстоянии, приложение автоматически обновляет список телефонов, находящихся в этом радиусе. –

Смежные вопросы