John Jiang

a cup of Java, cheers!
https://github.com/johnshajiang/blog

   :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  131 随笔 :: 1 文章 :: 530 评论 :: 0 Trackbacks
Android 101 -- 基础
这是JavaLobby中Android 101系列博文中的第一篇,介绍了Android开发的基本概念。对于我这个Android门外汉来说,至少学习到了一点儿新知识,希望大家也能如此。(2010.10.07最后更新)

    在当前的软件开发世界中,编写移动应用已变得非常流行了。对开发框架的选择还不太多,可用的智能手机的数量也有限。尽管编写运行在iOS上的应用十分流行,但Android已经获得了Java开发者们的关注。在之后的若干篇文章中,我将采取一些步骤帮助你入门Android开发。但在我们开始编码之前,让我们先看看Android开发的一些核心原理。

什么是Android?
下面这张来自于在线的开发者手册的图片展示了Android操作系统的架构:

Android构建在Linux内核之上,Linux内核会管理典型的操作系统服务。Android运行时环境基于Dalvik虚拟机(目前Oracle 正给予许多关注的东西)。Dalvik是Java虚拟机的一个瘦身后的变种,它基于Apache Harmony的Java实现。不提供JavaME,Swing或AWT组件;相反地,Android提供它自己的组件库。
    还有一些由C/C++编写的本地类库。Surface Manager处理针对展现子系统的访问,而媒体类库提供了针对最流行音频和视频格式的播放功能。
    应用框架是大部分开发者所感兴趣的,它提供了创建合格Android移动应用所需的API和服务。

Android核心概念
如前所述,应用框架拥有开发者创建应用程序所需的一切。下面是主要概念的纲要:
活动
一个活动是一个用户界面屏幕。一个应用程序在应用的执行过程中可以有一个或多个活动。你所创建的每一个活动可以拥有一个它自己的窗口以进行图形绘制。
服务
服务作为后台任务运行,它没有可视化的表现形式。与活动一样,服务运行在主应用进程线程中,但服务常会派生出其它的线程来执行任务,而不会影响其它应用的运行。服务的典型例子就是音乐播放器,当它在播放列表中的歌时,你的手机还可以做其它事情。
内容提供器
内容提供器是一个客户化API,它允许读写特定的数据集。它就允许不同的应用彼此之间共享数据。内容提供器都是ContentProvider基类的子类,ContentProvider提供一个访问数据的标准接口。应用程序不能直接调用ContentProvider的实现,转而要使用 ContentResolver对象,该对象可以访问任何ContentProvider实现。
Intent
Intent是一个特定的活动,例如发送电子信件,播放歌曲,或发起一次联系。
资源
Android应用拼图中的最后一块就是资源--应用程序需要访问或展示的图片,文本或非编码的信息。

活动生命周期
下图展示了一个活动在其生命周期中的不同状态:

当你不能控制状态间的转换时,你可以通过onX()方法,像onStart(),onResume()等等,来获知状态的改变。你可以重写这些方法以使应用程序能恰当地对这些状态作出反应。

下一步
现在你已对Android应用是如何组成的有了更好的理解,这为开始真正的开发作好了准备。下一篇文章将带你看看系统设置。

posted on 2010-10-07 21:25 John Jiang 阅读(1950) 评论(0)  编辑  收藏 所属分类: 翻译MobileAndroid

只有注册用户登录后才能发表评论。


网站导航: