您的位置:首页 > 移动开发 > Android开发

初识Android

2015-12-10 21:58 501 查看

Android概述

一、手机制式的发展

所谓的4G中的G指的是Generation,即移动通信技术世代。

1G 语音通话,模拟信号,无线电

2G (GSM\GPRS\EDGE)增加接收数据的功能,接收邮件和网页(wap),java程序(J2ME)

3G 无线通信技术结合互联网等多媒体通信

4G 集高速无线网络和有线网络WLAN一体的通讯网络

二、IT业的三大热点

云计算

通过Internet以服务的方式提供动态可伸缩的虚拟化的资源的计算模式

简单理解:个人资料都存储在云服务器上,所有操作的处理都是云服务器来处理的,个人计算机只需要能安装浏览器

瓶颈:网速、服务器性能、云计算(分析用户行为数据,使用大数据技术,hadoop分布式文件存储系统)

物联网

Internet of Things(IOT)物物相连的互联网

通过信息传感设备把物品和互联网连接,进行信息交换和通信的网络

移动互联网

结合移动通信和互联网

移动智能操作系统:Android 、IOS、Windows Phone、Blackberry等

三、Android历史

1. 安卓之父

Andy Rubin(安迪-鲁宾),Android平台创始人,Google移动平台副总裁。

2. 发展史

05年,Google收购了 Android inc.

07年,Google号召84家厂商组建开放手机联盟共同研发改良Android系统,SDK1.0预览版发布

08年,第一款Android手机G1(HTC代工)诞生,并通过Apache License开源

四. Android版本

1.版本发展

1.X版本 入门级,只适用手机

2.X版本 趋于成熟,只适用手机

3.X版本 支持平板

4.X版本 整合了平板和手机

5.X版本 支持64位CPU,默认使用ART运行模式

6.X版本 趋于成熟,电源管理优化,支持USB 3.0接口

2. Android Level

版本代号API Level
Android 1.5Cupcake(纸杯蛋糕)3
Android 1.6Donut(甜甜圈)4
Android 2.0/2.0.1/2.1(松饼)Eclair5、6、7
Android 2.2/2.2.1Froyo(酸冻奶)8、9
Android 2.3Gingerbread(姜饼)10
Android 3.0/3.1/3.2Honeycomb(蜂巢)11、12、13
Android 4.0/4.0.3Ice Cream Sandwich(冰激凌三明治)14、15
Android 4.1/4.2/4.3Jelly Bean(果冻豆)16、17、18
Android 4.4Kikat(奇巧巧克力)19
Android 5.0Lollipop (棒棒糖)20
Android 6.0Marshmallow(棉花糖)23

五、Android体系



1. Linux Kernel

说明:Linux内核,驱动

组成:

名称解释
Display Driver显示驱动
Camera Driver相机驱动
Flash Memory Driver闪存驱动
Keypad Driver键盘驱动
WiFi Driver无线网卡驱动
Audio Driver音频驱动
Power Management电源管理
Binder Driver绑定驱动

2. Libraries

说明:类库层,C/C++编写的访问驱动的原生组件

组成:

名称解释
OpenGL ES3D 渲染引擎
Surface Manager
SQLite数据库引擎
WebKit浏览器引擎
SGL(Skia Graphics Library)2D图像渲染引擎
OpenCORE多媒体引擎
SSL互联网安全协议

3. Android Runtime

说明:Android运行时

组成:

名称解释
Core LibrariesJava核心库
Dalvik Virtual MachineDVM,因为JVM不免费

4. Application Framework

说明:应用框架层,Java写的API

组成:

名称解释
Activity Manager应用管理器
Windows Manager桌面管理器
Content Providers内容提供者
View System视图系统
Package Manager包管理器
TelePhony Manager通讯管理器
Resource Manager资源管理器
Location Manager位置管理区
Notification Manger通知管理器

5 .Application

说明:应用层,基于Android平台开发的应用

组成:系统应用和第三方应用

六、JVM和DVM的区别

DVM,即Dalvik Virtual Machine,是安卓虚拟机

1. 代码执行

JVM

.java文件–>.class文件–>.jar文件(每个class文件都有一个常量池)

DVM

.java文件–>.class文件–>.dex文件(所有class文件拥有公共的常量池,减少IO操作)



2. 基于架构不同

Java

基于栈(内存上)

Android

基于寄存器(CPU上)

ART(Android Runtime)运行模式

4.4版本后出现的

在安装应用程序时,自动对应用程序进行预编译,不用在每次运行时转换代码

高效,省电,流畅但占内存

5.0后全面使用ART虚拟机

七、搭建开发环境

1. 工具

JDK+Eclipse+ADT+Android SDK

2. SDK目录结构

目录说明
add-ons谷歌的额外工具(Google Map API等)
build-tools项目构建工具 (dx.bat 构建dex文件,aapt.exe 构建apk文件)
docs参考文档(中文文档参考www.android-doc.com)
extras额外的工具,比如模拟器加速器,android版本的兼容jar包
plateforms平台,存储模拟器可使用的平台版本
plateforms-tools平台工具(adb在windows下调试安卓设备,sqlites在windows下查看安卓的数据库)
samples学习Android的官方例子
sources源代码
system-imagescpu镜像文件
temp临时文件
tools第三方工具(draw9patch.bat画图,emulator模拟器控制器,ddms)

3. 创建Android模拟器

略过

4. 创建Android项目

项目结构

src 编写java代码

gen

BuildConfit.java是否支持debug调试

R.java资源的索引文件

android.support.v7.appcompat向下兼容的支持库

assets 存放比较大的资源文件

bin 存放class文件、dex文件和apk文件

libs 使用的第三方jar包

res 存放资源文件,存放的文件会在R文件中注册ID

drawable 图片资源

layout 布局文件

menu 菜单资源文件

values 存放字符串、尺寸和样式的资源文件

dimens.xml尺寸

strings.xml字符串

styles.xml样式

project.properties 目标版本、兼容类库和开启代码混淆功能

proguard-project.txt 代码混淆工具

AndroidManifest.xml 清单文件,所有的Activity都要在上面注册

要在上面注册

Manifest

package:一个应用的唯一标识(应用的更新和覆盖)

versionCode:当前项目的版本,给Android系统看的,int值

versionName:当前项目的版本,给用户看的,String值

uses-sdk

minSdkVersion:最低运行的sdk版本

targetSdkVersion:目标sdk版本

application

icon:应用图标

label:应用名称

theme:应用主题

activity

八、小项目

1. 电话拨号器

核心代码

btnCall.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
String number = etPhone.getText().toString();
startActivity(new Intent().setAction(Intent.ACTION_CALL)
.setData(Uri.parse("tel:" + number)));

}
});


使用权限

<uses-permission android:name="android.permission.CALL_PHONE"/>


2. 短信发送器

核心代码

btnSend.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
String phone = etPhone.getText().toString();
String content = etContent.getText().toString();

SmsManager manager = SmsManager.getDefault();
manager.sendTextMessage(phone, null, content, null, null);

};
});


使用权限

<uses-permission android:name="android.permission.SEND_SMS"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 手机制式 4g