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内核的核心系统功能
    • 安全性、内存管理、进程管理、网络堆栈、硬件驱动程序管理

Android智能手机编程CNU--1.概述

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自身版本的分裂

  1. Personal Digital Assistant,又称为掌上电脑,可以帮助我们完成在移动中工作,学习,娱乐等。按使用来分类,分为工业级PDA和消费品PDA。工业级PDA主要应用在工业领域,常见的有条码扫描器、RFID读写器、POS机等都可以称作PDA;消费品PDA包括的比较多,智能手机、平板电脑、手持的游戏机等。 ↩︎

  2. Application Programming Interface,应用程序接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 ↩︎

  3. 负责在不同组件之间传递消息,包括具体请求信息的对象,是在系统中协助完成应用间相互调用与通信的一种机制 ↩︎