Bootstrap

认识Android

初心

Android爱好者(菜鸟)一枚,初入Android世界,将在自己所学的写作博客,加深自己的理解。
一来希望加深自己Android的认识
二来希望对游览到此文章的同学有所帮助

注:

当然,路过大牛,若有什么建议,望留下你的脚步(评论),给予支持与鼓励,谢谢!!

一、发展历史

目前Android(4.0)以上的系统已经占据了超过98%以上的市场份额。
2003年10月,Andy Rubin等人一起创建了Android公司。
2005年8月,谷歌收购,Andy Rubin继续负责Android项目
2008年9月,谷歌正式发布Android(1.0)系统
… 随后几年谷歌相继推出Android(2.1)、Android(2.2)、Android(2.3)
2011年2月,谷歌发布Android(3.0),该系统版本是专门为平板电脑设计的(较为失败的版本)
2011年10月,谷歌发布Android(4.0),该版本适用于手机和平板电脑,不再差异化
2014年Google I/O大会上,谷歌推出Android(5.0)。
ART运行环境替代Dalvik虚拟机,
同时提出Material Design的概念来优化应用的界面设计,
推出Android Wear、Android Auto、Android TV系统,进军可穿戴设备、汽车、电视等全新领域(史上版本改动最大)
2015年Google I/O大会上推出Android(7.0),加入多窗口模式功能

二、Android系统架构

重要:
1.Linux内核层
Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动
如:显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。
2.系统运行库层
这一层通过一些C/C++库来为Android系统提供了主要的特性支持。
如:SQLite库提供了数据库的支持
OpenGL/ES库提供了3D绘图的支持
Webkit库提供了游览器内核的支持
同时在这一层还有Android运行时库,他主要提供一些核心库,能够允许开发者使用Java语言编写Android应用
Android运行时库包含Dalvik虚拟机(5.0系统之后改为ART运行环境),它似的每个Android应用都能运行在独立的进程中,并且拥有一个自己的Dalvik虚拟机实例
相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理
3.应用框架层
这一层主要提供了构建应用程序时可能用到的各种API。
4.应用层
所有安装在手机上的应用程序都属于这一层。
如:系统自带的联系人、短信等程序

三、Android应用开发特色:

1、四大组件
(1)活动(Activity):活动是所有Android应用程序的门面,凡是在应用中你看到的东西,都是放在活动中的。
(2)服务(Service):服务在后台运行,即使用户退出了应用,服务任然是可以继续运行的。
(3)广播接收器(Broadcast Receiver):用来接收来自各处的广播信息。比如电话、短信等,同样可以向外发出广播信息。
(4)内容提供器(Content Provider):为应用程序之间提供数据共享。比如读取系统电话簿的联系人,需要内容提供器来实现。
2、丰富的系统控件
Android系统为开发者提供了丰富的系统控件,使我们可以很轻松编写出漂亮的界面
3、SQLite数据库
Android系统自带了轻量级、运算速度极快的嵌入式关系型数据库。支持SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方便。
4、强大的多媒体
Android系统还提供了丰富的多谋体服务,如音乐、视频等,这一切你都可以在程序中通过代码控制。
5、地理位置定位
Android手机都内置GPS。

四、我的第一个Android项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、项目目录解析

Project模式结构
任何一个新建的项目都会默认使用Android模式的项目结构,这不是项目的真实的目录结构,而是被Android Studio转换过的。我们需要切换到Project模式结构下:
(1).gradle和idea
两个目录下放置的都是Android Studio自动生成的一些文件,无需关心,不要去修改。
(2)app
项目中的代码、资源都放在该目录下,我们开发工作基本也是在该目录下。
(3)gradle
目录包含lgradle wrapper的配置文件。
(4).gitignore
将指定的目录或文件排除在版本控制之外
(5)Androids.iml
iml文件是所有Intellij IDEA项目都会产生的一个文件(Android Studio是基于IntelliJ IDEA开发的)
(6)build.gradle
项目全局gradle配置文件
(7)gradle.properties
全局gradle配置文件
(8)gradlew和gradlew.bat
命令行界面执行gradle命令。gradlew是在Linux或Mac系统中使用。gradlew.bat在Windows系统中使用
(9)local.properties
用于本机Android SDK路径
(10)settings.gradle
指定项目中所有引入的模块。
在这里插入图片描述
开发目录app:
(1)buile
编译时自动生成的文件。
(2)libs
项目中使用的第三方jar包存放目录
(3)androidText
用来编写Android Test测试用例的。
(4)java
存放Java代码的目录
(5)res
存放项目使用到的所有图片,布局,字符串等资源;drawable(图片),layout(布局),values(字符串)
(6)AndroidManifest.xml
Android项目的配置文件,四大组件都需在这个文件里面注册
(7)test
用来编写Unit Test测试用例的。对项目进行自动化测试的另一种方式
(8).gitignore
app模块内指定目录或文件排除在版本控制之外。
(9)app.iml
IntelliJ IDEA项目自动生成的文件
(10)bulid.gradle
app模块的gradle构建脚本
(11)proguard-rules.pro
指定项目代码的混淆规则。
在这里插入图片描述

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;