两个android应用程序如何相互通信?

时间:2009-10-24 12:44:24

标签: android communication mobile-phones

两个Android应用程序的通用通信架构是什么?

案例1:

我有两个Android应用程序,

a)一个是等待客户端请求的服务器,处理请求(从某个sqlite db读取数据)并将结果返回给客户端。这个服务器应用程序在自己独立的Android手机上运行。

b)第二个是将请求发送到(a)中的服务器应用程序的客户端,它也可以在自己独立的Android手机上运行。

问题是,这两个应用程序是否必须通过移动服务提供商才能进行通信?或者他们可以通过一些公共IP / WIFi直接相互通信等。这些应用的通信结构/架构是什么?

案例2:

我有一个在独立的Android手机上运行的Android应用程序,我想让它与某些服务器应用程序(Web服务器/应用程序服务器)交谈,这些应用程序在互联网上的某个机器上运行,发送请求并获得一些反馈。 / p>

同样,这两个应用程序是否必须通过移动服务提供商来促进沟通?或者他们只是通过一些公共IP建立直接的TCP / IP通信?

任何参考文章都会有所帮助。

由于

加特

3 个答案:

答案 0 :(得分:3)

  

问题是,做两个申请   必须通过移动服务   提供通信的提供商?

如果你想使用3G,是的。如果你想使用WiFi,没有。通常,Android应用程序并不关心Internet连接的来源。

  

或者他们可以互相交谈   直接通过一些公共IP / WIFi等。

如果他们有WiFi连接,则他们有WiFi连接。您使用Java套接字,并使用Java访问权限(例如,NAT)来解决所有正常的WiFi连接问题。

  

同样,这两个应用程序必须这样做   通过移动服务提供商   为了方便沟通?或者他们   只需建立一个直接的TCP / IP   通过一些公共IP进行通信?

你要求一个Java套接字。你得到一个Java套接字。您使用Java套接字执行某些操作。那个Java套接字的来源以及它的连接如何工作通常都在幕后:3G,WiFi,一个非常小的客座中队等等。

答案 1 :(得分:1)

我建议Android – IPC, aidl and IBinderGrasping Android's IPC mechanism作为开始。之后,只需在Google上搜索'Android IPC'

答案 2 :(得分:0)

有关同步的信息,请Synchronization in Android