环境准备
Jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Eclipse:http://www.eclipse.org/downloads/
Android SDK:http://developer.android.com/sdk/index.html
ADT:eclipse>Help>InstallNew Software>ADT: https://dl-ssl.google.com/android/eclipse/site.xml
鉴于在线安装缓慢的情况可以选择离线安装ADT。URL:http://developer.android.com/sdk/adt_download.html 。下载完后,依次选择Help>SoftwareUpdate,弹出的窗口中Add>Add Repsitory:
1 Name 随便命名;
2 Location: 点击Archive…将打开本地文件选择框,选定离线zip包即可。
点击OK之后的步骤就和在线安装一样了。
注意:在安装ADT的过程中,总会出现不同的错误,缺少依赖包或是Eclipse版本不是最新等情况,得根据实际情况解决。参考:
创建AVD
本Android应用程序将会运行在Android仿真器上,因此,继续下一步的前提条件是你已经创建了一个AVD(Android Virtual Device)。
创建AVD的步骤如下:
1 Eclipse中,选择Windows>AVDManager
2 在弹出的面板Android VirtualDevice Manager右侧选择New按钮
3 出现Create new AndroidVirtual Device(AVD)对话框
4 输入AVD的name值。
5 选择一个target.这个target就是你所安装的AndroidSDK。
6 输入SD Card的储存大小
7点击创建完成。
8 点击右侧Start可以运行仿真器。
创建第一个Android工程HelloAndroid
创建好了你的AVD后,你就可以进行余下的步骤来创建你的第一Android工程。
1 在Eclipse中,选择File>New>Project…
如果在之前的环境准备中,你的ADT正确安装,那么就会弹出供你选择Android Project 的文件对话框。
2 选择“Android Project”,next
3 填充工程相关值:
Project name :HelloAndroid
Build Taret:选择与之前创建AVD时Target相同的JDK版本。
Application name:Hello,Android
Package name :com.example.helloandroid
Create Activity:HelloAndroid
点击Finish。
以下是相关值的详细描述:
Build Target
你需要运行工程的AndroidSDK依赖。值得注意的是此处选择target的时候不必需与AVD的Target版本号相同,保证版本等于或低于AVD的就行。例如,创建工程时选择的taret的版本号是2.1的工程可以在target为2.3.3的AVD下正常运行,反过来就不行了。
工程创建好后,打开HelloAndroid.java文件,代码如下:
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);
}
}
可以看到这个类继承了Activity类,一个Activity是应用程序的唯一入口,每个Activity有一个相应的动作。
R.java为应用程序中所需的资源列表,如:图像,字符串等各种资源,每个资源均以ID来区分。
重构UI
按如下代码对HelloAndroid.java进行修改。
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 text = new TextView(this);
text.setText("Hello,Android!");
this.setContentView(text);
}
}
Run
选择Run As >Android Aplication
显示如下:
UI布局升级到XML布局
刚才完成的小实例就叫做UI 布局。这种方式是将Ui代码直接创建在逻辑代码中,这样的做法显然是不利于应用程序的错误调试,得将UI代码与逻辑代码分离开来。这就是要引入XML布局的原因。
我们创建的第一个应用程序中有个基于XML的layout文件夹,其中的XML文件正式XML布局。下面就是一个XML layout文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
可以看出,代码中都是以View类的名字命名的节点。在XML layout中,你可以定义任何继承自View类的节点作为你的布局。
Debug模式
为了利用Debugger跟踪你的代码,修改HelloWorld.java的源码如下:
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();
this.setContentView(R.layout.main);
}
}
显然这段代码运行的时候将会产生空指针异常,运行结果如下:
为了找出错误,在Object o = null;这一行设置断点。依次选择Run>Debug History >Hello,Android进入debug模式。