目录
(2)应用程序框架层(Application Framework)
2、JDK.Android SDK与Android Studio
一、Android 简介
1、智能手机操作系统
2、Android的发展历程
3、Android特点
(1)开放源代码
源代码全部放开是Android最大的特征,其所有源代码可以从Google的官网免费下载,这是以前手机操作系统所没有的。
(2)应用广泛
Android除了可以用于智能手机外,还可以用于PAD、智能电视、车载导航仪GPS、MP4及笔记本电脑硬件上,使用范围非常广泛。
(3)可扩展性强
广泛支持GSM、CDMA、3G和4G的语音和数据业务,提供了地图服务的强大的API函数,提供组件复用和内置程序替换的应用程序框架,提供基于Webkit的浏览器,广泛支持各种流行的音视频和图像格式,并为2D和3D图形图像处理提供专用的API函数。用户可以充分发挥想象力,创造自己的Android王国。
(4)硬件调用
内置重力感应器、加速度感应器及温度、湿度感应器等硬件传感器,另外GPS模块、WiFi模块也让更多的硬件调用更为方便。
(5)开发方便
Android应用程序使用Android Studio+Android SDK+JDK的开发环境,非常容易集成,开发和调试也更加方便,另外,由于NDK的支持,使旱对Java不熟悉的开发者也可以方便地使用C和C++语言开发应用程序。
4、Android应用领域
5、Android体系结构
Android是基于Linux内核的软件平台和操作系统,分为4层,从高层到低层为:应用程序层(Applications)、应用程序框架层(Application Framework)、系统运行库层、Linux内核层(Linux Kernel)
Android的体系结构图
(1)应用程序层(Applications)
提供一系列核心应用程序;
1、应用层包括桌面、联系人、电话、浏览器等,是Android自带的应用层软件,用来实现手机的基本功能。如常见的QQ、微信属于应用层,这些软件的安装和卸载可由用户决定。
2、所有应用层软件使用Java语言开发,大部分开发工作属于应用层开发。
(2)应用程序框架层(Application Framework)
提供了平台基本管理功能和组建重用机制;
1、为应用程序开发提供所需要的类,即API(Application Programming Interface应用程序编程接口)。开发应用层软件需调用Android提供的API,如常用的百度地图Android开发,则需调用应用框架层的位置管理器(Location Manager)中的API。
2、这一层包括:活动管理器(Activity Manager)、内容提供者(Content Providers)、通知管理器(Notification Manager)、资源管理器(Resource Manager)、定位管理器(Location)、电话语音模块(Telephony Manager)、显示框架(View System)等。
(3)系统运行库层
1、该层包括函数库(Libraries)和Android运行环境(Android Runtime)。
2、函数库包含一个C/C++集合,供Android系统的各个组件使用。它们通过Android的应用程序框架提供给开发者,包括标准C系统库(libc)、媒体库、界面管理库、图形库、数据库引擎、字体库等。
3、Android运行时库包含一个核心库(Core Libraries)和虚拟机。核心库提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在它们自己的进程中。
(4)Linux内核层(Linux Kernel)
提供底层基础功能。
1、内核层位于最底层,主要提供与硬件相关的驱动,如显示驱动、USB驱动、蓝牙驱动等。驱动是计算机和硬件通信的特殊程序,相当于硬件的接口,操作系统通过硬件的接口才能控制设备的工作。
2、如果只是做应用开发,则不需要深入了解Linux内核层
二、Android Studio开发环境
1、Android Studio概要
2、JDK.Android SDK与Android Studio
3、搭建Android开发环境
三、第一个Android Studio工程
1、创建工程
2、工程相关设置
3、编译工程
4、运行APP
5、注意事项
(1)创建项目时,Android Studio可能会下载必要的工具来辅助,因此需要联网。
(2)事实上,找一台Android手机或者PAD调试Android程序效率较高,毕竟物理设备
的运行速度是模拟器无法比拟的。开启Android设备的USB调试功能,通过USB连接到计
算机后,便可以用其调试Android应用了。
四、Android四大组件
Android应用程序由组件构成,它们是可以相互调用、相互协调、相互独立的基本功能模块。
Android 系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)和内容提供器(Content Provider)。
活动(Activity)相当于界面管理,主要功能为保持各界面的状态和参数,妥善管理生命周期以及实现界面跳转逻辑;
服务(Service)是指在后台完成用户指定操作的程序;
广播接收器(BroadcastReceiver)可以用于对外部消息进行过滤,只对感兴趣的消息进行接收并做出响应,如电话呼入或者短信接收等;
内容提供器(Content Provider)主要用于多个应用程序之间共享数据,能够获取和保存数据,并使其对所有应用程序可见。
1、活动(Activity)
在使用Android手机时,无论时拨打电话、发送短信、浏览照片,还是运行其他应用,用户都会看到不同的界面。这些界面以及在界面中完成的各种操作,都通过活动完成。
活动是Android的一个核心应用组件,主要用于实现应用功能逻辑,并通过界面显示数据或接收用户输入。是程序的呈现层,显示可视化的用户界面,接收与用户交互所产生的界面事件,与“窗体”的概念非常相似。
一个Activity代表一个单独的屏幕,在其上可以添加多个用户界面控件,如Button、TextView、EditView等,这些控件组成了和用户交互时的丰富用户界面。
Activity在界面上一般表现为全屏幕窗体,也可以是非全屏的悬浮窗体或对话框
从开发人员角度看,活动完成应用程序功能逻辑,它通过布局与用户交互,可以在活动中向另一个活动传递数据,也可以接受另一个活动返回的数据。
用户从一个屏幕切换到另一个屏幕的过程也是一个Activity切换到另一个Activity的过程。
Android应用程序可以包含一个或多个Activity,一般程序启动后会呈现一个Activity,用于提示用户程序已启动。包含多个活动的应用,需要为其指定一个“主”活动,即启动应用时首先打开的
活动。
Android Studio自动在清单文件AndroidManifest.xml中声明活动。
2、服务(Service)
服务(Service)是一种后台运行的代码组件。类似Windows系统中Windows Service,没有用户界面,长时间在后台运行,生命周期长的组件。例如,媒体播放器程序,它可以在转到后台运行的时候仍能保持播放歌曲,又或者文件下载程序,可以在后台执行文件的下载等。
手机邮箱应该有很多Activity。例如,登录邮箱后会看到收件箱界面,点击某个邮件后切换到邮件阅读界面。然而,当想要浏览其它网贞时,手机邮箱就通过启动一个Service,从而使邮箱在后台运行,虽然没有界面,但它并没有退出程序,当有新的邮件发过来时,可以给用户消息提示,并回到邮箱界面,这就是用Service保证用户界面关闭后,仍然能收到消息。
3、广播接收器(BroadcastReceiver)
用来接收并响应广播消息的组件,与Service一样没有界面,唯一的作用是接收并响应消息。
它通过启动Activity或者Notification通知用户接收到消息(Notification能够通过多种方式提示用户,包括闪动背景灯、振动设备、发出声音,或者在状态栏上放置一个持久的图标等)
大多数时候,广播消息由系统发出,如电池的电量不足、未接电话、收到短信等。此外,应用程序也可以发送广播消息,例如上面的手机邮箱中当有新邮件发过来时给用户以提示就是通过BroadcastReceiver来完成的。
一个应用程序可以有多个广播接收者,所有的广播接收者类都要继承android.content. BroadcastReceiver类。
4、内容提供器(Content Provider)
Android系统提供的一种标准的共享数据机制,应用程序通过它访问其它应用程序的
私有数据。私有数据可以是存储在文件系统中的文件,也可以是SQLite中的数据库。
Android系统内部也提供一些内置的ContentProvider,能够为应用程序提供重要的
数据信息,如联系人信息和通话记录等。
ContentProvider为存储和读取数据提供了统一的接口,使得其它程序能够保存和读
取ContentProvider提供的各种数据,包括音频、视频、图片及私人通讯录等。
由于ContentProvider已经实现数据的封装和处理,外界无需知道数据存储细节,只需通过ContentProvider标准接口和它们打交道就可以了,包括数据的读取、删除、插入等操作,这样,使用ContentProvider,应用程序可以实现数据的共享。