昨天已经将Android开发环境搭建完成,现在开始创建一个Android项目
打开Eclipse,File->New->Android Project,
Project Name中输入login,点击Next>
这里就默认吧,点击Next>
此处将包名填好就直接点击Finish,最后在Package Explorer形成如下视图:
LoginActivity是程序的入口,Android中的Activity有点类似Swing的Frame,它是一个可视化的容器窗体。
打开LoginActivity.java文件,我们找到有这么一段代码
setContentView(R.layout.main);
R.layout.main表示引用了res/layout/main.xml这个布局文件,也就是说LoginActivity.java和layout/main.xml就建立起了一种联系,
以后容器组件(LoginActivity)中的子组件和布局等等都在layout/main.xml中进行配置
值得注意的是,R.java是不需要程序员手工去维护的
现在打开main.xml文件,看看Eclipse为我们的LoginActivity设置了哪些东西:
<?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>
首先根节点是个布局节点,字面意思上该布局是流线型布局,这种布局有点类似Swing的FlowLayout,注意android:orientation是垂直的,所以LoginActivity中的子组件
是纵向排开布局的。
LoginActivity有一个子组件TextView,这个组件类似Swing的Label,注意layout_width为fill_parent,顾名思义就是填充父组件的宽度,为了看到效果,我们将TextView
的背景色变变:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_light"
android:text="@string/hello" />
好了,在运行程序之前,我们先要把AVD虚拟设备启动,Windows->AVD Manager
选中MyDevice后,点击Start...,这个过程比较长,好一点的电脑也要2-3分钟吧,启动完成后到了这个界面:
到了这里AVD已经运行成功了,点击Menu按钮
接下来需要运行我们写的Login,右键Login项目Run as -> Android Project,过了一会儿后:
提醒:有时候在运行Login窗口的时候总是打开一个新的AVD设备,控制台也有一些警告,例如本来我已经启动了一个AVD如下:
但是运行Login Project的时候,却偏偏出现了新的如5556:MyDevice的设备句柄,建议先把所有的设备都关掉,然后删除
C:\Documents and Settings\Administrator\.android\avd\MyDevice.avd
目录下的sdcard.img文件,然后重新启动一个AVD