提到Android,大家能想到什么呢?

常言的Android其实是Android系统,目前市场上占有率很高的移动操作系统,是谷歌针对手机开发的。接下来先了解一些android的入门知识。

一.Android系统框架(公开的android体系结构图):四层架构,五块区域。

细了解参考:

app项目架构设计 app框架图_应用程序

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项目目录介绍。截图来自《第一行代码》书籍中

app项目架构设计 app框架图_Java_02

app项目架构设计 app框架图_Java_03

app项目架构设计 app框架图_app项目架构设计_04

app项目架构设计 app框架图_Java_05

app项目架构设计 app框架图_Java_06

app项目架构设计 app框架图_app项目架构设计_07

app项目架构设计 app框架图_应用程序_08

app项目架构设计 app框架图_Java_09

app项目架构设计 app框架图_应用程序_10

app项目架构设计 app框架图_Java_11