实现Android 接口方法介绍


  本文标签:Android 接口

  我们认为全球移动用户从中能获得的潜在利益是值得付出这些努力的,如果你也是一个开发者,并对我们的想法感兴趣,让这些Android 接口变得更好,同时也将添加更有吸引力的特性、应用和服务  。

  生成的接口包括一个名为Stub的内部抽象类,该类声明了你在aidl文件中声明的所有方法  。Stub也定义几个有用的方法,最特别的是asInterface(),它执行一个IBinder(在 applicationContext.bindService()执行成功后传给客户端onServiceConnected()方法),并返回一个用来调用IPC方法的接口实例  。更多细节请查看章节调用IPC方法  。

  1. 1. 声明一个接口类型的变量,该接口类型在.aidl文件中定义  。     
  2.  2.Implement ServiceConnection.      
  3.  2. 实现ServiceConnection  。     
  4.  3.Call ApplicationContext.bindService(), passing in your ServiceConnection implementation.      
  5.  3. 调用ApplicationContext.bindService(),并在ServiceConnection实现中进行传递.      
  6.  4.In your implementation of ServiceConnection.onServiceConnected(), you will receive an IBinder instance (called service).      
  7.    Call YourInterfaceName.Stub.asInterface((IBinder)service) to cast the returned parameter to YourInterface type.      
  8.  4. 在ServiceConnection.onServiceConnected()实现中,你会接收一个IBinder实例(被调用的Service). 调用     
  9.     YourInterfaceName.Stub.asInterface((IBinder)service)将参数转换为YourInterface类型  。     
  10.  5.Call the methods that you defined on your interface. You should always trap DeadObjectException exceptions, which are      
  11.    thrown when the connection has broken; this will be the only exception thrown by remote methods.      
  12.  5. 调用接口中定义的方法  。 你总会捕捉到DeadObjectException异常,该异常在连接断开时被抛出  。它只会被远程方法抛出  。     
  13.  6.To disconnect, call ApplicationContext.unbindService() with the instance of your interface.      
  14.  6. 断开连接,调用接口实例中的ApplicationContext.unbindService()   

  实现Android 接口,扩展YourInterface.Stub,并实现方法成员  。(你可以创建一个aidl文件并实现stub方法而不用绑定-AndRoid创建过程在java文件之前会处理aidl文件)  。 现在你已完成了接口的实现,你需要向客户端公开该实现  。

  这就是我们所熟悉的"发布服务"  。发布一个Service,然后继承 Service并实现getBinder()返回一个实现的类的实例  。下面是个Service的代码片断,该Service向客户端公了 IRemoteService接口  。

  如果你有类需要通过Android 接口从一个进程发送到另一个,你必须确保类代码可以被IPC接收端所使用  。通常这意味着一开始你就要和service进行通讯  。, Android 作为谷歌企业战略的重要组成部分  。

  将进一步推进“随时随地为每个人提供信息”这一企业目标的实现  。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话  。谷歌的目标是让(移动通讯)不依赖于设备甚至平台  。

  出于这个目的,Android 接口将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品  。

  开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和高昂的投入  。但是,我们认为全球移动用户从中能获得的潜在利益是值得付出这些努力的  。

  如果你也是一个开发者,并对我们的想法感兴趣,就请再给我们一星期的时间,届时谷歌便能提供 SDK 了  。如果你是一名移动用户,只需再等一段时间,我们的一些合作伙伴计划在 2008 年下半年推出基于 Android 平台的电话产品  。

  如果你已经拥有一部你了解并喜爱的电话,请登录 mobile.google.com ,确保你已经安装谷歌手机地图、Gmail 以及其他一些专为你的手机开发的精彩应用  。谷歌将继续努力,让这些服务变得更好,同时也将添加更有吸引力的特性、应用和服务  。