一个优秀的应用程序不但需要程序算法的高效和出色的架构,更加需要的是一个完善的界面。今后将开发完成的应用展示给客户时,首先使客户留下深刻印象的恐怕就是美观华丽的界面了。所以今天我们学到了一种可以包含用户界面的组件,那就是“活动”。
活动主要用于和用户进行交互,代表了一个用户所能看到的屏幕,主要是处理一个应用的整体性工作。在上节课的helloWorld活动是由ADT自动创建的,既然我们要更加深入的理解,那还是要从手动创建开始。
实验要求
特定的程序版本号、应用图标、启动界面、按钮以及实现界面穿梭
准备工作
在我们新建项目时选择new → Android Application,此时将“Create custom launcher icon”和“Create activity”这两个选项取消勾选直接点击完成。这样我们就得到了一个名为firstActivity的项目。
在Windows选项中找到preferences,依次点击Java → editor → content assist → auto activation triggers for Java,在文本框中输入26个字母。这样做可以在编程中方便进行命令的补全和提示操作。
修改程序版本号
在res中找到Android Manifest.xml并双击打开,修改versionname中的数字为你所需要的程序版本编号
修改程序图标
在res中找到Android Manifest.xml并双击打开,将图标的图片名称修改在Android:icon中
新建包
在src文件夹下new → package → Name:“com.example.activitytest”该名称并不是我自己起的,是新建项目时使用的默认包名
新建类
在com.example.activitytest中点击右键new → class Name:“firstActivity”,并通过superclass → Android.app.Activity 使这个类继承自Activity,最后点击finish完成创建
重载方法
项目中的任何活动都应该重写Activity的onCreate()方法,所以我们应该在class的空白位置右键,选择source → override/Implement → onCreate
创建布局
在Android程序设计中逻辑和界面是分离的,每个活动都最好对应着一个界面内容。创建布局文件,在layout右键目录下右键→ new → Android XML File → 命名为first,同时根元素默认为第一个LinearLayout。这里点击完成后就会在可视化布局编辑器中看到模拟的Android界面
加载布局
让我们重新回到firstActivity.java,在onCreate()方法中加入这行代码:setContentView(R.layout.first_layout) 这里的代码其实不用全部敲上,键入第一个字母时就会有提示补全语句,我们只要选对名称就可以了
我们知道项目中添加的任何资源都会在R.Java中生成一个相应的资源ID,加载布局就是使我们刚刚创建的first布局的ID添加到R.Java文件中,供以后引用
注册
我们创建的所有活动要在AndroidManifest.xml中注册才能生效,另外这里特别注意尖括号< />要成对的使用
<activity
anandroid:name=”.firstActivity”>
这里是通过<activity>进行注册的,并且使用android:name来指定活动,引号中的.firstActivity由于已经指定过程序的包名,在注册的这一部分就可以缩写了
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
这里的两句声明是想让firstActivity在我们点击应用图标时打开的就是这个活动
添加按钮
再回到layout → first.xml
<button
android:layout_width=”wrap_content” //当前元素宽度刚好包含内容
android:layout_height=”wrap_content” //当前元素高度刚好包含内容
android:text=”转到下一页” //指定显示内容
android:id=”@+id/button_1” //定义一个id
在定义id的时候最好直接选择提示命令,尽量避免手动输入
界面穿梭
我们首先需要两个界面,在src下与项目同名的包下新建一个secondActivity,同样继承Activity,并在AndroidManifest.xml中注册
接下来一步是对按钮写监听事件,并通过显式intent进行跳转:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(firstPage.this,secondPage.class);
startActivity(intent);}
});
总结
至此为止我们就完成了手动创建活动以及显式intent的使用,其中需要注意大量命令语句正确键入,检查R.Java文件是否注册成功,在初学阶段多使用命令提示键入语句出错率会大大降低
网友评论