Android 开发手记

本文参加暑期大学生博客分享大赛-2010 Android篇(分享Android应用开发经验)

一、在Windows下建立Android开发环境变量配置

1.1   JDK的配置

首先下载jdk,注意是jdk而不是jre,因为jre是提供java运行环境而不是开发环境.下载后安装到某目录,例如我是D:/Program Files/Java/jdk1.6.0_19

右击我的电脑->属性->高级,点击下面的环境变量

在下面的系统变量处选择新建

在变量名处输入JAVA_HOME,变量值中输入刚才的目录,比如我的就是D:/Program Files/Java/jdk1.6.0_19,

确定后再新建一个变量名为classpath,变量值为.;%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/tools.jar”

确定后找到PATH的变量,双击或点击编辑,在变量值最前面加上”;%JAVA_HOME%/bin;”

确定、确定、确定后即可!

然后开始 - 运行cmd,输入java或者javac看看有没有效果,

如果出来一大堆东东,那就ok,如果出现类似xxx不是内部或外部命令之类的那就说明设置有问题,看看那里出问题啦.

1.2 Android SDK的配置

因为我们要开发的android应用程序,所以下的sdkGoogle那里下载,地址在http://developer.android.com/sdk/1.5_r3/index.html 以后更新后估计地址会变,所以大家可以从http://developer.android.com/index.html进入android主页,然后点击sdk就到了这个下载页面,我是Windows 2003 Server,当然下载了第一个Windows的版本.下载后解压到一个目录,如我的是D:/SDK/Android_SD_For_Windows然后同样要设置环境变量,JDK设置,新建一个Android_HOME,值为D:/SDK/Android_SDK_For_Windows,

然后找到path,在前面加上”%Android_HOME%/tools; “OK.

jdk一样,我们也可以测试一下环境变量是否设置成功,cmd窗口中输入aidl,

出现一堆东西,OK完成.

 

1.3.1 eclipse下载安装

eclipse官方下载最新版本,

http://www.eclipse.org/downloads/

大家可以自己选择下载,下载后解压即可运行.

 

下载EclipseAndroid ADT插件

许多教程在这一步都是通过Eclipse自身的update功能进行下载:

启动Eclipse,选择【Help > Install New Software

点击【Add,添加update站点:https://dl-ssl.google.com/android/eclipse/

Ok,

点击【Install…】按键即可下载。

安装成功会有Android SDK and AVD Manager出现!

找到Preferences设置SDK路径

然后选择Android SDK and AVD Manager

打开选择Available Packages

单击Install Selected

选择Accept All,单击Install.

Eclipse已经配好!

1.3.2Eclipse汉化方法

大部分人一直在使用英文版,3.3以前版本的语言包在Eclipse官网中都有提供,3.3以后,其汉化工作交给了Eclipse 宝贝项目来做, babel.官方描述为:Eclipse is a global community. It is in everyone's interest to ensure that Eclipse is available and translated in as many locales as possible.其地址是:https://babel.eclipse.org/babel/ .但这一看根本找不到语言包的下载,其实他的汉化是通过Eclipse的自动升级来完成的,下面简要介绍汉化过程.

一、Eclipse启动后依次点击菜单        Help > Install New Software,在出现的Install/Update对话框中选择‘Search for new features to Install’后点击Next.

二、在出现的Install对话框中的右侧,选择New Remote Site按钮,

弹出如下图对话框,

Name处随意取个名字,URL处填写http://download.eclipse.org/technology/babel/update-site/europa其实是一个XML文件.

单击Finish

三、在接下来的Update对话框中选择要现在的语言

Babel Language Packs in Chinese (Simplified)

四、点击Next之后

选择Babel Language Pack for eclipse in Chinese (Simplified)并同意协议,单击Next.

选择路径,单击Finish.

出现Update Manager对话框,等待下载完成.

 

1.4 Android开发环境配置最终步骤……

为什么要有这个步骤,是因为我跑example的时候总出现”Failed to find an AVD compatible with target”,所以这里写一下该步骤以提醒大家.

avd必须在运行实例前创建好,可以直接在cmd中输入 android list,会列出可以创建avd的几个api,我这里有id1 id2 id3 分别对应sdk1.1 sdk1.5 GoogleAPIs.

然后大家运行android create --name myname(自己取个,英文的呃) --target 3(如果要用sdk1.5就输入2,1.1就用1)

创建好后就完成了终极步骤……

到此,大家可以去eclipse里面new一个android工程,然后直接在工程上点右键run --run android,只不过模拟器开机时间有点长,害我一开始以为失败了,一直停留在android字样上,其实那是在开机…… 然后大家自己先玩玩,过把瘾,买不起手机,过模拟器的瘾……

补充一下,eclipse建立android项目前,需要在eclipse中配置sdk目录,注意不是tools目录哦.方法:window -- preferences -- android 然后在SDK location中输入sdk目录地址或者点击browse定位到sdk目录即可,然后apply,ok就完成了

 

 

 

搭建好开发环境之后,我们来创建一个Hello World工程,体验一下Android的开发。

选择【File>New>Android Project

创建一个新的Android工程

Project name(在计算机中存储工程的目录名):                       HelloWorld

Application name(应用的标题名字):                                       test Android

Package name(包名,请参考Java相关的概念):                     com.hello

Create Activity(UI界面窗口的类名,从Activity继承而来):      HelloChina

单击【Finish

这样一个Android的工程就创建完毕了。

 

运行

在“Run As”窗口中选择“Android Application”,过一会儿就会出现图1所示的模拟器窗口:

 

申请使用Google Android Maps API

 

首先取得模拟器电脑上的MD5

是保存在debug.keystore文件中的

打开eclipse查看此文件的位置

选择Window->Preferences

选择Android->Build查看Default debug keystore,其中就是该debug.keystore文件的路径。

然后在DOS模式下用jdk所带的keytool.exe取得MD5

keytool –list -keystore D:/SDK/Android_SDK_For_Windows/.android/debug.keystore

Fingerprint:

E7:BD:39:74:**:**:**:**:**:**:B3:5B:EE:E6:9D:B9:E0:9A

Google Android Map API申请页面

http://code.google.com/intl/zh-CN/android/maps-api-signup.html

http://code.google.com/intl/zh-CN/android/add-ons/google-apis/maps-api-signup.html

Generate API Key

您的密钥是:

0c6BR2nnO*********************P-IuXlGF9W97MJ3A

此密钥适用于所有使用以下指纹所对应证书进行验证的应用程序:

证书XML文件路径res/layout/*.XML

<com.google.android.maps.MapView

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      android:apiKey="0c6BR2nnO******************P-IuXlGF9W97MJ3A"  

/>

这样就可以使用Google Android MapAPI了。


第一个Android程序的开发体验

新建一个HelloTest工程

以下无特殊提示均是用Eclipse 3.3.2开发

为了方便命名可以用下面的方法:

进入新建工程的界面

先选择一个API环境

然后选择用一个已经存在的Samples

这时的命名规则已经自动生成

现在选择在空间里面新建一个

Project name进行修改

应用与包的命名规则参照原始Sample的命名规则

单击完成就可以完成创建。(这样不会因为不清楚命名规则而无法创建工程)

如果单击下一步是提示创建一个相关的测试工程。

现在暂时用不上。

这个是创建好的工程。

Eclipse环境开发时需要的几个视图

1.包资源管理器(Package Explorer

这个就是上面显示工程整体所有文件的窗口。

2.大纲(Outline

3.属性(Properties

选择其他->常规->属性

Eclipse使用视图:

 

我们先分析一下工程文件结构

SRC文件夹下面是存放主程序文件的。

Gen文件夹下面存放的是给资源文件的一些定义一般用R.java文件

Res文件夹下面就是资源文件

Drawable一类的都是存放图片文件的

Layout里面的main.xml文件是定义程序中的各种控件的。

Value里面的strings.xml文件是定义程序中的字符串的。

AndroidManifest.xml文件定义了整个工程的一些数据。

好我们熟悉了文件结构,现在开始做第一个程序吧

找到工程文件打开res/layout/main.xml文件

可以在当个窗口里面添加此工程的一些控件。

我们的程序已经有TextView,那么就新建一个EditText

这些是自动生成的代码。

单击大纲框里面的

可以看到在属性框里面可以编辑这个控件的许多属性

 

同样再添加一下ImageViewButton代码如下

<EditText

      android:text="@+id/EditText01"

      android:id="@+id/EditText01"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content">

</EditText>

<ImageView

      android:id="@+id/ImageView01"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content">

</ImageView>

<Button

      android:text="@+id/Button01"

      android:id="@+id/Button01"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content">

</Button>

保存运行

EditTextButton默认的文本值是false

这些显示的文本内容都是由res/value/string.xml文件来控制的。

添加如下语句也可以通过Resources方式来添加代码会自动生成

<string name="hello">这个程序为了测试文本框</string>

<string name="app_name">HelloTest</string>

<string name="button">这是一个按钮</string>

<string name="edittext">这是一个文本框</string>

保存文件。

这时修改main.xml文件里的ButtonText属性

同样EditTextText属性

Layout width是水平对齐形式

我们把任何的图片文件拷贝到res下的任意一个drawable文件夹下刷新一下工程

我们可以看见

文件已经被识别

并且我们可以在R.java文件中看见已经给与egg.jpg文件一个常量的定义,而且细心的读者还会发现我们前面加的控件和字符串Eclipse都已经给我们定义好了

返回main.xml文件编辑ImageViewBackgroud属性设置为刚刚添加的图片。

保存运行

好前面这些是界面的设计。

后面我们给这些控件添加一些功能

当单击按钮时把EditText里的文字显示出来

下面的操作最好在Eclipse 3.4中进行(笔者在Eclipse3.3.2中开发时会遇到部分代码不会自动生成的问题)

打开HelloTest.java编辑

添加这条语句申请一个变量名

EditText   edt;

会提示出错是因为没有导入包,将鼠标放在错误上单击导入包。(Eclipse3.3.2就不会出现这些提示所以笔者建议用Eclipse 3.4

添加这条语句给edt赋值

edt = (EditText)findViewById(R.id.EditText01);

这条语句同EditText需要import

TextView   msg;

这句同Edt

msg = (TextView)findViewById(R.id.TextView01);

后面添加setOnClickListener函数来控制单击事件

import

    import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

函数控制代码

Button btn = (Button)findViewById(R.id.Button01);

btn.setOnClickListener (

new OnClickListener () {

public void onClick(View v)

{

msg.setText(edt.getText());

}

});

保存运行:

 

程序源代码:

src/HelloTest.java

package com.example.android.HelloTest;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class HelloTest extends Activity {

EditText   edt;

TextView   msg;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

edt = (EditText)findViewById(R.id.EditText01);

msg = (TextView)findViewById(R.id.TextView01);

Button btn = (Button)findViewById(R.id.Button01);

btn.setOnClickListener (

new OnClickListener () {

public void onClick(View v) {

msg.setText(edt.getText());

}

});

}

}

gen/R.java

/* AUTO-GENERATED FILE.  DO NOT MODIFY.

 *

 * This class was automatically generated by the

 * aapt tool from the resource data it found.  It

 * should not be modified by hand.

 */

package com.example.android.HelloTest;

public final class R {

public static final class attr {

}

public static final class drawable {

public static final int egg=0x7f020000;

public static final int icon=0x7f020001;

}

public static final class id {

public static final int Button01=0x7f050003;

public static final int EditText01=0x7f050001;

public static final int ImageView01=0x7f050002;

public static final int TextView01=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 button=0x7f040002;

public static final int edittext=0x7f040003;

public static final int hello=0x7f040000;

}

}

res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android=http://schemas.android.com/apk/res/android

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

> 

<TextView

android:id="@+id/TextView01"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

<EditText

    android:id="@+id/EditText01"

    android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/edittext"

</EditText>

<ImageView

android:id="@+id/ImageView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/egg"

> 

</ImageView>

<Button

android:id="@+id/Button01"

android:layout_height="wrap_content"

android:text="@string/button"

android:layout_width="wrap_content"

</Button>

</LinearLayout>

res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">这个程序为了测试文本框</string>

<string name="app_name">HelloTest</string>

<string name="button">这是一个按钮</string>

<string name="edittext">这是一个文本框</string>

</resources>

本文参加暑期大学生博客分享大赛-2010 Android篇(分享Android应用开发经验)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值