【问题标题】:When do you need a WebService or an Android Service? [closed]什么时候需要 WebService 或 Android Service? [关闭]
【发布时间】:2012-04-18 12:16:08
【问题描述】:

在过去的两周里,我阅读了大量有关本地和远程 Android 服务、IPC、AIDL 的内容……当我认为我理解了某些内容时,我又搞砸了。

我的目的是发送一些数据供另一台设备接收。例如共享一个字符串数组或任何其他对象。

我仍然不了解架构的一些基本概念:我是否必须实现应用程序必须监听的 Web 服务?否则其他设备上的应用怎么会知道有“消息”在等待呢?

谁能为这样的典型任务起草一个基本架构?

Messenger Service、Local Service、AIDL、Parcelable、Web Service??

对不起,我的无知。我真的混淆了非常基本的概念。

谢谢。

【问题讨论】:

    标签: android web-services service


    【解决方案1】:
    • 服务

    这是在 Android 上运行在后台处理任务的东西。类似于 Thread 的东西,但更像是一种无形的 Acitivity。

    它可以是本地服务(在与其通信的 Activity 的进程中)或远程服务。如果它是远程服务,则您需要序列化进程之间的所有通信。这种机制称为 IPC。

    对于 Android 上的 IPC,您有 AIDL 来定义服务的远程接口(因为您不能调用其他进程中的方法)并且您有 Parcellable 的东西来序列化对象。

    Messanger Service 是一种使用 android 的 Message 类在 Process 之间传输数据的 Service。

    以上所有内容仅用于在您的设备内进行操作。不适用于其他设备。

    • 网络服务

    是涉及网络服务器和互联网的东西,它并不是真正特定于 Android 的。你最好是维基百科:)


    • 如何将数据从设备 A 发送到设备 B:

    有几种方法可以做到这一点,其中一种方法是创建一个类似于聊天服务器并允许为已注册设备发送/轮询消息的 Web 服务。另一个通过 TCP 直接通信(在本地 WiFi 中)。看你需要什么。

    • 应用内部架构。

    处理网络通信并让您的活动发送/接收消息的服务可能是一个好主意。但是也没有通用架构可以做到这一点,这取决于您的应用需要什么。

    【讨论】:

    • "以上所有内容仅用于在您的设备内进行操作。不适用于其他设备。"谢谢@zapl,这就是我需要知道的。关于从 A 发送数据到 B 的任何文档?我猜这超出了 Android SKD 的范围......?
    • 也许that 或谷歌“java 套接字编程”或“java webservices”左右:) 有无限的可能性。或者Android Cloud to Device Messaging,但这更像是一个网络服务到设备消息传递的东西。
    猜你喜欢
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2012-06-05
    • 2014-02-09
    • 1970-01-01
    • 2019-08-13
    相关资源
    最近更新 更多