Android编程入门

来源:互联网 发布:pad版软件助手 编辑:程序博客网 时间:2024/05/29 13:45

Android简介

       Android一词本意是指“机器人”,现在大家都知道它是Google推出的开源手机操作系统。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。

       Android手机操作系统最大的优势在于其开放性和服务免费,开发人员在此平台上开发应用程序时能够更加自由,与其他同类操作系统相比,可以避免一些不必要的约束,而且开发人员可以免费获取Android操作系统;在商业领域里,这种做法可以大大减少商业开发的成本,这就是Android在市场上越来越受欢迎的原因。

  • Android特点

    1. 开放性。Google开发的Android拥有开放手机联盟的强大支持,Google通过与各方结成深度合作关系,希望建立起一个标准化、开放式的手机平台。
    2. 应用程序无界限。Android上开发的应用程序可以利用其自带标准API,简化开发过程。通过互联网,应用程序可以声明它的功能可供其他应用程序使用。
    3. 应用程序是在平等的条件下创建的。移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。
    4. 应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入HTML、JavaScript和样式表,还可以通过WebView显示网络内容。
    5. 应用程序可以并行运行。Android是一个完整的多任务环境,应用程序可以在其中并行运行。后台运行时应用程序可以生成通知以引起注意。
  •  Android的程序结构

           Android应用程序由四个模块组成,分别是ActivityContent ProviderIntentService,前两者是可见的视图,后两者是不可见的视图,它们位于系统后台。

  1. Activity:在应用程序中,Activity是最基本的模块,为用户提供一个可视化的界面,一个Android程序通常由多个Activity组成,一个Activity一般就是一个单独的屏幕,当一个程序需要打开一个新屏幕时,前一个屏幕将会暂停,并保存到历史堆栈中。
  2. Intent:Intent的主要作用是实现Activity与Activity之间的切换。Intent的描述结构有两个重要部分:动作和动作对应的数据。通过解析Intent,我们可以轻易地从一个屏幕转换到另一个屏幕。
  3. Content Provider:Content Provider的主要作用是提供一个保存数据的容器,使之可以保存在文件或数据库中,当一个程序希望获取另一个程序的数据时,Content Provider就可以达到数据共享的效果。
  4. Service:Service是运行在后台而且没有界面的一种服务程序,例如在用户播放音乐的同时希望做其他工作,屏幕转换到其他界面,音乐的播放没有相应的界面,系统会启动一个Service,从而可以在后台保持音乐的播放。


基本文件结构

在导航器中展开之前建立的HelloWorld项目,分析其项目目录结构,对Android项目进一步地深入了解。

  • 与一般Java项目一样的文件夹
  1. src文件夹是项目的所有包及源文件(.java)
  2. res文件夹中包含了项目中的所有资源,包括程序图标(drawable)、布局文件(layout)、常量(values)等
  • Android项目特有的文件夹
  1. gen文件夹是建立项目时自动生成的,这个文件是只读文件,不能更改。R.java文件定义了该项目所有资源的索引文件,里面定义很多常量,这些常量的名字都与res文件夹的文件名相同。当在项目加入了新的资源时,只需要刷新一下该项目,R.java文件便自动生成了所有资源的索引。
  2. AndroidManfest.xml文件包含了该项目中所使用的Activity、Service、Receiver。下表将仔细分析此文件。

    说明

    manifest

    根节点,描述 package中所有的内容

    xmlns: android

    包含命名空间的声名  xmlns:android= http://schemas.android.com/apk/res/android ,  使得Android中的各种标准属性能在文件中使用,提供了大部分元素的数据。

    Package

    声明应用程序包

    application

    包含package中 application 级别组件声明的根节点。此元素也可包括application 的一些全局和默认的属性

    android:icon

    应用程序的图标

    android:label

    应用程序名字

    activity

    用来与用户交互的主要工具。Activity 是用户打开一个应用程序的初始页面,大部分被使用到的其他页面也都由不同的 Activity所实现,并声明在另外的Activity标记中。注意每个 Activity 必须有一个对应的<Activity>标记对应,无论它给外部使用还是只用于自己的  package中

    android: name

    应用程序默认启动的Activity

    action

    组件支持的Intent action

    intent-filter

    声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。除了能在此元素下指定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签、icon和其他信息。

    category

    组件支持的Intent CateGory. 这里指定了应用程序默认启动的Activity

    uses-sdk

    该应用程序所使用的sdk版本