我是一名 android 应用程序开发人员(想成为一名),我想学习如何从我的应用程序与网站进行通信。但是,我不知道从哪里开始。你能为我指出正确的方向吗?
PS:我认为“网络通信标准”是错误的术语,但我不知道如何称呼它们。
首先了解 HTTP。HTTP 远比最初出现的要多。它是网络上所有内容的构建块。
我建议你边做边学。选择一个想法 - 假设您想将一张图片从您的 Android 手机上传到 Facebook。
现在去研究如何做到这一点。Facebook为所有 fb 资源(包括用户、状态和照片等)公开了他们所谓的“图形 API ”。Graph API 是一个 REST API - 换句话说,后端的每个项目都被建模为可从 URL 访问的“资源”。(在维基百科上了解更多关于 REST 的信息)。将 GET HTTP 消息发送到给定的 URL,您可以获得有关资源的信息。向该资源的容器发送一个 POST ,然后您可以添加另一个它是什么。在此模型中,要添加照片,您需要 POST 到相册 URL。 阅读 FB 以了解如何做到这一点。他们称之为“出版”。
但是阅读该文档页面,您会了解到要发布您需要一个授权令牌。您的应用需要publish_stream 权限。你怎么知道的?继续阅读 FB 文档,您将看到Authentication and authorization guide的链接。这将告诉您如何在 Facebook 应用程序中使用 OAuth 2.0。
你的应用程序将发送它的第一条微弱的消息,并得到一个错误响应。为什么?您需要检查该消息。所以你谷歌并发现你可以使用 http 调试代理来帮助你,比如Fiddler2 用于 Windows或 Charles 用于其他系统。所以你下载它,在你的安卓设备上设置代理,现在你可以在你的电脑上查看传出的 HTTP 消息及其响应。继续插电,了解完成眼前任务所需的条件:在本例中,将照片从 android 设备发布到 Facebook。
在你达到这个目标之后,你将学到很多关于这个问题领域的实用知识。然后你可以尝试一个新的目标,并为此努力。
经过几次迭代,您将学会如何学习,这甚至比学习 REST 或 OAuth 更好。如果你知道如何学习,天空就是极限。