`
yukukuku
  • 浏览: 18539 次
  • 性别: Icon_minigender_2
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

第五课应用程序的组件

 
阅读更多

  应用程序的组件 
  
  Android应用程序没有唯一的启动入口(如java语言的main()函数入口),一个Android应用程序由多个不同的组件组合而成,组件之间通过Intent来实现通信。所有组件必须在AndroidManifest.xml文件中声明。组件包括Activity 、View、 Intent、 Service、 Notification 、ContentProvider。
  举例说明一个Android应用程序当中的两个activity是如何交互的。见下图。
  
  (1)用户通过Activity与应用程序交互,图中步骤1。
  (2)我们的应用程序中的Activity通过Intent来向Android平台请求启动另一个能处理打开Email的应用程序,图步步骤2与步骤3。
  (3)通过系统当中的AndroidManifest.xml中声明的IntentFilter找到能处理打开Email的应用程序,如图的步骤4和步骤5。
  (4)用户与Email应用程序进行交互,步骤6.
  (5)Email应用程序通过ContentProvider来使用另一个录音应用程序产生的音频文件,如图中步骤7。
  (6)用户播放刚才的音频文件,并返回到了之前我们的应用程序,此时音频文件仍然会继续播放,Service将在后台工作,如图中的步骤8。
  注:并不是每个Android应用程序都必须包含这些组件,但是使用的组件需在AndroidManifest.xml文件当中声明。 1 AndroidManifest.xml 此文件是整个Android应用程序的配置文件,它负责把下面的Activity、Service等组件有机地组合在一起。 1.1 Activity Activity是应用程序的表示层。应用程序中的每个屏幕显示都通过继承和扩展基类Activity来实现。Activity利用View来实现应用程序的GUI(Graphical User Interface,图形用户界面),而我们的手机用户则直接通过GUI和应用程序做交互,如应用程序通过GUI向用户显示信息,用户通过GUI向应用程序发出指令和响应。
  一个应用当中可以包含多个Activity,Activity是通过如下代码创建。
  publicclass HelloAndroid extends Activity {//定义应用类,并继承
  /**
  * 类中的onCreate方法,程序启动时就将运行。
  */
  @Override//重写父类方法,注解编程
  publicvoid onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  }
  }
  Activity窗口的可见内容是通过View提供,View对象继续于View类。按钮、文本框、滚动条、菜单项等都是View的对象。View通过Activity.setContentView()来设置到Avtivity当中。 1.2 View 可视化控件,用于GUI页面的元素设计。 1.3 Intent Intent为异步消息激活,用于激活Activity、Service、BoradcastReceiver。 Intent在不同的组件之间传递消息,将一个组件的请求意图传给另一个组件。 1.4 Service 具有较长的生命周期且没用户界面的程序。Service与Activity运行在应用程序进程的主线程中,因此Service不会阻塞其他组件和用户界面。 1.5 Notification 当用户有没有接到的电话的时候,Android顶部状态栏里就会出现一个小图标。提示用户有没有处理的快讯,当拖动状态栏时,可以查看这些快讯。Android给我们提供了NotificationManager来管理这个状态栏。可以很轻松的完成。
  如果要添加一个Notification,可以按照以下几个步骤
  1:获取NotificationManager:
  NotificationManager m_NotificationManager=(NotificationManager)this.ge tSystemService(NOTIFICATION_SERVICE);
  2:定义一个
  Notification:
  Notification  m_Notification=new Notification();
  3:设置Notification的各种属性:
  //设置通知在状态栏显示的图标
  m_Notification.icon=R.drawable.icon;                
  //当我们点击通知时显示的内容
  m_Notification.tickerText="Button1 通知内容.....";                                
  通知时发出的默认声音
  m_Notification.defaults=Notification.DEFAULT_SOUND ;
  //设置通知显示的参数
  Intent   m_Intent=new Intent(NotificationDemo.this,DesActivity.class);       
  PendingIntent m_PendingIntent=PendingIntent.getActivity(Notifica tionDemo.this, 0, m_Intent, 0);
  m_Notification.setLatestEventInfo(NotificationDemo .this, "Button1", "Button1通知",m_PendingIntent );
  //这个可以理解为开始执行这个通知
  m_NotificationManager.notify(0,m_Notification);
  4:既然可以增加同样我们也可以删除。当然是只是删除你自己增加的。
  m_NotificationManager.cancel(0);    
  这里的0是一个ID号码,和notify第一个参数0一样。
  这也就完成了,添加删除工作。 1.6 ContentProvider 能将应用程序特定的数据提供给另一个应用程序使用。数据的存储方式可以是Android文件系统,也可以是SQLite数据库。其它应用程序能对数据进行读写与存储。然而,需要使用数据的应用程序并不是直接调用这组方法,而是通过调用ContentResolver对象的方法来完成。 1.7 BoradcastReceiver BoradcastReceiver是用户接受广播通知的组件。广播是一种同时通知多个对象的事件通知机制。基自身不实现图形用户界面,但是它可以启动Activity作为响应,或者通过NotificationManager提醒用户。
分享到:
评论

相关推荐

    Delphi7组件应用实例

    第5章 Data Controls组件页 5.1 共同属性 5.2 TDBGrid组件 5.3 TDBNavigator组件 5.4 TDBText组件 5.5 TDBEdit组件 5.6 TDBMemo组件 5.7 TDBImage组件 5.8 TDDBListBox组件 5.9 TDBComboBox组件 5.10 ...

    Windows程序设计基础课件:第2讲MFC应用程序框架及文档视图架构.pdf

    MFC 应用程序框架是 Windows 程序设计的重要组件,提供了一般应用程序需要的全部面向对象软件组件的集成集合,具有面向对象的设计思想、高效的运行速度、降低编码复杂性、代码重用、良好工具支持等特点。

    NET组件程序设计 第2版中文版.part3.rar )

    本书主要介绍了设计和开发基于组件的.NET应用程序所需要的技术及相关主题,说明了.NET组件程序设计的起源和它对以往技术缺陷所作的改进。本书还利用大量的代码示例、使用技巧、开发警示、设计准则和富有创意的实用...

    Android应用程序设计 (张思民 编著) pdf

    本书大致可以分成两个部分,第一部分(第1~4章)主要介绍Android SDK开发环境的安装、应用程序的结构、用户界面的组件及其设计方法,第二部分(第5~10章)主要介绍较高级的主题,内容包括异常处理与多线程、后台...

    微软应用架构指南(第2版)

     第5章分层应用程序指导原则  第6章表现层指导原则  第7章业务层指导原则  第8章数据层指导原则  第9章服务层指导原则  第10章组件指导原则  第11章设计表现组件  第12章设计业务组件  第13章设计业务实体 ...

    构建Adobe AIR应用程序

    第 5 章: 创建第一个 AIR 应用程序 在 Flash Builder 中创建第一个桌面 Flex AIR 应用程序 使用 Flash Professional 创建第一个桌面 AIR 应用程序 在 Flash Professional 中创建您的第一个 AIR for Android 应用...

    C#编程及应用程序开发教程

    编译预处理和调试/测试技术 第15章 代 码 属 性 第16章 不安全代码 第17章 创建Windows应用程序 第18章 C#组件编程 第19章 C#数据库编程 第20章 开发Web应用程序 第21章 .NET报表设计 本教材总共包含这21章内容有...

    使用Visual Basic 2008开发应用程序(Word文档)

    第五章 在Visual Basic应用程序中访问数据 包含有关在Visual Basic中访问数据的帮助。 第六章 调试Visual Basic应用程序 提供指向有关Visual Studio内置调试功能的文档的指针。 第七章 Visual Basic中的异常和错误...

    java应用程序开发.pdf

    Java 应用程序开发报告 本资源文件为 Java 应用程序开发报告,详细介绍了 Java 计算器应用程序的设计和实现。下面是该报告中的关键知识点: 1. 需求分析:报告中提出了对计算器应用程序的需求,包括支持加减乘除...

    JAVA程序设计:第10章 GUI应用程序设计.ppt

    JAVA程序设计:第10章 GUI应用程序设计 本章节主要介绍了Java程序设计中的GUI应用程序设计,包括Java抽象窗口工具集(AWT)、Java组件和容器、常用组件类型、布局管理器及其使用等内容。 一、Java抽象窗口工具集...

    研发运营一体化(DevOps)能力成熟度 模型 第 5 部分:应用设计

    五级度量指标定义是指对应用程序的五个方面进行度量,即应用架构、应用性能、应用扩展、应用安全和应用可维护性。 研发运营一体化(DevOps)能力成熟度模型第5部分:应用设计是帮助企业提升IT效能和业务 Agility的...

    《Visual Basic 2008应用程序开发实例精讲》全书所有实例程序源代码

    1.5 我的第一个.net应用程序13 1.6 本章 小结17 第2章 visualbasic.net编程基础18 2.1 基础编程知识18 2.1.1 关键字及标识符18 2.1.2 数据类型20 .2.1.3 变量与常量24 2.1.4 自定义结构体26 2.1.5 数组27 2.1.6 ...

    移动终端应用程序开发各章代码安卓

    移动终端应用程序开发各章代码 1,2章为概述无代码 第3章《第一个Android程序》 第4章《Android生命周期》 第5章《Android用户界面》 第6章《组件通信与广播消息》 第7章《后台服务》 第8章《数据存储与访问》 第9章...

    Android应用程序隐私数据泄露检测.pdf

    实验结果表明,该检测方法能够有效地检测出应用程序组件内或组件间的隐私数据泄露,正确率达到了91.5%。与同类具代表性的检测工具相比,该方法的检测时间明显缩短。 知识点7:安卓系统隐私数据泄露的风险 安卓系统...

    C#Web应用程序入门经典.part1

    AEO.NET 4.1 ADO.NET的体系结构 4.2 ADO.NET在程序中的应用 4.3 DataSet对象 4.4 小结 第5章 数据绑定 5.1 组件简介 5.2 数据绑定 5.3 直观地处理数理 5.4 高级数据绑定 5.5 小结...

    FLASH MX Professional 2004应用开发

    第5课 创建类 第6课 创建组件 第7课 用Screen创建应用程序 第8课 使用Flash应用程序架构 第9课 学习UI组件架构 第10课 使用UI组件API 第11课 动态创建可视对象 第12课 从XML文件获得数据 第13课 使用Web服务 第14课 ...

    应用程序监控方案(Prometheus)

    应用程序监控方案(Prometheus) 应用程序监控方案 Prometheus 是一个开源监控系统,前身是 SoundCloud 的警告工具包。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个...

    Delphi面向对象程序设计课件 第五章VCL组件应用.ppt

    Delphi面向对象程序设计课件

    数据库应用程序开发.ppt

    * 第五步:向用户显示数据,需使用数据控件。 数据绑定 * 数据绑定是将数据绑定到控件上,使得数据可以自动更新和显示。 * 数据绑定可以使用DataGrid控件、Data Form Wizard创建数据库等方式实现。 DataGrid控件 ...

    MATLAB程序设计与应用_答案

     MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。  1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?  在安装MATLAB时,...

Global site tag (gtag.js) - Google Analytics