初识Android
来源:互联网 发布:下载免费炒股软件 编辑:程序博客网 时间:2024/05/18 15:53
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
五、Android体系
1. Linux Kernel
- 说明:Linux内核,驱动
- 组成:
2. Libraries
- 说明:类库层,C/C++编写的访问驱动的原生组件
- 组成:
3. Android Runtime
- 说明:Android运行时
- 组成:
4. Application Framework
- 说明:应用框架层,Java写的API
- 组成:
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目录结构
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
- Manifest
八、小项目
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"/>
2 0
- 初识Android
- 初识Android
- 初识Android
- 初识android
- 初识Android
- 初识Android
- 初识 Android
- Android 初识
- 初识android
- 初识Android
- 初识Android
- 初识android
- 初识Android
- 初识Android
- 初识---Android
- Android初识
- 初识Android
- 初识Android
- CodeForces 377C/378E Captains Mode 状态压缩动态规划
- 取消图片渲染
- Android中项目中各个文件夹的含义和用途详解
- nginx--rewrite指令使用
- 左旋转字符串
- 初识Android
- hdu5592&bestcoder Round #65 1003题
- 扑克牌问题
- linux目录权限及目录配置
- 孩子们的游戏(圆圈中最后剩下的数)
- UIImagePickerController 本地照片
- 萌妹子的志向及leader的一些感悟
- Android中Dialog源码解析
- Unity3D 各个版本安装破解