下面哪一个不属于android体系结构中的应用程序层

下面哪一个不属于android体系结构中的应用程序层,第1张

Android应用程序层是可以包括主屏幕,短信接收,联系人管理,浏览器,日历,地图等一系列已经实现的应用程序,时在应用程序框架层的基础上开发的各种APP。建议百度Android应用程序平台体系。

\\system\\app

这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\\data\\文件夹中。下面是详细的介绍:

\\system\\app\\AlarmClockapk 闹钟

\\system\\app\\AlarmClockodex

\\system\\app\\Browserapk 浏览器

\\system\\app\\Browserodex

\\system\\app\\Bugreportapk Bug报告

\\system\\app\\Bugreportodex

\\system\\app\\Calculatorapk 计算器

\\system\\app\\Calculatorodex

\\system\\app\\Calendarapk 日历

\\system\\app\\Calendarodex

\\system\\app\\CalendarProviderapk 日历提供

\\system\\app\\CalendarProviderodex

\\system\\app\\Cameraapk 照相机

\\system\\app\\Cameraodex

\\system\\app\\comamazonmp3apk 亚马逊音乐

\\system\\app\\Contactsapk 联系人

\\system\\app\\Contactsodex

\\system\\app\\DownloadProviderapk 下载提供

\\system\\app\\DownloadProviderodex

\\system\\app\\DrmProviderapk DRM数字版权提供

\\system\\app\\DrmProviderodex

\\system\\app\\Emailapk 电子邮件客户端

\\system\\app\\Emailodex

\\system\\app\\FieldTestapk 测试程序

\\system\\app\\FieldTestodex

\\system\\app\\GDataFeedsProviderapk GoogleData提供

\\system\\app\\GDataFeedsProviderodex

\\system\\app\\Gmailapk Gmail电子邮件

\\system\\app\\Gmailodex

\\system\\app\\GmailProviderapk Gmail提供

\\system\\app\\GmailProviderodex

\\system\\app\\GoogleAppsapk 谷歌程序包

\\system\\app\\GoogleAppsodex

\\system\\app\\GoogleSearchapk 搜索工具

\\system\\app\\GoogleSearchodex

\\system\\app\\gtalkserviceapk GTalk服务

\\system\\app\\gtalkserviceodex

\\system\\app\\HTMLViewerapk HTML查看器

\\system\\app\\HTMLViewerodex

\\system\\app\\IMapk 即使通讯组件包含MSN、yahoo通

\\system\\app\\ImCredentialProviderapk

\\system\\app\\ImProviderapk

\\system\\app\\ImProviderodex

\\system\\app\\Launcherapk 启动加载器

\\system\\app\\Launcherodex

\\system\\app\\Mapsapk 电子地图

\\system\\app\\Mapsodex

\\system\\app\\MediaProviderapk 多媒体播放提供

\\system\\app\\MediaProviderodex

\\system\\app\\Mmsapk 短信、彩信

\\system\\app\\Mmsodex

\\system\\app\\Musicapk 音乐播放器

\\system\\app\\Musicodex

\\system\\app\\MyFavesapk T-Mobile MyFaves程序

\\system\\app\\MyFavesodex

\\system\\app\\PackageInstallerapk apk安装程序

\\system\\app\\PackageInstallerodex

\\system\\app\\Phoneapk 电话拨号器

\\system\\app\\Phoneodex

\\system\\app\\Settingsapk 系统设置

\\system\\app\\Settingsodex

\\system\\app\\SettingsProviderapk 设置提供

\\system\\app\\SettingsProviderodex

\\system\\app\\SetupWizardapk 设置向导

\\system\\app\\SetupWizardodex

\\system\\app\\SoundRecorderapk 录音工具

\\system\\app\\SoundRecorderodex

\\system\\app\\Streetapk 街景地图

\\system\\app\\Streetodex

\\system\\app\\Syncapk 同步程序

\\system\\app\\Syncodex

\\system\\app\\Talkapk 语音程序

\\system\\app\\Talkodex

\\system\\app\\TelephonyProviderapk 电话提供

\\system\\app\\TelephonyProviderodex

\\system\\app\\Updaterapk 更新程序

\\system\\app\\Updaterodex

\\system\\app\\Vendingapk 制造商信息

\\system\\app\\Vendingodex

\\system\\app\\VoiceDialerapk 语音拨号器

\\system\\app\\VoiceDialerodex

\\system\\app\\YouTubeapk Youtube视频

\\system\\app\\YouTubeodex

\\system\\bin

这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:

\\system\\bin\\akmd

\\system\\bin\\am

\\system\\bin\\app_process 系统进程

\\system\\bin\\dalvikvm Dalvik虚拟机宿主

\\system\\bin\\dbus-daemon 系统BUS总线监控

\\system\\bin\\debuggerd 调试器

\\system\\bin\\debug_tool 调试工具

\\system\\bin\\dexopt DEX选项

\\system\\bin\\dhcpcd DHCP服务器

\\system\\bin\\dumpstate 状态抓取器

\\system\\bin\\dumpsys 系统抓取器

\\system\\bin\\dvz

\\system\\bin\\fillup

\\system\\bin\\flash_image 闪存映像

\\system\\bin\\hciattach

\\system\\bin\\hcid HCID内核

\\system\\bin\\hostapd

\\system\\bin\\hostapd_cli

\\system\\bin\\htclogkernel

\\system\\bin\\input

\\system\\bin\\installd

\\system\\bin\\itr

\\system\\bin\\linker

\\system\\bin\\logcat Logcat日志打印

\\system\\bin\\logwrapper

\\system\\bin\\mediaserver

\\system\\bin\\monkey

\\system\\bin\\mountd 存储挂载器

\\system\\bin\\netcfg 网络设置

\\system\\bin\\ping Ping程序

\\system\\bin\\playmp3 MP3播放器

\\system\\bin\\pm 包管理器

\\system\\bin\\qemud QEMU虚拟机

\\system\\bin\\radiooptions 无线选项

\\system\\bin\\rild RIL组件

\\system\\bin\\sdptool

\\system\\bin\\sdutil

\\system\\bin\\service

\\system\\bin\\servicemanager 服务管理器

\\system\\bin\\sh

\\system\\bin\\ssltest SSL测试

\\system\\bin\\surfaceflinger 触摸感应驱动

\\system\\bin\\svc 服务

\\system\\bin\\system_server

\\system\\bin\\telnetd Telnet组件

\\system\\bin\\toolbox

\\system\\bin\\wlan_loader

\\system\\bin\\wpa_cli

\\system\\bin\\wpa_supplicant

\\system\\etc

从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。

\\system\\etc\\apns-confxml APN接入点配置文件

\\system\\etc\\AudioFiltercsv 音频过滤器配置文件

\\system\\etc\\AudioPara4csv

\\system\\etc\\bookmarksxml 书签数据库

\\system\\etc\\dbusconf 总线监视配置文件

\\system\\etc\\dhcpcd

\\system\\etc\\event-log-tags

\\system\\etc\\favoritesxml 收藏夹

\\system\\etc\\firmware 固件信息

\\system\\etc\\gpsconf GPS设置文件

\\system\\etc\\hcidconf内核HCID配置文件

\\system\\etc\\hosts 网络DNS缓存

\\system\\etc\\initgoldfishsh

\\system\\etc\\location 定位相关

\\system\\etc\\mountdconf 存储挂载配置文件

\\system\\etc\\NOTICEhtml 提示网页

\\system\\etc\\permissionsxml 权限许可

\\system\\etc\\pvplayerconf

\\system\\etc\\security

\\system\\etc\\wifi WLAN相关组件

\\system\\etc\\dhcpcd\\dhcpcd-hooks

\\system\\etc\\dhcpcd\\dhcpcd-run-hooks

\\system\\etc\\dhcpcd\\dhcpcdconf

\\system\\etc\\dhcpcd\\dhcpcd-hooks\\01-test

\\system\\etc\\dhcpcd\\dhcpcd-hooks\\20-dnsconf

\\system\\etc\\dhcpcd\\dhcpcd-hooks\\95-configured

\\system\\etc\\firmware\\brf6300bin

\\system\\etc\\location\\gps

\\system\\etc\\location\\gps\\location 定位相关

\\system\\etc\\location\\gps\\nmea GPS数据解析

\\system\\etc\\location\\gps\\properties

\\system\\etc\\security\\cacertsbks

\\system\\etc\\security\\otacertszip OTA下载验证

\\system\\etc\\wifi\\Fw1251r1cbin

\\system\\etc\\wifi\\tiwlanini

\\system\\etc\\wifi\\wpa_supplicantconf WPA验证组件

\\system\\fonts

字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallbackttf文件大小

\\system\\fonts\\DroidSans-Boldttf

\\system\\fonts\\DroidSansttf

\\system\\fonts\\DroidSansFallbackttf

\\system\\fonts\\DroidSansMonottf

\\system\\fonts\\DroidSerif-Boldttf

\\system\\fonts\\DroidSerif-BoldItalicttf

\\system\\fonts\\DroidSerif-Italicttf

\\system\\fonts\\DroidSerif-Regularttf

\\system\\framework

framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。

\\system\\framework\\amjar

\\system\\framework\\amodex

\\system\\framework\\androidawtjar AWT库

\\system\\framework\\androidawtodex

\\system\\framework\\androidpolicyjar

\\system\\framework\\androidpolicyodex

\\system\\framework\\androidtestrunnerjar

\\system\\framework\\androidtestrunnerodex

\\system\\framework\\comgoogleandroidgtalkservicejar GTalk服务

\\system\\framework\\comgoogleandroidgtalkserviceodex

\\system\\framework\\comgoogleandroidmapsjar 电子地图库

\\system\\framework\\comgoogleandroidmapsodex

\\system\\framework\\corejar 核心库,启动桌面时首先加载这个

\\system\\framework\\coreodex

\\system\\framework\\extjar

\\system\\framework\\extodex

\\system\\framework\\framework-resapk

\\system\\framework\\framework-testsjar

\\system\\framework\\framework-testsodex

\\system\\framework\\frameworkjar

\\system\\framework\\frameworkodex

\\system\\framework\\inputjar 输入库

\\system\\framework\\inputodex

\\system\\framework\\itrjar

\\system\\framework\\itrodex

\\system\\framework\\monkeyjar

\\system\\framework\\monkeyodex

\\system\\framework\\pmjar 包管理库

\\system\\framework\\pmodex

\\system\\framework\\servicesjar

\\system\\framework\\servicesodex

\\system\\framework\\ssltestjar

\\system\\framework\\ssltestodex

\\system\\framework\\svcjar 系统服务

\\system\\framework\\svcodex

\\system\\lib

lib目录中存放的主要是系统底层库,如平台运行时库。

\\system\\lib\\libaesso

\\system\\lib\\libaglso

\\system\\lib\\libandroid_runtimeso Android运行时库

\\system\\lib\\libandroid_serversso 系统服务组件

\\system\\lib\\libaudioso 音频处理

\\system\\lib\\libaudioeqso EQ均衡器

\\system\\lib\\libaudioflingerso 音频过滤器

\\system\\lib\\libbluetoothso 蓝牙组件

\\system\\lib\\libcso

\\system\\lib\\libcameraso 超相机组件

\\system\\lib\\libcameraserviceso

\\system\\lib\\libcorecgso

\\system\\lib\\libcryptoso 加密组件

\\system\\lib\\libctestso

\\system\\lib\\libcutilsso

\\system\\lib\\libdbusso

\\system\\lib\\libdlso

\\system\\lib\\libdrm1so DRM解析库

\\system\\lib\\libdrm1_jniso

\\system\\lib\\libdvmso

\\system\\lib\\libexifso

\\system\\lib\\libexpatso

\\system\\lib\\libFFTEmso

\\system\\lib\\libGLES_CMso

\\system\\lib\\libgpsso

\\system\\lib\\libhardwareso

\\system\\lib\\libhglso

\\system\\lib\\libhtc_rilso

\\system\\lib\\libicudataso

\\system\\lib\\libicui18nso

\\system\\lib\\libicuucso

\\system\\lib\\liblogso

\\system\\lib\\libmso

\\system\\lib\\libmediaso

\\system\\lib\\libmediaplayerserviceso

\\system\\lib\\libmedia_jniso

\\system\\lib\\libnativehelperso

\\system\\lib\\libnetutilsso

\\system\\lib\\libOmxCoreso

\\system\\lib\\libOmxH264Decso

\\system\\lib\\libpixelflingerso

\\system\\lib\\libpvasfso

\\system\\lib\\libpvasfregso

\\system\\lib\\libpvauthorso

\\system\\lib\\libpvcommonso

\\system\\lib\\libpvdownloadso

\\system\\lib\\libpvdownloadregso

\\system\\lib\\libpvmp4so

\\system\\lib\\libpvmp4regso

\\system\\lib\\libpvnet_supportso

\\system\\lib\\libpvplayerso

\\system\\lib\\libpvrtspso

\\system\\lib\\libpvrtspregso

\\system\\lib\\libqcameraso

\\system\\lib\\libreference-rilso

\\system\\lib\\librilso

\\system\\lib\\librpcso

\\system\\lib\\libsglso

\\system\\lib\\libsonivoxso

\\system\\lib\\libsoundpoolso

\\system\\lib\\libsqliteso

\\system\\lib\\libsslso

\\system\\lib\\libstdc++so

\\system\\lib\\libsurfaceflingerso

\\system\\lib\\libsystem_serverso

\\system\\lib\\libthread_dbso

\\system\\lib\\libUAPI_jniso

\\system\\lib\\libuiso

\\system\\lib\\libutilsso

\\system\\lib\\libvorbisidecso

\\system\\lib\\libwbxmlso

\\system\\lib\\libwbxml_jniso

\\system\\lib\\libwebcoreso

\\system\\lib\\libwpa_clientso

\\system\\lib\\libxml2wbxmlso

\\system\\lib\\libzso

\\system\\lib\\modules

\\system\\lib\\modules\\wlanko

随着移动互联网的发展,各种智能手机APP接踵而来,在手机APP应用市场中,数量最多的就是Android开发的手机软件了。Android开发也成为当下较热门行业。那么,昆明北大青鸟>

Java面向对象编程

1、Java基本数据类型与表达式,分支循环。

2、String和StringBuffer的使用、正则表达式。

3、面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。

4、对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。

5、Java异常处理,异常的机制原理。

6、常用的设计模式:Singleton、Template、Strategy模式。

7、JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。

8、Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。

9、JavaI/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。

10、Java高级特性:反射、代理和泛型。

11、多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。

12、Socket网络编程。

Javaweb开发

1、Java解析XML文件DOM4J。

2、MySql数据库的应用、多表连接查询的应用。

3、Jsp和Servlet应用。

4、>

5、Tomcat服务器的应用配置。

6、WebService服务配置应用。

androidUI编程

1、Android开发环境搭建:Android介绍,Android开发环境搭建,先进个Android应用程序,Android应用程序目录结构。

2、Android初级控件的使用:TextView控件的使用Button控件的使用方法EditText控件的使用方法ImageView的使用方法RadioButton的使用方法Checkbox的使用方法Menu的使用方法。

3、Android高级控件的使用:Autocompletion的使用方法ListView的使用方法GridView的使用方法Adapter的使用方法Spinner的使用方法Gallary的使用方法ScrollView的使用方法。

4、对话框与菜单的使用:Dialog的基本概念AlertDialog的使用方法DatePickerDialog的使用方法Menu的使用方法自定义Menu的实现方法。

5、控件的布局方法:线性布局的使用方法相对布局的使用方法表格布局的使用方法。

6、多Acitivity管理:AndroidManifestxml文件的作用,Intent的使用方法,使用Intent传递数据的方法,启动Activity的方法,IntentFilter的使用方法,ActivityGroup的使用方法。

7、自定义控件实现方法:自定义ListView的实现方法,可折叠ListView的使用方法,自定义Adapter的实现方法,自定义View的实现方法,动态控件布局的上实现方法。

如下图所示,animhi动画文件,drawable用来放,形状,选择器文件,drawable-hdpi-v4到drawable-xxxhdi-v4都是放置大小不同的,为了适配更多的手机,layout是界面布局文件,menu是菜单文件

Android 目前还没有那样成熟的框架可以使用。

只能说有一些开源项目较好地解决了部分方面的问题,例如:

(1)EventBus:解决了模块之间消息传递解耦合的问题

(2)picasso:解决异步加载和缓存的问题

(3)dagger:一个依赖注入工具库

Android 是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。

Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。 APK是安卓应用的后缀,是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

APK文件结构

一个APK文件结构为:

1 META-INF\ (注:Jar文件中常可以看到);

2 res\ (注:存放资源文件的目录) ;

3 AndroidManifestxml (注:程序全局配置文件) ;

4 classesdex (注:Dalvik字节码);

5 resourcesarsc (注:编译后的二进制资源文件)。

总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接执行安装,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。

在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后androidmanifestxml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。

最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。 Android 的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 Kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。

HAL stub 是一种代理人(Proxy)的概念,Stub 是以 so 档的形式存在。Stub 向 HAL“提供” *** 作函数(Operations),并由 Android runtime 向 HAL 取得 Stub 的Operations,再 Callback 这些 *** 作函数。HAL 里包含了许多的 Stub(代理人)。Runtime 只要说明“类型”,即 Module ID,就可以取得 *** 作函数。 *** 作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。

Android采用OpenCORE作为基础多媒体框架。Open CORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。

Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是雏形的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,Skia 也是Google Chrome 的图形引擎。

Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。

Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

Dalvik虚拟机可以有多个实例(Instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为dex格式的文件。 Android本身是一个权限分立的 *** 作系统。在这类 *** 作系统中,每个应用都以唯一的一个系统识别身份运行(Linux用户ID与群组ID)。系统的各部分也分别使用各自独立的识别方式。Linux就是这样将应用与应用,应用与系统隔离开。

系统更多的安全功能通过权限机制提供。权限可以限制某个特定进程的特定 *** 作,也可以限制每个URI权限对特定数据段的访问。

Android安全架构的核心设计思想是,在默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的 *** 作。这其中包括读写用户隐私数据(联系人或电子邮件),读写其他应用文件,访问网络或阻止设备待机等。

安装应用时,在检查程序签名提及的权限,且经过用户确认后,软件包安装器会给予应用权限。从用户角度看,一款Android应用通常会要求如下的权限:

拨打电话、发送短信或彩信、修改/删除SD卡上的内容、读取联系人的信息、读取日程信的息,写入日程数据、读取电话状态或识别码、精确的(基于GPS)地理位置、模糊的(基于网络获取)地理位置、创建蓝牙连接、对互联网的完全访问、查看网络状态,查看WiFi状态、避免手机待机、修改系统全局设置、读取同步设定、开机自启动、重启其他应用、终止运行中的应用、设定偏好应用、震动控制、拍摄等。

一款应用应该根据自身提供的功能,要求合理的权限。用户也可以分析一款应用所需权限,从而简单判定这款应用是否安全。如一款应用是不带广告的单机版,也没有任何附加的内容需要下载,那么它要求访问网络的权限就比较可疑。

Android平台采用了整合的策略思想,包括底层Linux *** 作系统、中间层的中间件和上层的Java应用程序。下面我把Android的特性及其架构体系结构总结一下。

一、Android的平台特性

Android平台有如下特性:

1 应用程序框架支持组件的重用与替换。

这样我们可以把系统中不喜欢的应用程序删除,安装我们喜欢的应用程序。

2 Dalvik虚拟机专门为移动设备进行了优化。

Android应用程序将由Java编写、编译的类文件通过DX工具转换成一种后缀名为dex的文件来执行。Dalvik虚拟机是基于寄存器的,相对于Java虚拟机速度要快很多。

3 内部集成浏览器基于开源的WebKit引擎。

有了内置的浏览器,这将意味着WAP应用的时代即将结束,真正的移动互联网时代已经来临,手机就是一台“小电脑”,可以在网上随意遨游。

4 优化的图形库包括2D和3D图形库,3D图形库基于OpenGL ES 10。

强大的图形库给游戏开发带来福音。在3G最为重要的的应用莫过于手机上网和手机游戏。

5 SQLite用作结构化的数据存储。

6 多媒体支持包括常见的音频、视频和静态印象文件格式

如MPEG4、H264、MP3、AAC、AMR、JGP、PNG、GIF。

7 GSM电话(依赖于硬件)。

8 蓝牙(Bluetooth)、EDGE、3G、WiFi(依赖于硬件)。

9 照相机、GPS、指南针和加速度计(依赖于硬件)。

10 丰富的开发环境包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成的开发环境插件。

Google提供了Android开发包SDK,其中包含了大量的类库和开发工具,并且针对Eclipse的可视化开发插件ADT。

二、Android平台架构

 从上图我们可以看出,Android *** 作系统的体系结构可分为4层,由上到下依次是应用程序、应用程序框架、核心类库和Linux内核,其中第三层还包括Android运行时的环境。下面分别来讲解各个部分。

1 程序应用

Android

连同一个核心应用程序包一起发布,该应用程序包包括E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用Java编写的。

2 应用程序框架

开发者完全可以访问核心应用程序所使用的API框架。该应用程序框架架构用来简化组件软件的重用,任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。

以下所有的应用程序都由一系列的服务和系统组成,包括:

1)一个可扩展的视图(Views)可以用来创建应用程序,包括列表(lists)、网络(grids)、文本框(text

boxes)、按钮(buttons),甚至是一个可嵌入的Web浏览器。

2)内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

3)一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout files)。

4)一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。

5)一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。

3 Android程序库

Android包括一个被Android系统中各种不同组件所使用的C/C++集库。该库通过Android应用程序框架为开发者提供服务。

以下是一些主要的核心库:

1)系统C库:一个从BSD继承来的标准C系统函数库(libc),专门为基于Embedded Linux的设备定制。

2)媒体库:基于PacketVideo

OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态映像文件包括MPEG4、H264、MP3、AAC、JPG、PNG。

3)Surface Manager:对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。

4)LibWebCore:一个最新的Web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图。

5)SGL:一个内置的2D图形引擎。

6)3D libraries:基于OpenGL ES 10 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

7)FreeType:位图(bitmap)和向量(vector)字体显示。

8)SQLite:一个对于所以应用程序可用、功能强劲的轻型关系型数据库引擎。

4 Android运行库

Android包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对同时高效地运行多个VMs实现的。Dalvik虚拟机执行dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都是经由Java汇编器编译,然后通过SDK中的DX工具转化成dex格式由虚拟机执行。

Dalvik虚拟机依赖于Linux的一些功能,比如线程机制和底层内存管理机制。

5 Linux内核

Android的核心系统服务依赖于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的硬件抽象层。

以上就是关于下面哪一个不属于android体系结构中的应用程序层全部的内容,包括:下面哪一个不属于android体系结构中的应用程序层、Android系统文件夹结构详细解析!、昆明北大青鸟分享Android开发需要学习哪些内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9486538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存