Android开发从入门到精通(8) _1
列表,菜单和其它Views 第八章(1)
关键技能 & 概念
●建造活动
●使用Android菜单
● 使用AutoComplete TextView本章会讨论更深层次的Views和Intents,正如被证明这些是作为一个Android新手最好要掌握的特性。这个两个实体将组成早期活动的主体。几乎每一个你创建的活动需要至少一个View,并且其中的大多数将需要呼叫一个到两个Intent。学习这些东西的最好办法就是动手实践。阅读这些话题并且回顾属性清单是另外一个需要做的事情,但是自己执行代码却是另外一件事。那就是如你在上一章所作,你将建造一个使用Views和Intents的活动。通过构造这个应用程序,你将获得对Views和Intents最好的体验。
前两章通过创建非常简单的,开发Views和Intents的少量基本功能的活动来大致介绍了Views和Intents。在本章中,你会去建造一个稍微复杂一点的使用Intent来呼叫一个新活动的活动,而这个新活动你也要创建。这个新活动会展示在本版本SDK中可用的Views。
本章解释这些View的功能性,如AutoComplete清单和图表种类,并介绍每个View属性的不同。作为开始,创建一个新的Eclipse项目并命名为AdnrodiViews。创建有下列插图(略)参数的项目:包装的名称为 android_ programmers_guide.AndroidViews, 活动的名称为:AndroidViews,并且应用程序的名称为AndroidViews。
项目创建好以后打开main.xml文件,从里面把Hello World!代码移除。有了一个创建的项目和干净的main.xml文件,你可以开始来增加你的代码了。
建造活动 到目前为止,你仅仅创建过单活动应用程序。那就是说,你创建的非常简单的应用程序,只包含了一个屏幕的数据。稍等片刻,想一下你使用的最后几个应用程序。偶尔它们使用了超过一个“窗口”。大多数应用程序使用多重窗口来采集,显示并保存数据。你的Android应用程序应当是一样的。
虽然你还没有学习如何创建在Android上运行多重活动的应用程序,但是在最后几章中你得到了如何改变多重活动的提示。你使用了一个新的概念——Intents来呼叫并且运行一个核心的Android活动。这个概念在本章中仍旧适用,但是,当你需要来呼叫创建的活动,与呼叫核心的Android活动相反,它执行起来是不同的。
你一件你要做的事情是构造活动。然后你可以创建呼叫它们的Intents。构造活动时,需要按照下列步骤进行。
●为.xml文件准备Intent代码
●为.java文件准备Intent代码
● 使用一个Intent呼叫活动一旦你创建你的第一个附加活动,其它的应当非常的简单。
注意
这些步骤并不是必须的。你可以已任何的次序来执行它们。
NOTE
为.xml文件准备Intent代码记住Android活动包含三个主要部分:包含代码的.java文件,控制输出的.xml文件和包装的Manifest。到本书的这里,你只用到main.xml来控制单活动的输出。但是,要更好的使用多活动,你必须有multiple.xml输出文件。
要创建一个新的.xml文件,打开你的Eclipse项目并且找到包装资源管理器。打开res目录,右击layout文件夹,并且选择新建文件。在新建文件对话框,如下所示(略),命名为test.xml。
警告
确保以小写字母输入test.xml。新的.xml文件名必须是小写字母。
输出文件创建后。要使活动正常的工作,增加下列代码到test.xml文件中。这个代码会为你的输出提供一个基础。如果你需要,你可以简单的复制在main.xml文件现有的代码。
<?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > </LinearLayout> |
为.java文件准备Intent 代码
再次使用包装资源浏览器,找到src目录,打开它,并在android_programmers_guide.AndroidViews 这个包装上右击,如下所示(略)。
再一次,你将在这文件夹中增加新文件。在你右击AndroidViews包装后,从上下文菜单中选择新建文件。这个文件会在本项目中为第二个活动控制所有的代码。把文件命名为test.java。你现在有了一个非常好的,新的(但是是空的).java文件,只需要在其中增加代码来使它工作了:
package testPackage.test; importandroid.app.Activity; importandroid.os.Bundle; publicclasstestextendsActivity{ /**CalledwhentheActivityisfirstcreated.*/ @Override publicvoidonCreate(Bundleicicle){ super.onCreate(icicle); setContentView(R.layout.test); /**ThisisourTestActivity Allcodegoesbelow*/ } } |
注意,使用上下文R.layout.test,你以setContentView方法呼叫test.xml,。这行告诉新的活动为本“页”使用你创建的.xml文件作为输出文件。
修改AndroidManifest.xml文件