项目描述:我必须在android中创建一个应用程序,它从GPS获取纬度和经度并将其位置转发给服务器。在服务器端,应该有一个网页,它持续接收来自Android应用程序的消息,并在Google地图上显示该位置。
假设我们的应用程序正在运行的不同位置有10个Android设备。在服务器端,我们必须在设备位置的Google地图上显示10个标记。
我做了什么:我已经在Android中制作了一个应用程序,它可以从GPS获得Lat和Long。我熟悉android上的socket编程。我已经在服务器端实现了具有Google地图并显示标记的网页。
困惑:
如何制作服务器?
如何将数据从Android传输到服务器以及服务器端需要哪些应用程序从Android接收数据。是否需要任何桌面或控制台应用程序在服务器的特定端口绑定它自己,或者网页足以让我实现此目标。
我必须使用哪种协议? UDP,TCP / IP,还是直接使用HTTP或HTTPS steam?
我只是需要一些关于我的问题的方向,因为我从未在Android和客户端服务器通信中工作过。如果您认为这个问题含糊不清,请推荐一本关于网络的书或任何您认为适合此类问题的书。
答案 0 :(得分:1)
Afaik ......
首先,您需要使用Android SDK中提供的位置基础服务获取GPS数据(请参阅位置MAnager,位置监听器等等)
困惑: - 混淆是
如何制作服务器。
Ans:不能帮助你,因为我不擅长配置服务器
如何将数据从Android传输到服务器以及服务器端需要哪些应用程序从Android接收数据。是否需要在服务器的特定端口绑定自己的桌面或控制台应用程序,或者网页足以让我实现此目标。
Ans:您可以使用使用 get或post 方法接收数据的Web服务传输包含纬度和经度的数据,然后每次调用OnLocationChanged方法时将其转储到数据库中在位置监听器上。您最好在服务器中配置mysql数据库,然后将其用于数据存储。您需要设计的网页,以便经常从数据库中获取与位置相关的数据,然后相应地显示标记。
我必须使用UDP或TCP / IP的协议,或直接使用HTTP或HTTPS流?
Ans:如果您了解php,那么您可以使用REST服务,或者如果您是.Net类型的人,您可以使用SOAP Web服务,该服务使用简单的http post方法将数据更新到服务器。
希望这会有所帮助。
答案 1 :(得分:1)
常见设置可以是这样的:
有以下事项:
这样,你得到了你想要的东西。
另一方面,如果我们谈论客户端 - 服务器架构,客户端会发送请求并获得响应。而已。为此,客户端访问服务器端脚本以获取这些响应。同样,您的Android应用程序访问特定的服务器端脚本并获得响应。就是这样。
如果您想要实现服务器启动的与android的通信,您将不得不使用推送机制,如云到设备消息(C2DM)
干杯。