Android 安卓客户机-服务器通信混乱

Android 安卓客户机-服务器通信混乱,android,client-server,communication,Android,Client Server,Communication,项目描述:我必须在android中制作一个应用程序,从GPS获取纬度和经度,并将其位置和标识转发给服务器。在服务器端应该有一个网页,不断地接收来自Android应用程序的消息,并在谷歌地图上显示位置 假设有10台Android设备在不同的地方运行我们的应用程序。在服务器端,我们必须在谷歌地图上的设备位置显示10个标记 我所做的:我在安卓系统中制作了一个应用程序,可以从GPS获取Lat和Long。我熟悉android上的socket编程。我已经在服务器端实现了这个网页,它有谷歌地图并显示了标记 混

项目描述:我必须在android中制作一个应用程序,从GPS获取纬度和经度,并将其位置和标识转发给服务器。在服务器端应该有一个网页,不断地接收来自Android应用程序的消息,并在谷歌地图上显示位置

假设有10台Android设备在不同的地方运行我们的应用程序。在服务器端,我们必须在谷歌地图上的设备位置显示10个标记

我所做的:我在安卓系统中制作了一个应用程序,可以从GPS获取Lat和Long。我熟悉android上的socket编程。我已经在服务器端实现了这个网页,它有谷歌地图并显示了标记

混乱:

  • 如何制作服务器

  • 如何将数据从Android传输到服务器,以及在服务器端需要什么应用程序来接收来自Android的数据。是否需要任何桌面或控制台应用程序将其自身绑定到服务器的特定端口,或者web页面足以实现此目标

  • 我必须使用什么协议?UDP、TCP/IP或直接使用HTTP或HTTPS蒸汽

  • 我只是需要一些关于我的问题的指导,因为我从来没有在安卓和客户机-服务器通信方面工作过。如果你认为这个问题很模糊,那么请推荐一本关于网络的书或任何你认为适合这类问题的书。

    好的

    首先,您需要使用Android SDK中提供的Location baser服务获取GPS数据(请参阅Location MAnager、Location Listener等)

    困惑:-困惑是

    如何制作服务器

    答:我不能帮你,因为我不擅长配置服务器

    如何将数据从Android传输到服务器,以及在接收Android数据的服务器端需要什么应用程序。是否需要任何桌面或控制台应用程序将其自身绑定到服务器的特定端口,或者web页面足以实现此目标

    Ans:您可以使用Web服务传输由纬度和经度组成的数据,该Web服务使用get或post方法接收数据,然后每次在Location Listener上调用OnLocationChanged方法时将其转储到数据库中。你最好在服务器上配置一个mysql数据库,然后将其用于数据存储。您需要以这样一种方式设计网页:它经常从数据库中获取与位置相关的数据,然后相应地显示标记

    我必须使用UDP或TCP/IP,或直接使用HTTP或HTTPS蒸汽的协议是什么

    答:如果你了解php,那么你可以使用REST服务,或者如果你是.Net类型的人,那么你可以使用SOAP Web服务,它使用简单的http post方法将数据更新到服务器


    希望这有帮助

    常见设置可以如下所示:

    有以下几点:

    • 服务器端的一个文件(PHP),其唯一目的是将从android设备接收的数据(lat、lng)注入MySql数据库
    • 服务器端的一个文件(PHP),其唯一目的是从MySql数据库中获取数据(lat、lng)。此文件应接收一个时间戳作为其参数,并返回在该时间戳之后保存的所有lat,lng值(为此,您的数据库必须存储时间戳)
    • 一个只处理映射的文件(HTML+JS)实现了一个AJAX调用,该调用使用时间戳值定期轮询第二个文件,以获得新的lat、lng值。当它得到这些值时,它会将它们绘制在地图上
    • 在Android设备上,让应用程序在特定的时间间隔内不断将其位置发送到第一个PHP文件
    这样,你就能得到你想要的

    另一方面,如果我们讨论客户机-服务器体系结构,客户机发送请求并获得响应。就这样。为此,客户端访问服务器端脚本以获得这些响应。同样,android应用程序访问特定的服务器端脚本并获得响应。就这样

    如果您想实现与android的服务器启动通信,则必须使用推送机制,如云到设备消息传递(C2DM)

    干杯