欢迎关注Android!
Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。开发人员可以使用Android SDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。Dalvik是一款量身定制的虚拟机,它专为嵌入式应用设计,运行在Linux内核上层。
如果你想了解如何为Android平台开发应用程序,你就来对地方了!为了帮助大家了解Android平台进而开发移动应用程序,这里
提供了各种丰富的文档。
Android SDK 的预览版已经可以下载
了。其中包括了附含源代码的样例工程、开发工具、仿真器,当然了,还有你构建工程所必需的类库。
Android是什么?
机器人?
Android是一组面向移动设备的软件包,包含了一个操作系统,中间件和关键应用程序。Android SDK
的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言在Android平台上开发应用程序了。
有点Linux风格吧
特性
- 应用程序框架
支持组件的复用和更换
- Dalvik 虚拟机
专门为移动设备进行过优化
- 集成的浏览器
基于开源的 WebKit
引擎
- 优化的图形机制
自定义的2D图形库,基于OpenGL ES 1.0规范的3D图形实现(本项为硬件加速器可选)
- SQLite
轻量级的数据库,支持结构化数据的存储
- 媒体支持
面向常见的音频、视频以及静态图形档案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- GSM 技术
GSM:global system for mobile communications (依赖硬件支持)
- Bluetooth, EDGE, 3G, and WiFi
(依赖硬件支持)
- Camera, GPS, compass, and accelerometer
(依赖硬件支持)
- Rich development environment
丰富的开发环境,包含一套硬件仿真器,一些用于程序调试、内存和性能剖析的工具,以及支持Eclipse集成开发环境的插件(ADT
)。
Android架构
下方图表显示了Android操作系统的主要组件。要知道关于各个部分更多的细节,下文还有描述,请继续看。
Applications
(应用)
Android将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。
Application Frameworks (应用框架)
上文所提的核心应用程序就是依赖框架层次API开发的,程序员们当然也可以充分使用这些API。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。
所有应用都是一组服务和系统,一般包含:
要知道更多细节,了解应用内幕,请参考教程 《Android应用编写》
Libraries (库)
Android包含一套C/C++库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。下面列举一些核心库:
- System C library
- 衍生于BSD的标准C系统库(libc)实现(注:BSD:Berkeley Software Distribution,伯克利软件套件,是Unix的衍生系统,1970年代由伯克利加州大学开创),尤其支持嵌入式的基于Linux的设备。
- Media Libraries
- 媒体库基于PacketVideo's OpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG )的播放和录制
- Surface Manager
- 管理范围:对子系统显示功能的访问,跨应用的无缝组合2D和2D图形层
- LibWebCore
- 是流行的浏览器引擎,可以支持Android浏览器和嵌入应用的WEB视图组件
- SGL
- 底层的2D图形引擎
- 3D libraries
- 基于OpenGL ES 1.0 API的实现; 该类库使用硬件3D加速器(如果硬件支持的话)或者内置的、高度优化的3D软件加速机制。
- FreeType
- 支持位图和矢量字体
- SQLite
- 能干、轻量级的关系型数据库引擎,面向所有应用
Android Runtime (Android运行时)
Android的核心类库提供Java类库所提供的绝大部分功能。
每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。
Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)——该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。
在一些底层功能——比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。
Linux Kernel (Linux内核)
Android依赖Linux 2.6版,提供核心系统服务:安全、内存管理、进程管理、网络组、驱动模型。内核部分还相当于一个介于硬件层和系统中其他软件组之间的一个抽象层次。
分享到:
相关推荐
在Android开发中,串口通信(Serial Port Communication)是一种重要的技术,它允许设备之间通过串行接口进行数据交换。在Android Studio环境下实现串口通信,开发者可以构建与硬件设备交互的应用,例如读取传感器...
Android新编译规则Android.bp文件语法规则详细介绍,条件编译的配置案例。 Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk 文件的。在 Android7.0 以前,Android 都是使用 ...
在Android开发中,有时我们需要根据设备制造商或操作系统版本来实现特定功能或适配。这个"判断android手机是华为小米魅族系统"的工具类就是针对这种情况设计的,它可以帮助开发者识别用户设备是属于华为、小米还是...
在Android应用开发中,抽屉菜单(Drawer Menu)是一种常见的设计模式,用于提供导航功能,让用户可以从屏幕边缘滑出一个包含多个选项的列表。这种设计通常遵循Material Design指南,是Google推荐的Android应用界面...
【Android扫雷游戏开发详解】 在移动开发领域,Android Studio是Google推出的官方集成开发环境(IDE),用于构建Android应用程序。本项目"Android扫雷游戏"就是利用Android Studio进行开发的一个实例,旨在帮助初学...
在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...
这样就可以在组件再次需要使用时,原地满血复活,就像什么都没发生过一样。这种设计思想非常适合内存较小的移动设备。理解Android组件设计思想,对Android应用程序架构会有更好的认识。这一节讲Android组件化设计的...
Android SDK离线包合集(Android 4.0-5.0)。不用去Google下载,直接国内下载离线包,各版本文件独立,任意下载。手机流量上传了一部分,好心疼。如不能下载,请告诉我更新地址。 附上简单教程。 这是Android开发所...
在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...
《Android点餐系统项目》是一门深度探讨如何在Android平台上构建无线点餐系统的视频教程,旨在教授学员如何利用Android技术实现一个完整的点餐系统,包括客户端和服务端的开发。这门课程涵盖了移动应用开发的多个...
Android 4.0源代码是Android操作系统的冰激凌三明治(Ice Cream Sandwich)版本的底层实现,它包含了Android应用程序框架以及系统服务的核心组件。这个压缩包包含了一系列的源码目录,每个目录对应不同的模块,如...
在Android开发领域,Android Studio是谷歌官方推荐的集成开发环境(IDE),用于构建高质量的Android应用。本小案例将深入探讨如何使用Android Studio进行实际项目开发。以下将详细介绍Android Studio的一些核心功能和...
在Android开发领域,经典代码例子是开发者学习和提升技能的重要资源。这些例子涵盖了各种关键功能和组件的实现,有助于深入理解Android应用的工作原理。在这个压缩包中,我们可能找到了多个有关Android编程的示例...
第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...
在Android系统中添加以太网(Ethernet)功能是一项涉及到网络接口和系统服务集成的重要操作。在Android设备上,以太网通常用于提供稳定的有线网络连接,尤其在没有Wi-Fi或者无线信号不稳定的情况下。以下是对如何在...
在Android开发中,系统默认的日期和时间选择器虽然实用,但往往无法满足所有场景的需求。因此,开发者经常需要自定义日期选择器来提供更符合应用风格或特定功能的交互体验。这篇内容将深入探讨如何在Android中创建一...
源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...
在Android平台上,即时通讯(Instant Messaging,简称IM)已经成为移动应用不可或缺的一部分,而结合视频通信功能则让用户体验更上一层楼。本项目“Android之基于RTP/RTSP即时通讯-Android源码”正是这样的一个解决...
Android SDK是Android应用程序开发不可或缺的一部分,它为开发者提供了构建、测试和调试应用所需的各种工具。在本场景中,我们关注的是Android SDK的27版本,这对应于Android 8.1.0,也称为Oreo。这个版本的SDK包含...
android-2.2 source文件 eclipse中绑定android源码的方法 1.下载android-2.2 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk...