就像你的程序能够发送数据到其他程序一样,其他程序也能够方便的接收发送过来的数据。需要考虑的是用户与你的程序如何进行交互,你想要从其他程序接收哪些数据类型。例如,一个社交网络程序会希望能够从其他程序接受文本数据,像一个有趣的网址链接。Google+的Android客户端会接受文本数据与单张或者多张图片。用这个app,用户可以简单的从Gallery程序选择一张图片来启动Google+进行发布。
Android Training - 分享简单数据(Lesson 1 - 发送简单数据到其他Apps)
章节序言
Android程序中很炫的一个功能是程序之间可以互相通信。为什么要重新发明一个已经存在于另外一个程序中的功能呢,而且这个功能并非自己程序的核心部分。
这一章节会讲述一些通常使用的方法来在不同程序之间通过使用Intent APIs与ActionProvider对象来发送与接受content。
Android Training - 记住用户的信息(Lesson 3 - 创建自定义的账户类型)
Creating a Custom Account Type
到目前为止,我们讨论了如何使用Google APIs。但是我们应该不仅仅是只需要Google的服务而已,比如增加QQ账户,Sina账户等。那么这一课会讲述如何创建一个自定义的账户,并且像内置的账户那样进行工作。
(1)Implement Your Custom Account Code
首先需要做的是从用户那获取证书[输入账户与密码后进行验证],这个过程也许只是简单的显示一个对话框来输入用户名与密码,或者是比较复杂的操作来获取证书,比如一次性的密码口令或者精密的扫描。不管怎么样,你需要实现下面的操作:
Android Training - 记住用户的信息(Lesson 2 - 使用OAuth2来进行身份鉴定)
Authenticating to OAuth2 Services[使用OAuth2来进行鉴权]
为了安全的访问线上服务,用户需要在service上进行鉴定,他们需要提供身份的证明。对于一个程序来说,如果是访问第三方的服务,那么这个安全问题就更加复杂。 【比如,你有个资料在A服务器上,但是你需要在B上面对A里面的数据进行操作,这个时候如果把登入A的帐号与密码给B去直接操作就不够安全,简单的方法是先把A上的资料拿下来,再弄到B上面去,然后B再做操作,这又显得很不方便,就是为了解决这样类似的问题,才诞生了OAuth。关于OAuth2的详情,请参考:http://oauth.net/2/,谢谢!】 目前行业内解决这种第三方服务身份鉴定的方法是使用OAuth2协议。OAuth2提供了auth token,它代表用户身份与用户对于程序的授权。这一课演示了如何使用OAuth2连接到Google Server。同样在其他支持OAuth2协议的服务上都可以使用类似的方法。
使用OAuth2有利于:
- 从用户那得到授权,使用账户信息来访问online service。
- 对online service进行鉴定,保护用户利益。
- 处理认证错误。