许可协议:creativecommons licenses
第一印象,作为一个开发人员,我们对一个新的开发框架的第一印象通常是看他的”Hello,World!”程序有多简单。在Android中,实现起来是非常简单的。
实现Hello World需要几个步骤:
- 创建项目
- 设计用户界面
- 运行程序:Hello,Android
以下几节讨论更加详细的内容
Let's jump in! 废话少说,马上开始。
创建项目
创建项目非常简单,Eclipse的插件使Adroid的开发变得异常轻松。首先你需要安装一个3.3或以上版本的eclipse(译注:其实3.2也是可以的),然后给Eclipse安装一个Android插件。安装好上面的内容后,我们就可以开始了。
首先,我们来一个总结来看看到底需要几步来完成我们的"Hello, World!"。
1. 通过Eclipse的 File > New > Project 菜单创建"Android Project"项目。
2. 在新Android 项目对话框中添加项目的详细信息
3. 修改自动生成代码模板来显示一些东西
上面3步已经足够了!接下来,让我们开始吧
1. 创建Android项目
在Eclipse中选择 File > New > Project 菜单项。如果你已经成功安装了Android 插件,你会在弹出的新项目对话框中看到一个叫做“Android”的条目,包含一个”Android Project”的项目
选中"Android Project",点击 Next进行入下一步。
2. 填写项目的相关信息
这个窗口里你需要填写一些项目的相关信息.请看图中的示例:
下面解释一下屏幕上的内容:
这是计算机中保存项目文件目录的名称。
这是和Java语言意义相同的包名(Package namespace)—你的源代码将属于这个包名。同时stub Activity也将据此生成。
你所给出的报名必须保证在你的应用中是唯一的;因为这个原因,包的命名遵循域名方式(domain-style)就显得非常重要了;在实例中我们使用"com.google.android"作为包名;你可以选择一个适合你自己的包名。
Android插件将根据这个名称来创建一个stub类。他是一个继承自Activity类的子类。Activity类似一个简单的可以运行和工作的类。它能够根据你的需要创建用户界面,当然了这不是必须的。
这是你应用程序的标题。
你可以通过选择"Use default location"这个复选框来项目文件的存储位置。
3.编辑自动生成的程序代码
Android插件执行完毕后将创建一个叫做HelloAndroid类,他的内容如下:
public class HelloAndroid extends Activity { /**在activity被创建后执行*/
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
创建用户界面
创建好项目以后,我们要做的是在屏幕上显示一点文字。下面是完成后的代码,我们将逐行分析它:
public class HelloAndroid extends Activity {/**在activity被创建后执行*/
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
在Android中,用户界面是由View来组成的。一个View就是一个drawable的对象,比如一个单选按钮,一个动画,或者(本例中)是一个文字标签。View子类型中用来显示文字 类是TextView。
下面演示如何构建一个TextView的实例
TextView tv = new TextView(this);
TextView构造函数中的参数类型是Context。Context类可以简单的理解为系统的句柄;他提供访问了诸如资源、数据库以及程序设置的服务。Activity类继承自Context。我们的HelloAndroid类继承自Activity类,他同时也继承了Context。正因为如此我们才能使用’this’这个参数来创建TextView。
上面我们已经创建了一个TextView,下面我们来让他显示些文字:
tv.setText("Hello, Android");
这里没有什么好说的。
我们已经创建了一个TextView并且告诉了他要显示什么,最后就是让他显示在屏幕上了,就像下面这样:
setContentView(tv);
setContentView()方法让系统知道哪个View是与Activity的界面有联系的。如果你的Activity没有执行这个方法,界面将什么都不会显示,系统只会显示空屏幕。我们的目的是要显示一些文字,所以我们在这个方法的参数中填上TextView。
这就是我们Android中的"Hello, World"了!接下来当然是看看如何运行它了。
运行程序:Hello, Android
Android提供的Eclipse插件使得运行我们的程序非常简单。选择Run > Open Run Dialog菜单;你会看到一个这样的对话框:
接下来,选中"Android Application"这一项。点击左上角按钮(文档图标上有个加号的那个)或者简单双击"Android Application"项。你会得到一个叫做"New_configuration" 新launcher。
选择一个更好的名字,比如"Hello, Android", 点击"Browse"按钮选择你的项目。(如果你现在打开了多个Android的项目,一定要确认你选择了正确的那个)。Android插件会自动的扫描你的项目来查找Activity 的子类,在"Activity:" 标签下面的下拉框中列出所有的选项。你的"Hello, Android" 只有一个,他将作为缺省的选项。
点击 "Apply" 按钮。示例如下:
大功告成!点击run按钮,Androi模拟器将运行。当模拟器启动完成你将看到你的程序。到这里我们就完成了。
这就是我们Android中 “Hello,World”。很简单吧,嗯?下面的章节我们会探讨一些比较深入的东西,对你学习Android肯定有所帮助。
通过XML Layout构造用户界面
你刚刚完成"Hello, World"时通过编程来创建用户界面的。也就是说你在你的程序代码中来创建界面。如果你以前做过很多的界面编程,你一定知道有个非常麻烦的事情:在一大段代码中找到并且修改一个小的界面变化是很头疼的。而且也容易忘记属性与视图之间的关系,从而导致错误,浪费大量的时间来调试代码。
这就是Android提供了一个替代创建用户界面的模式:基于XML的XML Layout文件。解释这个概念的最好方法就是创建一个例子。这个XML Layout文件实现了我们上面用程序代码实现的功能。
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Hello, Android"
/>
一般的Android XML Layout 文件 结构非常简单。它由树形的标记组成,每一个标记都是一个View类。在上面这个例子中只有一个元(element)-TextView。你可以在XML layout中使用任何一个继承自View的类,也包括你自己定义的类。这样简单的结构和语法使我们能够比使用代码更快的创建用户界面。它的灵感来自Web开发中用户界面与程序逻辑分开的模式。
这个例子中只有4个XML属性,下面列出含义:
android:layout_width
这个属性定义了使用宽度,磁力中使用最大可用宽度。
android:layout_height
同上,使用可用的屏幕高度
android:text
TextView显示的文字内容,这个例子中显示 "Hello, Android
这就是XML layout的内容,但是该将它放在那里呢?在项目的res/ 目录中。这个"res"是对"resources"的缩写,这个目录中存放项目中所有不是代码的资源或文件。包括:图片,本地字符串,XML layout文件。
Eclipse插件已经为我们创建了这些XML文件。在我们上面的例子中,我们根本没有使用过他们。在Package Explorer中展开res/layout,目录,修改其中的main.xml文件。使用上面的文本替换掉他的内容。现在从Package Explorer中的源代码文件夹中打开R.java文件,你将看到如下内容:
public final class R {
public static final class attr {
};
public static final class drawable {
public static final int icon=0x7f020000;
};
public static final class layout {
public static final int main=0x7f030000;
};
public static final class string {
public static final int app_name=0x7f040000;
};
}
项目中的R.java文件是对文件中所有定义资源的索引。可以用最简单的方式在代码中使用项目中定义的资源。利用Eclipse的代码提示功能可以更快找到需要的内容。
其中最重要的两个内部类就是"layou"和"main"。Eclipse插件会根据你在XML layout文件中更改自动生成R.java文件。当时你在项目中添加了其他资源后你会先R.java会马上发生变化。
最后一件事就是你要修改你的HelloAndroid 代码,让程序使用XML layout文件定义的界面而不是采用我们以前的硬编码方式。看看现在的代码,简单多了:
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
不要简单的拷贝粘贴来修改文件,试试R类的代码自动完成,这是你或许感觉到R类的作用了。
好,现在你已经完成了修改,让我们重新运行一下程序---你要做的就是点击以下有绿色箭头图标的Run按钮,或者选择Run>Run菜单来运行。你会看到和以前相同的结果。我们可以看出两种不同的布局方法结果是相同的。
我们只是对XML layouts有了个大概的了解,你需要阅读用户界面部分的完整文档来获取进一步的信息。
调试程序
Android的Eclipse的插件也能够完美的与Eclipse的调试器集成。为了证实这一点,我们来做一个简单的测试。将你HelloAndroid 程序的代码改成这样:
这段代码很明显将产生一个NullPointerException 异常。运行后你看到:
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Object o = null;
o.toString();
setContentView(R.layout.main);
}
}
为了找出错误,我们在"Object o = null;"这一行设置一个断点(你可以通过双击eclipse编辑器行号左边的空余部分来创建)。选择 Run > Debug菜单进入到调试模式。你的程序在模拟器中重新启动,但是这次程序会在运行到断点的地方停住。就行你在其他开发工具中那样,你可以在Eclipse的Debug Perspective中检查代码。
不使用eclipse创建项目
如果你不使用Eclipse(比如其他IDE或者是使用简单的文本编辑器和命令行工具),那么Android的Eclipse插件就帮不了你了。但是别太担心--你不会因为不使用Eclipse而失去某些功能。
Android 插件实际上只是对SDK里面的工具做了一下封装。因此可以使用其他工具来封装这些工具,比如'ant'来编译文件。(像emulator, aapt, adb, ddms这些工具都可以在文档中找到使用的方法)
Android SDK 同时包含了一个名称为"activityCreator.py"的Python的程序脚本,用来创建项目中的代码和目录,以及一个兼容'ant'的build.xml文件。这使得你可以通过命令行或者使之与其他的IDE工具集成。
例如,创建一个想刚才我们在eclipse中创建的HelloAndroid 项目,你可以使用这样的命令:
activityCreator.py --out HelloAndroid com.google.android.hello.HelloAndroid
为了编译这个项目,你必须使用ant命令。当命令成功完成后,你可以在'bin'目录中找到一个HelloAndroid.apk文件。这个.apt文件就是一个Android 包,你可以使用'adb'工具把它安装到模拟器中。
分享到:
相关推荐
在Android开发领域,"Hello, World!"程序是入门学习的经典示例。这个程序通常用于演示基本的编程概念和Android Studio的使用。以下是关于这个主题的详细知识点: 1. **Android平台**:Android是由Google领导的开放...
2. **源代码**:可能包括"HelloAndroid"项目的完整源代码,供学习者阅读和实践,了解Android应用的基本结构和生命周期。 3. **示例项目**:音频播放器等小项目的源码,展示如何在Android中处理媒体文件,使用...
《Hello, Android》第三版是一本专为Android开发者编写的经典教程,旨在帮助初学者以及有一定经验的程序员深入了解和掌握Android应用开发。这本书由Eldon Goldenberg撰写,以其清晰的讲解和丰富的示例闻名,是许多...
在本课程"Android应用开发基础到深入篇_Lesson2_开发环境搭建及HelloWorld1"中,我们将深入了解Android应用开发的起步阶段,包括如何搭建开发环境以及编写第一个"HelloWorld"程序。这不仅是每个Android开发者必备的...
**Android开发环境配置详解与HelloAndroid实践** 在进入Android应用开发的世界之前,首先需要搭建一套完整的开发环境。本文将基于Kevinb的分享,详细介绍如何从零开始配置Android开发环境,并通过“HelloAndroid”...
文档会详细讲解如何配置和使用Android Studio,包括项目创建、布局设计、调试技巧、性能优化等方面。同时,还会介绍Gradle构建系统、Android插件以及版本控制系统的集成。 四、实践教程 实践是检验理论的最好方式。...
Hello Android 应用程序解析 记事本教程 开发工具 应用程序模型 应用程序生命周期 开发应用程序 用户界面工具 组成部分 数据存储与取回 安全模型 资源与国际化设置 开发工具箱 设计哲学与理念 构建...
在这个文档中,会教你如何在Eclipse中新建一个Android项目,选择应用的最小API级别,设置项目名,以及编写Hello World程序。理解AndroidManifest.xml文件的作用,以及如何创建布局文件(如activity_main.xml)和主...
内容概要:本文档详述了如何利用Kotlin与Android Studio创建并部署一个简单的‘Hello, World!’移动应用程序。首先介绍了开发环境搭建的步骤,随后指导读者完成从创建新项目,到修改UI布局和Activity代码的整个流程...
1. **Android Studio集成开发环境**:作为Android开发的标准工具,Android Studio提供了代码编辑、调试、性能优化、版本控制和构建系统等全面功能。它基于IntelliJ IDEA,支持Gradle构建系统,使得项目管理和依赖...
Android帮助文档(第一部分)新手上路 1、安装SDK 1 下载SDK 1 系统和软件配置要求 1 安装SDK 2 Eclipse上开发Android应用程序 3 创建Android工程 4 运行和调试程序 4 利用其他的开发环境和工具开发Android应用程序 5...
总的来说,无论是在有代码还是无代码的情况下,Android调试都需要开发者对系统有深入的理解,熟练掌握各种调试工具和技巧。通过有效的调试,可以显著提高开发效率,优化应用性能,解决复杂问题。
【HelloAndroid开发资料】 在Android应用开发领域,"HelloAndroid"常常被用作初学者的第一个示例项目,它标志着开发者向Android世界的第一步。这个压缩包包含了一系列的资源,旨在帮助学习者掌握Android开发的基本...
2. **Android SDK**:Android Software Development Kit是开发Android应用的基础,包含了开发、调试和部署Android应用所需的工具、库和API文档。 3. **新建项目**:在Android Studio中,创建新项目时通常会选择...
5. **实验分析和总结**:学生在完成上述步骤后,需要分析整个实验过程,比如安装配置过程中遇到的问题及其解决办法,以及在编写和运行HelloAndroid程序时的体验。此外,还需总结实验过程,如设置AVD的过程、调试技巧...
- **Android SDK (Software Development Kit)**:包含了一系列的工具和文档,用于支持Android应用的开发和调试。 ##### 2. 下载ADT插件 - **ADT (Android Development Tools)**:这是Eclipse的一个插件,提供了对...
Basic4android 开发...本文档提供了从基础到高级的 Basic4android 开发教程,涵盖了从建立模拟器到编写第一个 Hello world 程序的整个过程。通过本文档,开发者可以快速上手 Basic4android 开发,并解决常见的问题。
这个压缩包包含了一个名为 "hello_android.pdf" 的PDF文件,很可能是一个详细的教程文档。 【描述】"hello_android 新手教程,讲的很细" 暗示了这个教程内容全面且深入浅出,适合那些对Android开发感兴趣的初学者。...