android 开发包括哪些方面
发布时间:2025-05-12 03:21:57 发布人:远客网络
一、android 开发包括哪些方面
android应用开发框架是 Application Framework.其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。下面自底向上分析各层。
Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。如果你只是做应用开发,就不需要深入了解Linux Kernel层。
Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx是一套工具,可以将 Java.class转换成.dex格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。 Dalvik虚拟机依赖于Linux内核提供基本功能,如线程和底层内存管理。
Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:系统C库--标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备媒体库--基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG界面管理--管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层 LibWebCore--新式的Web浏览器引擎,驱动Android浏览器和内嵌的web视图 SGL--基本的2D图形引擎 3D库--基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅 FreeType--位图和矢量字体渲染 SQLite--所有应用程序都可以使用的强大而轻量级的关系数据库引擎
通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:视图(View)--丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器内容提供者(Content Providers)--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据资源管理器(Resource Manager)--提供访问非代码资源,如本地化字符串、图形和布局文件通知管理器(Notification Manager)--使所有的应用程序能够在状态栏显示自定义警告活动管理器(Activity Manager)--管理应用程序生命周期,提供通用的导航回退功能
Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭(Software Stack),或称为「软件迭层架构」,迭层主要分成三层:操作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。
二、android中应用程序是什么意思
1、Android系统类似于电脑上的WindowsXP或Windows7,都是操作系统的角色。应用程序则类似于电脑上的QQ、360安全卫士等软件,它们是Android系统上的具体功能模块。
2、在Android平台上,应用程序通常由一到多个Activity组成,每个Activity可以独立运行,但它们之间可以相互调用。例如,当需要发送短信或拨打某个电话时,系统会调用预设好的Activity来完成相应的操作。使用Java代码可以轻松地实现这一功能:
3、Intent call= new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+phonenumber)); startActivity(call);
4、Intent sms= new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+phonenumber)); startActivity(sms);
5、通过上述方式,Android应用程序可以实现多个Activity的组合与调用,形成一个完整的功能模块。Activity之间的数据传递和交互使得整个应用程序能够流畅运行。
6、这种组合方式不仅使得应用程序结构更加灵活,也使得开发人员能够更加方便地实现复杂的功能。同时,由于每个Activity都可以独立运行,使得应用程序具有更好的可维护性和可扩展性。
7、此外,Android系统还提供了丰富的API,使得开发者可以方便地实现各种功能。例如,可以使用BroadcastReceiver来接收系统广播,实现一些特定的操作;可以使用Service来实现后台任务的运行;可以使用ContentProvider来实现数据的共享等。
8、总之,Android应用程序是由多个Activity按照一定的次序拼装起来的,通过合理的组织和设计,可以实现复杂的功能和良好的用户体验。
三、Android手机系统自带的应用程序有哪些。
1、因不同版本的Android系统和不同品牌手机的定制,会有差异导致系统自带程序有差异,但大体上有以下程序:
2、*AccountAndSyncSettings.apk同步与账户设定(绝不能删除)
3、*ApplicationsProvider.apk应用程序支持服务(绝不能删除)
4、Bluetooth.apk蓝牙(删除后蓝牙功能消失)
5、Browser.apk系统自带浏览器(可用其他手机浏览器替代)
6、Calculator.apk计算器(可删,可用其他替代)
7、CalendarProvider.apk日历程序支持服务(可删)
8、*Camera.apk自带相机(绝不能删除)
9、*CertInstaller.apk证书服务(绝不能删除)
10、Contacts.apk通讯簿/联系人(用第三方通讯簿的可删)
11、*ContactsProvider.apk通讯簿/联系人数据存储服务(绝不能删除)
12、*DefaultContainerService.apk默认通讯簿服务(绝不能删除)
13、DeskClock.apk自带闹钟(用第三方闹钟的可删)
14、*DownloadProvider.apk下载管理器(绝不能删除)
15、*DrmProvider.apk DRM受保护数据存储服务(绝不能删除)
16、DSPManager.apk DSP音频管理(可删)
17、Email.apk Email(不用自带Email接受邮件的可删)
18、FileManager.apk简易文件管理器(可删,可用ES文件管理器替代)
19、Gallery3D.apk 3D图片浏览器(可删)
20、GenieWidget.apk天气与新闻(可删)
21、GoogleBackupTransport.apk***(未知程序,可删)
22、GoogleCalendarSyncAdapter.apk存储日历讯息(可删)
23、GoogleContactsSyncAdapter.apk存储联系人讯息(可删)
24、GoogleFeedback.apk***(据说删除后开机会提示GoogleFeedback.apk,根据自身情况决定是否删除)
25、GooglePartnerSetup.apk Google助手(可删)
26、GooglePinyinIME.apk Google拼音(可删,用其他输入法替代)
27、GoogleQuickSearchBox.apk Google搜索(可删)
28、GoogleServicesFramework.apk同步支持服务(删除后无法同步联系人,且不能登录Google)
29、HTMLViewer.apk HTML浏览器(可删)
30、LauncherPro.apk原生桌面(可删)
31、LiveWall**sPicker.apk动态壁纸(可删)
32、MarketUpdater.apk市场升级(不确定)
33、*MediaProvider.apk媒体数据存储服务(绝不能删除)
34、MediaUploader.apk媒体升级(可删)
35、Music.apk自带音乐(可删,用自己喜欢的播放器吧)
36、NetworkLocation.apk网络位置(可删)
37、OneTimeInitializer.apk***(未知,可删)
38、*PackageInstaller.apk程序安装(绝不能删除)
39、*Phone.apk电话拨号程序(绝不能删除)
40、PhoneGuard.apk拨号卫士(可删)
41、PicoTts.apk可删(文字语言转换的语音合成引擎,设定-语音输入与输出中)
42、Protips.apk桌面小绿人插件(可删)
43、*QuickMgr.apk一键设定(长按menu的后弹出的那个,绝不能删除)
44、*Settings.apk系统设定(绝不能删除)
45、*SettingsProvider.apk设定服务程序(绝不能删除)
46、*SetupWizard.apk开机引导(在定制Rom时不可删,刷好机可用Root Explorer删掉)
47、SMSPopup.apk简讯泡泡(就是简讯来时弹出的那个,其实就是个弹出框架)
48、SoundRecorder.apk录音机(可用第三方录音软件替代)
49、Stk.apk SIM卡服务(可删,有机友把联系人复制在SIM卡上的就不要删它)
50、*Superuser.apk授权程序(就是程序行表上面那个,用这个来获取Root的)
51、*TelephonyProvider.apk拨号记录存储服务(绝不能删除)
52、Term.apk超级终端(可删,不过不建议,可以用来刷Recovery)
53、TtsService.apk Text-to-speech服务(可删)
54、UserDictionaryProvider.apk用户数据字典服务(可删)
55、VoiceSearch.apk语音搜索(可删)
56、提示:带*号的不可以删除,否则会出现严重问题,例如手机卡死,死机,无法开机等情况。