189 8069 5689

有关Android调用服务全解析

进行Android调用服务时,你的程序只需要建立一个intent对象,这个intent对象包含请求的数据,并调用startActivity(),当前的acitivity被弹出栈,之前的activity成为正在运行的。

创新互联公司-专业网站定制、快速模板网站建设、高性价比华蓥网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式华蓥网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖华蓥地区。费用合理售后完善,十多年实体公司更值得信赖。

被激活的activity可以通过调用 getIntent() 方法获取激活它的intent。Android调用服务acitivity的onNewIntent() 方法来传送其他后来的intent。(注:一个activity可以同时被多个intent激活)Activity经常会调用其他的activity,如果它需要被调用的activity返回的数据,可以调用startActivityForResult() 方法,而不是 startActivity()。

例如,某个activity调用另外一个activity用来让用户选择一个图片,另外一个activity应该返回用户选择的图片。结果通过第一个activity的onActivityResult() 返回,返回的形式也是intent。service通过调用 Context.startService()被开始。Android调用服务的onStart() 方法,并把intent传送给它。

类似的,intent可以通过 Context.bindService() 方法建立同正在运行的服务的联系。服务通过onBind() 方法获取intent。如果服务没有启动, bindService() 方法可以选择是否启动服务。例如,一个activity可能会想建立与后台播放音乐的服务的通信。

这样用户就可以通过activity控制后台的播放。因此activity可能会调用 bindService() 方法来建立连接,然后再调用service公开的接口。程序可以调用Context.sendBroadcast(), Context.sendOrderedBroadcast(), 和Context.sendStickyBroadcast()来传递intent初始化一个broadcast。broadcast 通过 onReceive() 方法接收。

在Android开始一个应用程序之前,它必须知道有哪些文件,因此程序必须在一个manifest文件中声明所有用到的组件。这些声明的组件会被编译到apk文件中。.apk 文件含有程序源代码和资源。

(注:相当于项目文件)装箱单是一个xml文件,在所有的程序中命名都是AndroidManifest.xml 。它还有一些其他 的功能,如:指明需要连接的库、识别程序希望被授予的权限。

但是装箱单的主要任务还是向android声明程序的组件。一份装箱单的例子:

 
 
 
  1.  version="1.0" encoding="utf-8"?> 
  2.  
  3.  . . . > 
  4.  
  5.      . . . > 
  6.  
  7.          android:name="com.example.project.FreneticActivity" 
  8.  
  9.                   android:icon="@drawable/small_pic.png" 
  10.  
  11.                   android:label="@string/freneticLabel"   
  12.  
  13.                   . . . > 
  14.  
  15.          
  16.  
  17.         . . .  
  18.  
  19.  
  20.  
  21.  

节点的name 属性指明了 Activity 的类名. icon 和 label 属性指明了展示activity时用到的资源。另一个节点的含义差不多 — 是用来声明services的, 用来声明broadtcast。

Android调用服务声明 content providers. Activities, services。 content providers需要声明,对系统不可见。另外, broadcast receivers可以不在装箱单中声明,可以动态得在代码中声明。

(见BroadcastReceiver 对象)通过 Context.registerReceiver()方法向系统注册。对用户来说,即使地图程序是定义在另外一个程序中、在另外一个进程中运行,但是它看起来好像你的程序的一部分。

Android通过将2个activities放在用一个任务中,使得用户有这样的体验。这一系列的activities,安排在一个堆栈中。堆栈中的根activity是任务的开始,或者说是用户选择的应用程序的第一个activity。堆栈顶部的activity 是当前正在运行的activity— 目前正在吸引用户注意的一个。

当一个activity启动另外一个的时候,新的activity被压栈,变为当前activity. 之前的activity 还在任务中。当用户点击后退(BACK)键,当前的acitivity被弹出栈,之前的activity成为正在运行的。

【编辑推荐】

  1. Android应用程序组建原理深入剖析
  2. Android SMS短信服务相关概念简述
  3. PythonAndroid数据库相关代码解读
  4. PythonAndroid安装卸载程序具体操作方法解析
  5. Android应用程序的四个关键点

分享名称:有关Android调用服务全解析
文章转载:http://cdxtjz.cn/article/cocpdsh.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。