第1章 Hello,World
作为一名开发者,我们学习一个平台的第一印象肯定都是写一个“Hello,World”。在Android上写一个“Hello,World”是很简单的,由于我们使用Eclipise IDE,它提供了ADT这么强大的插件,这样创建和管理一个项目就更简单了,可以大大缩短我们的时间。在开始之前,你应该确认你已经安装了SDK和ADT插件。本章会根据以下几个部分来讲述:
1. 安装一个平台(系统版本)
2. 创建一个Android虚拟机(AVD)
3. 创建一个项目
4. 构建一个用户界面
5. 执行代码
6. 升级界面为一个XML布局
7. 调试你的项目
1.1 安装一个平台(系统版本)
为了执行Hello World应用程序,你需要在你的SDK环境中安装至少一个Android平台版本。如果你已经安装了就可以跳过这一步,请注意根据你的实际情况下载最实用的平台版本,笔者自己下载的是1.6----2.1----2.2---2.3----3.0这五个版本的平台版本,请根据自己实际情况下载吧。如果你还没有下载过一个平台版本,在Eclpise请按照以下步骤执行:
1. 在Android SDK Manager 中,选择左边面板中的Available Packages
2. 在右边面板,展开Android Repository列表显示一些可用的安装组件
3. 至少选择一个平台安装,点击Install Selected
1.2 创建一个Android虚拟机(AVD)
我们在第一大篇的开发入门中已经讲过,如何使用和管理AVD。在本章中,我们将在Android模拟器中执行我们的应用程序。所以在你启动一个模拟器之前,必须先创建一个AVD。创建步骤如下:
1. 在Eclipse中,选择Window > AVD Manager
2. 在左边面板选择Virtual Devices
3. 点击New...
然后来到Create New AVD对话框
4. 输入虚拟机的名字,我自己的虚拟机都是使用系统版本命名,例如“AVD2.2.
5. 选择一个target(Android SDK系统版本例如2.3.3)。然后本章为了简单,后面的字段就省略掉了
6. 点击Create AVD.
1.3 创建一个新的Android项目
下面我们来创建一个新Android的项目,步骤如下:
1. 在Eclipse中, 选择File > New > Project...
如果你的ADT插件安装正确,那么应该会显示出如图1-1的界面

图1-1在Eclipse创建Android项目的截图
2. 选择"Android Project"然后点击Next
3. 按照以下步骤填写一些项目细节,如图1-2所示:
◆Project name:HelloAndroid
◆Build Target:根据你虚拟机创建的系统版本来选择对应的Application name:Hello, Android
◆Package name:com.example.helloandroid (包名)
◆Create Activity:HelloAndroid(主Activity名)

图1-2在Eclipse创建Android项目中填写相应的细节
这里我们讲以下Min SDK Version字段:当我们Build Target选择的是2.1(对应的API Level为7)时,这里应该填7或者低于7的版本,例如3或者4。切记不能填写高于7的。不然会有一些错误和隐患。我们的项目已经创建好了,然后我们在Eclipse左边的Package Explorer面板打开HelloAndroid.java文件,位于HelloAndroid > src > com.example.helloandroid。代码如下:
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
publicclassHelloAndroidextendsActivity{
/** Called when the activity is first created. */
@Override
publicvoid onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
代码清单1-1
注意我们的HelloAndroid是继承于Activity类的。一个Activity是一个单一的应用程序实体,用于执行动作。一个应用程序可能有许多个Activityies组成,但在某一时刻只有一个Acitvity与用户在交互。当你的Activity启动后,Android系统会调用onCreate()方法。你应该在这里执行一些初始化和UI设置的操作。一个Activity不需要有一个用户界面也能正确执行,但通常我们应该加一个基础的用户界面来显示一些东西,下面让我们来修改一些代码!
1.4 构建一个用户界面
同样在HelloAndroid 类中,改进了一下代码。下面的粗体就是我们新添加的。
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
代码清单1-2
一个Android用户界面是由Views的对象层次结构组成的。一个View是一个可绘制的对象,并当做一个UI布局元素,例如一个按钮,图片或者此处TextView(文本标签)。每一个UI元素的都是一个View,它们都直接或间接继承与View类。这里我们创建一个TextView对象,需要传一个Context实例对象。Context用于处理与系统相关的一些操作,例如解决资源调用,获得访问数据库的一些接口和首选项等。Activity 类继承自Context,所以这里可以直接传”this”。接下来我们需要使用setText()来设置文本的内容。最后我们需要通过setContextView()把TextView添加到我们当前的Activity界面中。如果你没有调用setContextView(),那么系统不会显示这个TextView,而是显示一个背景全黑的空白屏幕。
好的,”Hello,Android”的项目代码已经写好了,接下来我们需要执行它了。
1.5 执行应用程序
由于在Eclpise中有插件,我们执行它很容易,并且方法有很多种,这里我们可以在项目上点击鼠标右键->选择Run As->Anroid Application
Eclipse插件自动为您的项目创建一个新的运行配置文件,然后启动Android模拟器。根据您的环境,Android模拟器可能需要几分钟才能全面启动完毕,所以请耐心等待。当启动完毕后,Eclipse插件会安装应用程序,并启动默认的Activity。显示效果如图1-3所示:

图1-3在Eclipse中使用模拟器启动Hello,Android后的截图
在应用程序灰色栏中看到的“Hello,Android”实际上是应用程序的标题。创建项目时,Eclipse插件会自动创建res/values/strings.xml。然后再AndroidManifest.xml会引用strings.xml中的标题字段。标题下面的文字,才是我们在代码中写的TextView。虽然“Hello World”已经写完了,但是你可以继续阅读项目中其他有价值的信息。
1.6 升级界面为一个XML布局
在 "Hello, World" 例子中我们使用的是代码布局。如果你是位经验丰富的的UI程序员,你可能熟悉这种做法是非常脆弱的:布局中的微小变化可能导致大量代码的改动,并且很容易与之忘记相关的其他View,这会导致你的布局错误并且浪费大量时间在调试。因此Android提供了一种基于XML布局文件来代替用代码写布局的模式。下面让我们来举一个例子,跟上面的“代码清单1-2”一样的效果,我们不使用代码布局一个TextView,而使用以下的XML文件来代替:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello"/>
这是一个简单的Android XML布局文件结构:它是一个树节点,其中每个节点都是一个View。我们使用的元素都是继承自View类的,TextView是Android已经写好的一个View,当然我们也可以在代码自定义View。这种结构可以很容易的快速建立用户界面,比起代码布局,它使用更简单的结构和语法。在上面的XML布局文件中只有一个TextView节点,但这里用到了几个属性。如表格1-1所示:
属性
|
描述
|
xmlns:android
|
这是一个XML命名空间声明,告诉Android的工具,你会引用在Android命名空间中定义的共同属性。在每一个Android的布局文件的最外层标签必须有此属性。
|
android:id
|
该属性指定一个TextView元素的唯一标识符。您可以使用分配的ID从源代码中引用它。
|
android:layout_width
|
该属性定义了这个View需要占用的宽度,“fill_paren”表示占用父节点的全部宽度,这里的父节点即屏幕。
|
android:layout_height
|
和宽度类似,表示高度
|
android:text
|
这设置TextView中应显示的文字。在这个例子中,我们使用的是硬编码的字符串值,而不是引用的一个字符串资源。当然更好的做法是引用在res/strings.xml文件定义的hello字符串。因为这样符合国际化。这里为了简单起见我们暂用硬编码。
|
表格1-1XML中节点的属性
这些XML布局文件被放置在你工程的res/layout/目录下。”res”代表资源,该目录包含所有的非代码资源,除了布局文件夹,还包括图像,声音,本地化字符串等。
Android默认的布局方式是纵向布局,在多屏幕多分辨那章,笔者已经介绍过了,这里我们的xml是放入layout/下的,layout就是默认的纵向布局,如果你吧手机横向放置,android就会显示横向的布局,由于我们没有在layout-land下放入布局文件,所以它会直接的在纵向布局下拉伸,当然这里只是一个小提示,真正做好一个项目,这些细节是必须考虑的。这里为了简单起见,我们就让他拉伸吧。Eclipse插件在我们新建项目的时候就在res/layout/下创建了一个main.xml的布局文件。我们在“代码清单1-2”中是没有使用这个main.xml布局文件的。
现在让我们重新修改一下”代码清单1-2”,如“代码清单1-3”所示
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
代码清单1-3
我们放弃了,“代码清单1-2”中的代码生成View的方式,转而使用“代码清单1-3”XML布局文件,你会发现仅仅一行就搞定了,接下来让我们看看R类(俗称R文件)。在Eclipse中的项目中的gen/下找到我们的R.java。代码如下
package com.example.helloandroid;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class id {
public static final int textview=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
代码清单1-4
一个项目中的R文件都是用来保存所有资源的引用,代码中如果要引用资源文件就是使用R文件引用他们的ID。此文件请不需要修改,当你有资源复制到项目中时,他会自动生成资源的引用ID。
1.7 调试你的项目
当然调试是必不可少的,Eclipse中的Android插件与Eclipse的调试器良好的集成在一起。为了证明这一点,下面我们来看“代码清单1-5”
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Object o = null;
o.toString();
setContentView(R.layout.main);
}
}
代码清单1-5
在你的代码中引入一个空指针异常,然后你会在模拟器中看见如图1-4的效果。

图1-4Android设备中出现空指针异常
我们可以在Object o = null;这一行设置一个断点(双击旁边的代码行),然后右键选择Run - > Debug As - > Android Application。然后运行调试模式,并会在断点处停下来。然后进入调试界面,你可以鼠标悬停或者观察右上角中变量的值,如图1-5所示:

图1-5Android调试界面截图
分享到:
相关推荐
这个"Android开发从零开始课件源代码"的资源,旨在提供一个全面、系统的学习路径,帮助初学者逐步掌握Android应用开发的各项技能。下面我们将深入探讨其中可能涵盖的知识点。 1. **Android Studio入门**:作为...
【Android开发从零开始】是针对...通过这份【Android开发从零开始】的PPT,初学者可以系统地学习Android开发的各个环节,逐步掌握这一强大的移动开发平台。教程深入浅出,适合自学,是开启Android开发旅程的理想起点。
总之,《从零开始学Android编程》是一本全面而详实的教程,它不仅适合完全没有编程基础的读者,也对有一定经验的开发者提供了一条系统学习Android开发的路径。通过这本书,读者可以一步步构建起自己的Android开发...
在Android开发领域,从零开始的学习旅程是一次充满挑战与机遇的探索。Android是一种基于Linux内核的开源操作系统,主要用于移动设备,如智能手机和平板电脑。Android开发涉及到编写应用程序,这些程序可以在Android...
- 针对完全没有Android开发经验的新手,提供了从零开始的学习路径建议。 - 包括了必备的编程基础知识、Android开发工具介绍、如何选择合适的教程等实用信息。 #### 谈谈怎么最快学好Android - 分享了高效学习...
在数字化世界中,Android操作系统占据着移动设备市场的主导地位,因此学习Android开发成为许多技术爱好者和职业开发者的重要技能。本课程专为初学者设计,旨在帮助学员快速掌握Android应用开发的基本概念和技术,...
完成环境搭建后,继续深入学习Android开发的知识,如Activity、Intent、Fragment、Service等核心概念,以及Material Design设计指南。同时,不断通过实践项目提升自己的技能,例如模仿现有应用、参与开源项目或者...
【Android 游戏编程入门】 Android 游戏编程是一个涵盖广泛的主题...从简单的 HelloWorld 示例开始,逐步深入到复杂的动画、碰撞检测和地图设计,随着技能的提升,开发者可以创建出更加丰富和引人入胜的移动游戏体验。
Android开发者指南是一套详细的文档,旨在引导开发者从零开始学习Android开发。这份2012年6月的最新版可能包括以下几个部分: 1. **入门**:介绍如何设置开发环境,包括安装Android SDK、设置AVD(Android Virtual ...
书中通过丰富的实例和详细的解释,引导读者从零开始,逐步构建自己的第一个Android应用。源码是学习过程中不可或缺的部分,它能帮助读者直观地看到每个知识点在实际项目中的实现方式。 本书涵盖了许多重要的Android...
《Android系统原理与开发》是一本面向初学者的详尽指南,旨在深入解析Android开发的各个方面,帮助读者从零开始掌握这一广泛使用的移动操作系统。在深入探讨之前,我们需要理解几个核心概念:Android内核、系统架构...
- 介绍了一个一步步构建MNIST网络的样例,这有助于了解TensorRT如何从零开始构建一个网络。 6. 导入TensorFlow模型 - 提供了如何将TensorFlow训练好的模型导入到TensorRT并进行推理的样例。 7. 从ONNX开始 - ...
《Android开发指南中文版》是一本详尽介绍Android应用程序开发的综合教程,旨在帮助开发者从零基础开始,逐步掌握在Android平台上构建应用的所有关键技能。这本书涵盖了从安装开发环境到发布应用的全过程,深入浅出...
本文将深入解析如何从零开始搭建一个完整的Android开发环境,包括所需的关键工具及其安装过程,以及如何通过这些工具创建第一个Android应用程序——“Hello World”。 ### Android开发所需的基本工具 1. **JDK...
通过以上步骤,我们不仅完成了从零开始创建Android应用的过程,还深入了解了Android Studio中项目创建、界面设计、逻辑编写、运行调试等一系列开发流程。这对于初学者来说是一个非常好的起点,为后续更复杂的应用...
文章首先强调了作者从零开始的经验,并欢迎读者共同学习和指正。 在【环境搭建】部分,文章详细介绍了每个步骤: 1. **JDK安装**:提供了JDK的下载链接,并指导如何安装。设置了`JAVA_HOME`、`CLASSPATH`和`Path`...
本教程将涵盖以下几个核心知识点,帮助你从零开始踏入Android开发的大门。 1. **Android环境搭建**:首先,你需要安装Java Development Kit (JDK),它是Android开发的基础。然后,下载并安装Android Studio,这是一...
Android课程教材是一套全面介绍Android应用开发的教育资源,旨在帮助初学者从零开始掌握这个流行的移动平台开发技术。本教材涵盖了从基础知识到实际项目开发的全过程,尤其在环境配置方面提供了详细指导,确保学习者...