`
afeitech
  • 浏览: 35023 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android文档阅读02—解析Android程序

阅读更多

许可协议:creativecommons licenses 

 

在Android应用程序中有四个构建块:

并不是每个程序都需要所有的四个部分,你的程序可能用到它们其中一些的组合。

一旦你决定在你的程序中需要哪个组件,你应该在一个叫AndroidManifest.xml的文件中列出它们。你在这个XML文件中声明程序中用到的组件和它们的用途和需要。在Android manifest file 文档中查阅完整的细节。

 

 Activity

Activity是Android构造块中最基本的一种,在应用中,一个activity通常就是一个单独的屏幕。每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。大部份的应用都会包含多个的屏幕。例如,一个短消息应用程序将会有一个屏幕用于显示联系人列表,第二个屏幕用于写短消息,同时还会有用于浏览旧短消息及进行系统设置的屏幕。每一个这样的屏幕,就是一个activity。从一个屏幕导航到另一个屏幕是很简单的。在一些应用中,一个屏幕甚至会返回值给前一个屏幕。

 

当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时,还可以从历史堆栈中删除。默认情况下,Android将会保留从主屏幕到每一个应用的运行屏幕。

Intent and Intent Filters

 

Android使用了Intent这个特殊类,实现在屏幕与屏幕之间移动。Intent类用于描述一个应用想要做什么事。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据。

典型的动作类型有:MAIN(activity的门户)、VIEW、PICK、EDIT等。而动作对应的数据则以URI的形式进行表示。例如:要查看一个人的联系方式,你需要创建一个动作类型为VIEW的intent,以及一个表示这个人的URI。

Android利用一个叫Intent的特殊类来实现屏幕间的切换。一个Intent描述了一个应用程序想要做什么。intent数据结构中两个最重要的部分是动作和动作对应的数据。一个典型动作的值是MAIN(活动的入口),VIEW,PICK,EDIT,和其它一些。数据表示为URI。例如,浏览一个人的联系信息,你应该创建一个带有VIEW活动的intent,并且URI的数据集指向那个人。

 

与之有关系的一个类叫IntentFilter。相对于intent是一个有效的做某事的请求,一个intent filter则用于描述一个activity(或者Intent Receiver)能够操作哪些intent。一个activity如果要显示一个人的联系方式时,需要声明一个IntentFilter,这个IntentFilter要知道怎么去处理VIEW动作和表示一个人的URI。IntentFilter需要在AndroidManifest.xml中定义。

 

一个屏幕到另一个屏幕之间的导航是通过解析意图(Intent)来实现的。当向前导航时,activity将会调用startActivity (Intent myIntent)方法。然后,系统会在所有安装的应用程序中定义的IntentFilter中查找,找到最匹配myIntent的 Intent对应的activity。新的activity接收到myIntent的通知后,开始运行。当startActivity方法被调用将触发解析 myIntent的动作,这个机制提供了两个关键好处:

  • Activity能够简单的通过在Intent表中发送请求,从其他组件中复用功能
  • Activity能够在任何时候由一个带有相同IntentFilter的Activity替换

 Intent Receiver

当你希望你的应用能够对一个外部的事件(如当电话呼入时,或者数据网络可用时,或者到了晚上时)做出响应,你可以使用一个Intent Receiver。虽然Intent Receiver在感兴趣的事件发生时,会使用NotificationManager 通知用户,但它并不能生成一个UI。Intent Receiver在AndroidManifest.xml中注册,但也可以在代码中使用 Context.registerReceiver()进行注册。当一个intent receiver被触发时,你的应用不必对请求调用intent receiver,系统会在需要的时候启动你的应用。各种应用还可以通过使用Context.broadcastIntent()将它们自己的 intent receiver广播给其它应用程序。

 Service

一个Service是一段长生命周期的,没有用户界面的程序。比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个activity会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service一直执行,直到这个service运行结束。另外,我们还可以通过使用Context.bindService()方法,连接到一个service上(如果这个service还没有运行将启动它)。当连接到一个service之后,我们还可以service提供的接口与它进行通讯。拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。

Content Provider

应用程序能够将它们的数据保存到文件中、SQL数据库中,甚至是任何有效的设备中。当你想将你的应用数据与其它的应用共享时,Content Provider将会很有用。一个Content Provider类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider处理的各种数据类型。

更详细的Content Provider资料,可以参考附带文档中的Accessing Content Providers。

分享到:
评论

相关推荐

    Android解析并显示doc,docx,xls,xlsx文件

    在Android平台上,解析并显示Microsoft Office格式的文件(如doc, docx, xls, xlsx)是一项常见的需求,尤其在移动应用开发中。这个任务通常涉及到将这些文档转换为更易于处理的格式,例如HTML,以便在Android的...

    Android多格式文档阅读

    在Android平台上实现多格式文档阅读,涉及到的主要技术包括文件解析和文档显示。Android作为一个开源的操作系统,虽然原生并不直接支持Microsoft Office系列的DOC、XLS、PPT等格式的文档阅读,但开发者可以通过第三...

    Android 解析word文档,过程详细,易懂,代码可直接复用-IT计算机-毕业设计.zip

    在Android平台上解析Word文档是一项常见的任务,特别是在毕业设计或开发文档处理类App时。这篇教程将详细介绍如何在Android中实现这一功能,使开发者能够轻松理解并直接复用代码。 首先,我们需要了解Android系统...

    Android应用源码之解析word文档,过程详细,易懂,代码可直接复用-IT计算机-毕业设计.zip

    总之,这个"Android应用源码之解析word文档"项目为Android开发者提供了一套实用的工具和指南,通过它,开发者可以学习到如何在Android环境中解析Word文档,以及如何将这一功能整合到自己的应用程序中。同时,该项目...

    Android应用源码之解析word文档,过程详细,易懂,代码可直接复用.rar

    在Android平台上,解析Word文档是一项常见的任务,尤其对于那些需要处理文档内容的应用来说。这个压缩包文件"Android应用源码之解析word文档,过程详细,易懂,代码可直接复用"提供了一种方法,帮助开发者实现这一...

    Android Framework精编内核解析.pdf 百度网盘永久地址

    Android Framework精编内核解析.pdf 百度网盘永久地址

    Android代码-解析word文档过程详细易懂代码可直接复用.zip

    在Android平台上,解析Word文档是一项常见的任务,尤其对于那些需要处理文档的应用来说。这个压缩包提供的资源可以帮助开发者理解和实现这一功能。以下是对标题和描述中所述知识点的详细解释,以及如何利用压缩包内...

    android xml pull解析示例

    在Android系统中,XML Pull解析是一种轻量级且高效的解析XML文档的方法,它允许应用程序按需读取XML文档的节点,而无需加载整个文档到内存中。以下是关于Android XML Pull解析的详细知识讲解。 1. **XML Pull解析器...

    Android SDK 中文开发文档.pdf

    《Android SDK 中文开发文档》全面解析 Android SDK(Software Development Kit)是为开发者提供的一套工具集合,用于创建、测试和调试Android平台上的应用程序。这个文档主要面向使用Java语言进行开发的程序员,...

    Android World文档阅读器(文字,图片,表格)

    Android World文档阅读器是一款专为Android平台设计的应用程序,它具备强大的文档查看功能,能够处理包含文字、图片和表格的多种格式文档。这款应用旨在提供一个便捷、高效的途径,让用户在移动设备上轻松查看和管理...

    Android MultiMedia框架完全解析

    标题《Android MultiMedia框架完全解析》中指出,本文将深入解析Android操作系统的多媒体框架。这个框架覆盖了从应用程序层到驱动程序层的整个层次结构,而且作者指出,为了撰写本文,他投入了大量的精力。这暗示了...

    Android帮助文档 中文

    在深入探讨Android应用程序结构时,文档详细讲解了Activity、Service、Broadcast Receiver和Content Provider这四大组件。通过实例解析,读者能够理解它们各自的作用以及如何在实际应用中灵活组合使用。此外,还详细...

    android三种方式解析xml文件源代码以及说明文档word

    在Android平台上,XML(eXtensible...每种方法都有其独特的优势和局限性,选择合适的解析方式能够提高代码效率,优化资源利用,从而提升应用程序的性能。在实际开发中,可以根据文件大小、内存限制和处理需求灵活选用。

    Android简单的pull解析

    Pull解析器(XMLPullParser)是由Android SDK提供的API,用于读取XML文档。与SAX解析器类似,Pull解析器是事件驱动的,它在解析过程中触发一系列的事件,如开始元素、结束元素、文本等。开发者通过注册监听这些事件...

    android上使用DOM解析XML

    在Android 4.0及以上版本,我们可以使用内置的Java XML DOM API来实现XML解析。下面将详细介绍在Android中使用DOM解析XML的基本步骤和关键知识点。 1. **导入XML解析库** 在Android项目中,我们不需要额外导入库,...

    android下的pull解析器解析和生成xml文件

    为了有效地处理XML文档,Android提供了多种解析机制,其中一种就是Pull解析器(PULL Parser)。本篇将深入探讨Android下Pull解析器的使用,以及如何利用它来解析和生成XML文件。 一、Android Pull解析器简介 Pull...

    六,Android Xml解析

    XML解析是将XML文档转换为Java对象的过程,这对于Android应用程序的资源配置、布局定义以及数据交换至关重要。这篇博文将深入探讨Android中的XML解析机制,包括DOM、SAX和Pull解析器三种主要方法。 首先,我们来看...

    Android平台下的富文本解析器,支持Html和Markdown.rar

    在Android平台上,富文本解析是实现复杂文本展示和编辑的关键技术。富文本解析器能够将HTML和Markdown这两种标记语言转化为可读性强、样式丰富的文本,为用户提供了更佳的视觉体验。本文将深入探讨Android环境下如何...

    android 之xml解析大全

    在Android开发中,XML(eXtensible Markup Language)是一种常用的数据存储和交换格式,用于构建应用程序的配置、布局和数据文件。本篇文章将详细探讨Android中四种主要的XML解析方法:SAXParser、Document、...

    android中的解析

    创建自定义的`DefaultHandler`子类,重写其回调方法,然后通过`XMLReader`设置处理程序并解析XML。 3. **使用PullParser解析XML** Android提供了`XmlPullParserFactory`和`XmlPullParser`接口。首先通过`new...

Global site tag (gtag.js) - Google Analytics