`
daniel_tu
  • 浏览: 184625 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android应用程序的构成

 
阅读更多

Android应用程序的目录结构

 

src目录:存放的是项目的源代码;

 

gen目录:ADT自动生成的,不需要人为地修改;

 

assets目录:存放项目相关的资源文件;在程序中可以使用"getResources.getAssets().open("test.txt")"得到资源文件的输入流InputStream对象;

 

res目录:存放应用程序中经常使用的资源文件,包括图片、声音、布局文件及参数描述文件等,以drawable开头的三个文件夹用于存储.png.9.png .jpg等图片资源;

 

AndroidManifest.xml文件:应用程序的系统控制文件;

 

default.properties文件:默认的配置文件。

 

Android基本组件的介绍:

 

应用程序的生命周期

 

前台进程:当前正在前台运行的进程,最重要的进程;除非系统的内存已经到不堪重负的情况,否则系统是不会中止该进程;

 

可见进程:一般还是显示在屏幕中,但是用户并没有直接与之进行交互,非常重要;除非为了保证前台进程的正常运行,否则Android系统一般是不会将该进程中止的;

 

服务进程:拥有Service的进程,该进程一般是在后台为用户服务的;一般情况下,Android系统是不会将其中断的,除非系统的内存已经达到崩溃的边缘,必须通过释放该进程才能保证前台进程的正常运行,才可能将其中止;

 

后台进程:一般对用户作用不大,缺少该进程并不会影响用户对系统的体验;如果系统需要中止某个进程才能保证系统正常运行,那么会有非常大的几率将该进程中止;

 

空进程:对用户没有任何作用的进程,该进程一般是为缓存机制服务的,当系统需要中止某个进程以保证系统的正常服务时,会首先将该进程中止。

 

 

 

Activity的七个生命周期

 

onCreateonStartonResumeonPauseonStoponDestroyonRestart

 

 

 

Service是一个具有较长的生命周期但是没有用户界面的程序,一般由Activity启动,但是并不依赖于Activity,即当Activity的生命周期结束时,Service仍然会继续运行,直到自己的生命周期结束为止。Service的启动方式有两种:startServicebindService

 

 

 

BroadcastReceiver为用户接收广播通知的组件,当系统或某个应用程序发送广播时,可以使用BroadcastReceiver组件来接收广播消息并做相应处理。发送广播的三个方法:Context.sendBroadcast()sendOrderedBroadcast()sendStickyBroadcast()

 

 

 

ContentProvider用来实现应用程序之间数据共享的类。当需要进行数据共享时,一般利用Content Provider为需要共享的数据定义一个URI,然后其他应用程序通过Context获得ContentResolver并将数据URI传入即可。访问共享资源时,需要为应用程序添加适当的权限。

 

 

 

IntentIntentFilter

 

Intent是一种运行时的绑定机制,在应用程序运行时连接两个不同的组件。一般的应用是通过IntentAndroid系统发出某种请求,然后Android系统会根据请求查询各个组件声明的IntentFilter,找到需要的组件并运行它。

 

ActivityServiceBroadcastReceive组件之间的通信全部使用的是Intent,但是各个组件使用的Intent机制不同。

 

(1)Activity组件:激活一个Activity组件时,需要调用Context.startActivity()Context.startActivityForResult()方法来传递Intent

 

(2)Service组件:启动或绑定Service组件时,会通过Context.startService()
Context.bindService()实现Intent的传递;

 

(3)BroadcastReceive组件:一般通过Context.sendBroadcast()sendOrderedBroadcast()sendStickyBroadcast()方法传递的,当BroadcastIntent被广播后,所有IntentFilter过滤条件满足的组件都将被激活。

 

Intent是由组件名称、ActionDataCategoryExtraFlag六部分组成。

 

1)组件名称:实际上就是一个ComponentName对象,用于标识唯一的应用程序组件;

 

2Action:实际上是一个描述了Intent所触发动作名称的字符串,已经定义好很多字符串常量来表示不同的Action,也可以自定义Action

 

系统定义的常见Action

 

Action_CALL:拨打Data里面封装的电话号码;

 

Action_EDIT:打开Data里指定数据所对应的编辑程序;

 

Action_VIEW:打开能够显示Data中封装的数据的应用程序;

 

Action_MAIN:声明程序的入口,该Action并不会接收任何数据,同时结束后也不会返回任何数据;

 

Action_BOOT_COMPLETEDBroadcastReceive Action的常量,表示系统启动完毕;

 

Action_TIME_CHANGEDBroadcastReceive Action的常量,表示系统时间通过设置而改变。

 

3Data:主要是对Intent消息中数据的封装,主要描述Intent的动作所操作到的数据的URI及类型。不同类型的Action会有不同的Data封装,例如打电话的Intent会封装tel://格式的电话URI,而ACTION_VIEWIntentData则会封装http://格式的URI

 

4Category:是对目标组件类别信息的描述。与Category相关的方法有三个:addCategory添加一个CategoryremoveCategory删除一个CategorygetCategory得到一个CategoryAndroid系统定义了一组静态字符常量来表示Intent的不同类型。

 

系统定义的常见Category

 

CATEGORY_GADGET:表示目标Activity是可以嵌入到其他Activity中的;

 

CATEGORY_HOME:表示目标ActivityHOME Activity

 

CATEGORY_TAB:表示目标ActivityTabActivity的一个标签下Activity

 

CATEGORY_LAUNCHER:表示目标Activity和应用程序中最先被执行的Activity

 

CATEGORY_PREFERNCE:表示目标Activity是一个偏好设置的Activity

 

(5)Extra:封装了一些额外的附加信息,这些信息是以键值对的形式存在的。Intent可以通过putExtras()getExtras()方法来存储和获取Extra。在Android系统的Intent类中,定义了常见的Extra键值。

 

 系统定义的常见Extra

 

 EXTRA_BCC:装有邮件密送地址的字符串数组;

 

 EXTRA_EMAIL:装有邮件发送地址的字符串数组;

 

 EXTRA_UID:使用ACTION_UID_REMOVED动作时,描述删除用户的id

 

 EXTRA_TEXT:当使用ACTION_SEND动作时,描述要发送文本的信息。

 

 

 

IntentFilter实际上相当于Intent的过滤器,一个应用程序开发完成后,需要告诉Android系统自己能够处理哪些隐性的Intent请求,这就需要说明IntentFilter

IntentFilter过滤Intent时,一般是通过ActionDataCategory三方面进行检测的。

分享到:
评论

相关推荐

    Android应用的构成 Android应用的构成 Android应用的构成

    ### Android应用的构成 在深入探讨Android应用的构成之前,我们先来了解一下Android应用的基本概念。Android应用是由一系列组件组成的,这些组件共同协作以提供功能和服务。本文将详细介绍构成Android应用的主要...

    Android应用程序开发

    ### Android应用程序开发知识点详解 #### 一、Android概述 Android是一种基于Linux内核的开源移动设备操作系统,由Google公司和开放手机联盟领导及开发。它主要用于触摸操作的手持设备上,如智能手机和平板电脑等...

    android 应用程序机制

    描述android系统结构和应用程序机制的资料

    Android应用程序设计

    在Android应用程序设计中,开发者需要掌握一系列技术和工具来创建功能丰富的移动应用。本主题主要聚焦于Android系统的架构、开发环境的搭建以及应用的基本组件。以下是对这个主题的详细阐述: 一、Android系统架构 ...

    Android应用程序开发源代码

    在Android应用程序开发中,源代码是开发者的心血结晶,它揭示了应用的内部工作机制和逻辑。这份"Android应用程序开发源代码"的压缩包文件显然包含了完整的Android应用开发流程中的所有关键部分,对于初学者和有经验...

    Android 应用程序框架

    Android应用程序框架是构建Android应用的核心组成部分,它为开发者提供了丰富的工具和组件,使得开发者能够高效地开发出功能丰富、用户体验良好的移动应用。在Android中,MVC(Model-View-Controller)设计模式是一...

    android应用程序基础

    Android应用程序框架是构成Android应用程序的基本结构,它定义了应用程序如何与Android操作系统交互以及如何管理和控制应用程序的行为。Android应用开发主要依赖于Java语言,通过调用Android提供的各种API来实现功能...

    88个经典Android应用程序打包下载(源代码).zip

    这个压缩包"88个经典Android应用程序打包下载(源代码).zip"包含了88款Android应用的源代码,为开发者提供了宝贵的参考资料。这些应用可能涵盖各种类型,如社交、游戏、工具、音乐、视频等,通过研究它们,开发者...

    Android应用程序架构.rar

    首先,Android应用程序由多个组件构成,主要包括Activity、Service、BroadcastReceiver、ContentProvider和Intent。Activity是用户界面的入口,负责处理用户交互;Service则在后台运行,执行长时间任务,不与用户...

    Android系统结构和SDK使用;Android SDK的开发环境;Android应用程序的概述和框架;Android应用程序示例;Android应用程序的内容;Android的UI系统实现;视图组(ViewGroup)和布局(Layout)的使用

    Android应用程序由多个组件构成,包括Activity、Service、Broadcast Receiver和Content Provider等。这些组件共同协作来完成特定的任务。 **5.2 应用程序包含的各个文件** 应用程序中的每个组件都需要对应的XML...

    Android应用程序开发宝典-基于TE&OK6410;.pdf

    ### Android应用程序开发宝典-基于TE&OK6410 #### 一、概述 《Android应用程序开发宝典-基于TE&OK6410》是一份详尽的指南文档,旨在帮助开发者们掌握如何利用Android平台进行应用程序的开发,特别是在针对特定硬件...

    android的电子书阅读器毕业设计论文.doc

    Android 电子书阅读器毕业设计论文涵盖了 Android 平台的相关理论、关键技术、系统架构、应用程序构成、工作机制、手机电子阅读器需求分析、应用程序设计和实现、测试和优化等方面的知识点,为 Android 应用程序开发...

    Android应用程序概述

    Android应用程序是由一系列组件构成,这些组件包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)、内容提供者(Content Provider)和意图(Intent)等。 1. **活动(Activity)** - 活动...

    Android应用程序开发以及背后的设计思想深度剖析PDF

    在Android应用程序开发中,开发者需要理解并掌握一系列关键知识点,这些知识点构成了应用开发的基础,并且与设计思想密切相关。本文将深入探讨这些核心概念,旨在帮助开发者不仅能够编写代码,更能理解其背后的逻辑...

    《Android程序设计与应用》PDF

    《Android程序设计与应用》是一本深入探讨Android应用程序开发的权威指南。这本书涵盖了从基础知识到高级技术的全方位内容,旨在帮助读者掌握Android平台上的软件开发技能。以下将详细阐述书中涉及的一些关键知识点...

    Android软件平台架构与应用开发.docx

    #### 15.3 Android应用程序构成 Android应用程序主要由以下几个部分组成: - **活动(Activity)**:表示一个屏幕,用户可以在其中与应用程序交互。 - **意图(Intent)**和**意图过滤器(IntentFilter)**:...

    88个经典Android应用程序打包下载【精品】.zip

    在本资源中,"88个经典Android应用程序打包下载【精品】.zip" 提供了88个Android应用的源代码,这对于初学者或者想要深入理解Android开发的开发者来说是一份宝贵的资料。以下是对这些知识点的详细说明: 1. **...

    7个Android应用程序源代码

    1. **Android应用程序基础**:每个Android应用都是由一系列组件构成的,如Activity(活动)、Service(服务)、BroadcastReceiver(广播接收者)和ContentProvider(内容提供者)。通过分析源代码,你可以看到这些...

Global site tag (gtag.js) - Google Analytics