Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的分布式应用_Android_Eclipse_Client Server_Remote Execution - Fatal编程技术网

Android中的分布式应用

Android中的分布式应用,android,eclipse,client-server,remote-execution,Android,Eclipse,Client Server,Remote Execution,我正在尝试对android应用程序进行分区,以便部分在手机上执行,部分在服务器上执行(服务器可以在其中运行模拟器)。我读到安卓不支持RMIs。我正在考虑像客户机-服务器体系结构那样做,在eclipse中运行模拟器。 那么实现这个项目可行吗?任何想法都将受到高度赞赏 谢谢。安卓设备与存储数据和执行业务逻辑的服务器对话是很正常的。移动设备通常通过web服务与服务器通信,最流行的似乎是REST+JSON。实施: 服务器。代码需要与数据库通信,执行业务逻辑,并通过REST+JSON与设备通信数据。实施取

我正在尝试对android应用程序进行分区,以便部分在手机上执行,部分在服务器上执行(服务器可以在其中运行模拟器)。我读到安卓不支持RMIs。我正在考虑像客户机-服务器体系结构那样做,在eclipse中运行模拟器。 那么实现这个项目可行吗?任何想法都将受到高度赞赏


谢谢。

安卓设备与存储数据和执行业务逻辑的服务器对话是很正常的。移动设备通常通过web服务与服务器通信,最流行的似乎是REST+JSON。实施:

  • 服务器。代码需要与数据库通信,执行业务逻辑,并通过REST+JSON与设备通信数据。实施取决于您对语言/平台的了解

  • Android调用REST服务并处理返回的JSON数据。使用HttpClient进行REST调用,使用GSON解析返回的JSON数据


  • 如果使用标准服务器将繁重的工作卸载到服务器上,您将获得更大的成功。我使用Android emulator的经验是,它处理任务的速度比我手机上的任务慢两倍多,这表明将工作转移到模拟器上实际上不会提高工作效率


    如果您使用标准Java服务器来完成这项工作,您会发现它提供的收益要多得多。

    是的,我想您将使用常规Java服务器。我的项目面临的挑战是,我正试图决定(根据可用资源,如设备类型和网络带宽等)是在本地还是在服务器上执行方法(因为如果您决定一直卸载,这可能需要android手机消耗更多的电能)。要做到这一点,我应该了解应用程序的依赖关系,并对其进行分区。您是否建议我在类或函数级别进行分区?谢谢您的帮助。是的,在Eclipse中创建一个新的Java项目,并将所有昂贵的方法放在其中。然后,您可以将该项目包括在Android项目和新服务器项目中。这将允许您保持一组集中的类和方法,以保持Android和服务器代码的同步。非常感谢您每次在服务器上执行的方法都可能不同(取决于电话端是否卸载以及卸载的具体内容)。这是否可行?这将为服务器和手机之间可能的通信方式(不是常规的静态客户机-服务器体系结构)创建许多场景,因此我不知道是否可以这样做。有什么建议吗?谢谢,lotweb服务类似于普通的方法调用:您选择要调用的方法,传入一些参数(对象),然后得到回复(一个对象)服务器上REST的一个简单示例(这是REST的java服务器代码的外观):