Android智能手机编程CNU--1.概述
Android智能手机编程CNU–Android入门介绍
目录
1. 智能手机的演变
智能手机的演变
- 第一代手机:大哥大
- 第二代手机:功能机,短信、电话、简单的商务娱乐
- 第三代手机:智能手机,拥有个人电脑的强大功能,GPS导航、高清摄像头的影音分享、强大丰富的第三方应用市场。代表:2007年苹果公司IPhone产品。
智能手机的演变趋势
- 价格: 越来越便宜
- 性能:越来越强大
- 功能:结合功能手机和电脑、PDA1、GPS等
- 手机终端娱乐化和商务化
2. Android操作系统的优势
- 开源,免费,允许定制
- Google公司支持,升级频率快
- 众多厂商参与,性价比高,新手机更新快
- 拥有最大的用户群体,满足不同人群需求
- 基于Java开发语言,应用开发门槛低
- 应用开发前景广阔
3. Android系统架构
- 应用程序(Application)
- 和用户交互的应用,如桌面(Home)、联系人(Contacts)、浏览器(Browsers)
- 应用开发者做的工作就在应用层
- 应用程序框架(Application Framework)
- 为开发者提供了调用Android基本功能和手机硬件系统的应用程序结构(API2),系统提供的开箱即用的应用界面组件。
- 本地框架类库(Libraries)和Java在Android上的运行环境
- 基于Linux内核开发的涉及底层的基础功能(活动管理器等)
- 运行Android应用的Dalvik虚拟运行环境
- Linux内核和驱动
- 涉及到硬件相关的底层服务,基于Linux内核的核心系统功能
- 安全性、内存管理、进程管理、网络堆栈、硬件驱动程序管理
4. Android的四个重要组件
- Android的Activity(活动)
- Activity展示为可视化用户界面,提供程序与用户交互的窗口
- 一个Activity占据当前的窗口,响应所有窗口事件,具备控件、菜单等界面元素
- 为保持各界面状态,Activity需要保存数据和调用系统功能、管理生命周期和实现界面跳转逻辑等
- 对开发者而言,一般创建Activity的子类,在其基础上定义界面布局、添加业务逻辑等
- Android的Service(服务)
- 运行在后台的一个组件
- 封装有完整的功能逻辑实现,像没有界面的Activity
- 一般用于执行长时间运行的操作,且不需要不提供用户界面操作,如后台下载,后台播放音乐等
- 通过Intent3与其他组件进行通信
- 支持同步和异步的消息机制
- Android的BroadCastReceiver(广播接收器)
- 无界面,广播接受者不执行逻辑操作,一般都是启动/发送消息给其它组件,由它们完成复杂逻辑
- 组件对其感兴趣的事件进行注册,事件发生时,通过BroadCastReceiver机制接收消息
- Android的Content Provider(内容提供者)
- 在Android中作为应用程序之间共享数据的系统机制
- 每个Android应用独立运行,通过它储存并检索数据并向其他应用程序提供访问数据的接口
- Android系统提供诸多功能的Content Provider,比如:音频、视频、通讯录等
5. Android面临的挑战
- 不同厂商Android手机差异较大,缺乏统一用户体验和客户认知度
- 频繁兼容升级带来的接口性问题
- Android手机屏幕和硬件配置繁杂,导致应用的开发成本和测试成本偏高
- Android自身版本的分裂