1. android平台架构 Android 平台采用了整合的策略思想,包括底层的linux操作系统、中间件和上层的java应用程序
    1. 应用程序: 联同一个核心的应用程序包一起发布
    2. 应用程序框架: 开发者可用的API
    3. android运行库: 包括一个被android系统中各种不同组件所使用的C/C++库集,该库通过android应用程序框架为开发者提供服务
    4. android程序库: 每个android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对同时高效运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件。
    5. linux内核: android的核心系统以来于Linux 2.6 内核,Linux内核同时也作为硬件和软件之间的抽象层
  2. android应用程序组件 android 应用程序没有统一的入口(如main函数),各个应用之间是相互独立的,并在自己的进程当中运行。 根据完成的功能不同,android划分了四类核心组件类:Activity、Service、Broadcast Receiver、ContentProvider,组件之间的导航通过Intent来完成。android还定义了View类来显示可视化界面。
    1. Activity:是Android中最基本、最长用的组件,在android应用中,一个Activity通常就是一个单独的屏幕。每个Activity都被实现为一个单独的类,并且继承了Activity这个基类。这个Activity类将显示由几个View控件组成的用户接口,并对事件做出响应。 可以通过startActivity()方法来从一个屏幕(Activity)导航到另一个屏幕,打开Activity的条件被封装载Intent中。 当一个屏幕被打开时,前一个屏幕将被暂停,并保存到历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当一个屏幕不在被使用时,还可以从堆栈中删除。默认情况下,android系统会保留所有应用运行的屏幕,除非内存不够用。
    2. Service:是一种长生命周期的、没有用户界面的程序。如音乐的播放器的应用中,Activity提供用户接口,同时可用Service提供的接口与Service通信,而Service在后台运行,用户可以通过界面接口来操控Service。
    3. Broadcast Receiver:是为了实现系统广播而提供的一种组件。如我们可以发出一种广播来检测系统电量的变化,这时候就可以用Broadcast Receiver来接收广播。当电量较低时提示用户。
    4. ContentProviderandroid中各种应用相互独立,运行在自己的进程中,我们可以通过ContentProvider来进行通信。
    5. View:是android中图形用户界面的基类,提供可视化界面的展示。android中的图形用户界面展示可分为三层,底层是Activity,中间是Window,上面是Views,View又可分为View和ViewGroup(布局控件)。
    6. Intent:不同组件之间导航的纽带,封装了不同组件之间导航查找的条件。在Intent的描述中最重要的两部分:动作和动作对应的数据。典型的动作有MAIN(Activity的门户)、VIEW、PICK、EDIT等。而动作对应的数据则以URL方式来表示。

更多相关文章

  1. 不同Android版本设备正确获取屏幕分辨率的通用方法
  2. Android架构分析之基于Android系统的C应用程序开发
  3. [原]Android应用程序消息处理机制(Looper、Handler)分析
  4. 转:RTC搭建android下三层应用程序访问服务器MsSql-服务器端
  5. 一种粗暴快速的 Android 全屏幕适配方案
  6. 老罗的Android之旅——Android应用程序的Activity启动过程简要介
  7. Android入门进阶教程(5)-android 常用组件
  8. [Android设计模式]Android退出应用程序终极方法

随机推荐

  1. 在android中如何在代码中设置textview的
  2. Androd学习笔记——Android(安卓)Camera
  3. [Android UI界面] 求助大神!selector怎么
  4. Android内存使用研究
  5. Android滚轮实现LinearSnapHelper
  6. [android ndk]android studio动态库生成
  7. Android开发者e周报 第3期
  8. 获得联系人姓名,相关电话以及邮件地址sdk2
  9. Javascript判断浏览器终端是安卓Android
  10. Android显示时间和日期的控件的使用总结