介绍下什么是android呢?

 

           Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

        2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。

       

特性

  • 应用程序框架 包含了一系列可复用的通用组件
  • Dalvik虚拟机 手机端优化的Java程序运行时环境
  • 集成浏览器 基于开源项目Webkit引擎
  • 流畅的图形画面 自定义的二位图形库;基于OpenGL ES 1.0规范(可选的硬件加速)的三维图形
  • SQLite 结构化的数据库
  • 多媒体支持 支持音频,视频和各种图片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM电话 传统的GSM网络通信能力(硬件相关)
  • 蓝牙,EDGE, 3G 和WiFi(硬件相关)
  • 摄像头,GPS定位,罗盘,加速度(硬件相关)
  • 多种开发环境 设备模拟器,调试工具,内存和性能调优,Eclipse IDE的插件

      我开始接触android的版本是Android 2.0,现在最新的版本是:Android 3.0。其特性:·优化针对平板、全新设计的UI增强网页浏览功能、n-app purchases功能等。

 

Android架构

 

应用程序

  Android以Java为编程语言,从接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止(stopped),甚至被系统清除(kill)。

  View等同于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。

      

        Android系统中已经装配一些核心的应用程序:邮件客户端,短信程序,日历,地图,浏览器,联系等,所有的应用程序是用Java语言编写的。

     看看本博客写的android手机下开发摄像头拍摄吧,用的就是拍摄的应用程序。

    

应用框架

通过提供了开放的开发平台,开发者可以在上面创造各种丰富的程序。

开发者拥有所有对框架接口的访问权限。

  • 丰富并且可扩展的视图 列表,网格,文本框,按钮,嵌入式浏览器
  • Content Providers 帮助应用程序访问其他程序的数据(例如联系人)或者共享自己的数据
  • A Resource Manager 帮助访问其他的资源,本地化字符串,图片,视图文件
  • A Notification Manager 帮助所有程序在状态栏中显示自定义的通知
  • An Activity Manager 管理应用程序的生命周期,并提供公用的历史后退导航栈

Android包含了一组C/C++的库,这些库是被各种各样的系统组件使用的。

  • 系统C库 标准的C系统库(libc)的BSD系的实现,应用于嵌入式Linux的设备
  • 媒体库 基于PacketVideo OpenCORE; 支持各种音视频格式的制作和播放
  • 皮肤管理器 管理系统和各种应用程序的显示
  • LibWebCore web浏览器引擎
  • SGL 底层的二维图形引擎
  • 三维库 基于OpenGL ES 1.0 接口的实现库;
  • FreeType 位图和适量字体渲染
  • SQLite 强大的轻量级的关系型数据库引擎

Android运行时

Androi包含了一组使用Java语言编写的核心库,它们提供了大部分功能。

每一个应用,系统都会提供单独的DVM虚拟机实例,运行在各自独立的进程中。

Dalvik VM虚拟机运行的是.dex格式的文件,这种文件已经根据最小化内存的原则进行过优化。

Java编译器首先将Java代码编译成.class字节码,然后dx工具将前面生成的.class文件编译成.dex文件。

Dalvik VM虚拟机运行在Linux内核上,由Linux内核提供了线程和底层级别的内存管理。

Linux内核

Android依赖在Linux 2.6版本,这个版本的内核提供了一些核心的系统服务,安全,内存管理,进程管理,网络协议栈,驱动模型。内核也充当着在硬件和软件之间的抽象层。

 

有个网站值得android开发者去学习哦。android学习指南

推荐几个网站多多了解下android吧。

1.android中文网

2.android微度网

3.中国手机开发者联盟

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值