提到Android,大家能想到什么呢?
常言的Android其实是Android系统,目前市场上占有率很高的移动操作系统,是谷歌针对手机开发的。接下来先了解一些android的入门知识。
一.Android系统框架(公开的android体系结构图):四层架构,五块区域。
细了解参考:
4.应用程序层
安装在手机的应用程序,包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人,电话管理程序等。
3.应用程序框架层
这层提供构建应用程序时可能用到的各种API 框架。隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
* 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。
* 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据
* 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。
* 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
* 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
2.系统运行库层
1)程序库
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。
* 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。
* SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
2)Android 运行库
Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
1.Linux 内核层
Android 的核心系统服务依赖于 Linux 2.6 内核
二、Android应用开发采用java语言,我们所说的java一般包含三个部分:
1)java语言:即其语法,其写代码的程式
2).java虚拟机:为了实现一次编译到处可以运行的原则,java在编译连接以后并没有产生目标机器语言,而是采用了Java bytecode这种Java共用指令,这时就需要一个虚拟机来执行改指令。
3).库:跟我们常用的C语言一样提供一些常用的库
后两者结合就是Java Runtime Environment。
Android使用的虚拟机叫 Dalvik,最初并是不为Java设计的,它并不能运行Java bytecode指令,而是运行叫Dalvik executable,简称dx。为此Android提供了dx工具,用来将Java bytecode转换为dx。
三、Android版本号与API对应的关系
四、Android应用开发特色
参考郭霖的《第一行代码Android》
1.四大组件
Android系统四大组件分别是活动(Activity) , 服务(Service) , 广播接收器(Broadcast Receiver) ,和内容提供器(Content Provider).
其中活动是所有Android应用程序的门面,凡是在应用中你看得到的东西,都是放在活动中的. 就是用户交互?
服务,你无法看到,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的.
广播接收器允许你的应用接收来自各处的广播消息,比如电话,短信等.当然你的应用也可以向外发出广播消息.
内容提供器则为应用程序之间共享数据提供了可能.比如你想要读取系统电话簿中的联系人,就需要通过内容提供器来实现.
2.丰富的系统控件
Android系统为开发者提供了丰富的系统控件,使得我们可以很轻松地编写出漂亮的界面. 当然也可以定制属于自己的控件
3.SQLite数据库
Android系统还自带了这种轻量级\运算速度极快的嵌入式关系型数据库.它不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方便
4.地理位置定位
移动设备与PC相比,地理位置定位功能是一个很大的亮点.现在的移动Android手机都内置有GPS,走到哪都可以定位到自己的位置,发挥你的想象就可以做出创意十足的应用.
5.强大的多媒体
Android系统还提供了丰富的多媒体服务,如音乐.视频.录音.拍照.闹铃等等,着一些你都可以在程序中通过代码进行控制,让你的应用变得更加丰富多彩.
6.传感器
Android手机中都会内置多种传感器,如加速度传感器,方向传感器等.这也算是移动设备的一大特点.通过灵活的使用这些传感器,你可以做出很多在PC上根本无法实现的应用.
五、Android开发的工具
需要java环境,JDK
1)eclipse+SDK+ADT
2)AndroidStudio
六、Android studio项目目录介绍。截图来自《第一行代码》书籍中