初识android

2019-07-13 01:34发布

一、Android系统架构图
1.Linux kernel(内核) 2.Android runtime(运行库) 3.Libraries    其包含一个c/c++库的集合: 1系统C——标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备。 2媒体库——基于PacketVideoOpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4H.264MP3AACAMRJPGPNG 3界面管理——管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层。 4LibWebCore——新式的Web浏览器引擎,驱动Android浏览器和内嵌的web视图。 5SGL——基本的2D图形引擎。 63D——基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅。 7FreeType ——位图和矢量字体渲染。 8SQLite ——所有应用程序都可以使用的强大而轻量级的关系数据库引擎。 4.application framework(应用程序框架) 1、视图(View——丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。 2、内容提供者(Content Providers——使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据。 3、资源管理器(Resource Manager——提供访问非代码资源,如本地化字符串、图形和布局文件。 4、通知管理器(Notification Manager——使所有的应用程序能够在状态栏显示自定义警告。 5、活动管理器(ActivityManager——管理应用程序生命周期,提供通用的导航回退功能。 5.applications    核心应用程序包,包括E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等
二、四类核心的组件类: 1.Activity    一个Activity通常就是一个单独的屏幕。    每个Activity都被实现为一个单独的类,并继承与Activity这个基类。    Activity类将会显示由几个VIEWS控件组成的用户接口,并对事件作出响应。    通过startActivity()方法可以调用Acitvitty,而打开Activity的条件被封装在Intent中。 2.Service    一个Service是一种长生命周期的、没有用户界面的程序。    其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。    Service两种状态:          启动——其他应用组件可以通过Context.startService()启动一个Service。(一旦启动,在后台运行直到Service运行结束)          绑定——(多个)组件可通过调用Context.bindService()连接到一个Service上(一个绑定的service提供一个允许组件与service交互的接口,可以发送请求、获取返回结果,还可以通过夸进程通信来交互)                        调用unbind()方法时,这个service就会被销毁了。          对比:启动态的Service即使启动它的应用组件已经被销毁了,它仍会在后台运行直至结束。而被绑定的Service当绑定的组件销毁后,对应的service也就被kill了。 3.Broadcast Receiver   实现系统广播的组件 4.ContentPovider   实现不同组件间数据共享