Android课堂笔记(一)——概念、环境、创建

目录

1.Android 背景与现况

2.Android 系统结构

3.Android 平台架构

4.Android 开发及术语解析

5.移动应用分类

6.移动平台分类

7.Android 四大组件

8.XML可扩展标记语言

9.MyFirstApp


1.Android 背景与现况

  • Android 系统的命名都是以 点心 来命名
  • 系统版本众多,必须面对的 Android 的"碎片化"问题:
  1. 系统碎片化:开发 App 时要做到低版本兼容
  2. 屏幕碎片化:市面上各种各样屏幕尺寸的手机,还有Android平板,开发时要处理屏幕适配问题

2.Android 系统结构

  1. 应用框架支持 组件的重用与替换(app 发布时遵守了框架的约定,其他 app 也可以使用该模块)
  2. Dalvik虚拟机:安卓字节码在 DVM(移动应用特有的虚拟机) 运行时进行解析,集成的浏览器:WebKit
  3. SQLite:结构化的数据存储
  4. 优化的图形库:多媒体支持、GSM电话技术、蓝牙等
  5. 采用 软件叠层 方式构建

3.Android 平台架构

  • Androidå¹³å°æ¶æå¾
  • 架构图组成介绍:
  1. Application(应用层) :应用层的开发,包括系统内置应用程序,使用 Java语言
  2. Application Framework(应用框架层) :系统内置、自己编写的App需要用这层【比如来电黑名单,自动挂断,需要用到电话管理(TelephoneManager) 通过该层可以实现挂断操作,而不需要关心底层实现】
  3. Libraries(库文件) :Android 提供了一组 C/C++库,为平台的不同组件所使用,比如媒体框架
  4. Android Runtime(Android运行时):由 Android核心库集 + Dalvik虚拟机构成
  5. Linux内核:涉及底层驱动、系统服务,比如安全性,内存管理以及进程管理等
  • Dalvik虚拟机是针对移动设备的虚拟机,特点如下:
  1. 不需要很快的 CPU计算速度和大量的内存空间
  2. 每个App都单独地运行在单独的Dalvik虚拟机内,即每个app对应一条 Dalvik进程
  • 运行流程: Dalvik的运行流程

4.Android 开发及术语解析

  • 主流 Android开发环境有:
  1. Eclipse + ADT + SDK (谷歌不再更新)
  2. Android Studio + SDK(过渡方向) 
  • 术语解析:
  1. Dalvik(DVM): Android 特有的虚拟机,Android 字节代码由 DVM运行解析
  2. AVD:Android 虚拟机
  3. ADT:安卓开发工具,链接 IDE 和 SDK的桥梁
  4. SDK:软件开发工具包,包括库文件和其他开发工具
  5. DDMS:Android 调试工具
  6. ADB:Android 调试桥,在 SDK文件夹的 platform-tools目录下,命令行操作
  7. DX工具:将.class 转换成 .dex文件
  8. AAPT:安卓资源打包工具
  9. R.java文件:资源字典,由 AAPT工具 根据 app中的资源文件 自动生成
  10. AndroidManifest.xml:系统配置文件,app包名 + 组件声明 + 程序兼容的最低版本 + 所需权限等程序配置
  • DVM 和 JVM 区别:
  • Java :.java文件 -> .class文件 -> .jar文件
  • JVM基于栈,编译运行慢;执行.class格式字节码;所有应用都运行在同一个JVM,即一个实例
  • Android :.java文件 –> .class文件 -> .dex文件
  • DVM基于寄存器,编译运行快;执行.dex格式字节码(压缩.class文件);单个应用单独虚拟机,即单独进程
  • Android项目目录:src(主活动文件), gen, bin, res(布局文件). Androidmanifest.xml(系统配置文件)

5.移动应用分类

  • 多媒体应用:视频/音频播放器,图形/图像查看工具等
  • 实用工具:联系人管理工具、任务管理器、通话管理器等
  • 基于 Web的应用:搜索工具、即时通讯等
  • 企业应用:Microsoft office Mobile、ThinkFree

6.移动平台分类

  1. ➢ 厂商开发的私有平台:例如: ✓ iOS    apple          ✓ 黑莓 (BlackBerry)    RIM
  2. ➢ 第三方私有平台:例如 Windows Mobile、Microsoft
  3. ➢ 免费和开源平台:例如: ✓ Android    google           ✓ Symbian    Nokia
  • 主流平台介绍:
  1. Ios:苹果公司私有平台,它与底层硬件紧密捆绑.,开发者支持面有限,不开源、可伸缩性低
  1. Android:Google所有,属于开放手机联盟 (83家科技移动组织联盟),开源、可伸缩性高,基于 Linux操作系统、以 java为基础、操作系统分化、硬件效率低

  • SDK 和 IDE 区别:
  1. SDK:能够进行开发的环境,软件开发工具包,可以通过 添加插件 进而 添加其他功能
  2. IDE:将想要的插件 安装在 SDK上的环境 称为IDE
  • 如:Symbian 开发环境由 Qt Creator 和 Qt SDK 组成
  • Android 开发环境需要 Android 开发工具 (ADT),是 Eclipse插件
  • Ios XCode IDE ,XCode工具 Instruments 用于分析代码性能剖析整个系统

7.Android 四大组件

  • Android 应用由 四大组件构建块(简称组件)构建的:
  1. 活动 activity:一个活动 = 一个屏幕窗口,活动之间通过 Intent 通信,活动必须在 AndroidMainfest.xml 声明
  2. 服务 service:不提供任何界面,始终 后台运行,用户不能干预
  3. 内容提供者 content provider:若允许应用查询、修改、访问、共享数据,则应用必须从内容提供者获取权限
  4. 广播接收器 broadcast receiver:不提供 UI,可创建状态栏通知,当出现广播事件时提醒用户
  • View -- 表现层----服务层---持久层---数据库
  • 活动----服务---内容提供者—数据库—广播接收器

8.XML可扩展标记语言

  • 为了 存储数据 和 跨平台交换数据,XML 以层次结构方式 描述数据结构,如下图所示
  • XML可扩展标记语言示例:
  • 选择不同版本的安卓SDK文档学习步骤:ADT→ sdk文件夹→ index.html→ Develop→ Reference

9.MyFirstApp

  • 新建项目:
  • 工作集:
  • 虚拟机:
  • 让 app在不同的虚拟机上运行1:
  • 让 app在不同的虚拟机上运行2:
发布了29 篇原创文章 · 获赞 21 · 访问量 1669

猜你喜欢

转载自blog.csdn.net/Lyrelion/article/details/104509925