现在的位置: 首页 > 综合 > 正文

创建一个Activity

2012年06月25日 ⁄ 综合 ⁄ 共 1772字 ⁄ 字号 评论关闭
   

为了创建一个新的Activity,你需要继承Activity类,定义UI,实现功能。新的Activity的最基本的框架代码如下所示:

 

package com.paad.myapplication;

 

import android.app.Activity;

import android.os.Bundle;

public class MyActivity extends Activity {

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

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

}

}

 

基本的Activity类代表一个空的屏幕,它没有什么大用,所以,首要的事情就是你用Viewslayouts来填充UI

 

ActivityUI都是由Views来创建的。ViewsUI控件,显示数据和提供用户交互。Android提供了一些layout类,称作View Groups,它可以容纳多个View来帮助你设计复杂的UI

 

在第4章中会详细描述ViewView Groups,并且讲解了哪些可用,如何用以及怎样创建自定义的Viewslayouts

 

Activity指定UI,请在ActivityonCreate方法中调用setContentView方法。

 

在这个代码片段里,使用了MyView的简单实例来作为ActivityUI

 

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

MyView myView = new MyView(this);

setContentView(myView);

}

 

多数情况下,你都想使用较为复杂的UI设计。你可以在代码里使用View Groups来创建布局,或者你可以利用标准Android的便利传递一个外部已经定义的layout的资源ID,如下面的代码片段所示:

 

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

}

 

为了能在应用程序中使用一个Activity,你需要在manifest中注册它。在application节点添加一个新的activity标签;activity里包含labeliconpermissionsthemes等元数据。没有相应的activity标签的Activity不能被启动。

 

接下来的XML片段显示了如何为我刚创建的MyActivity类添加一个节点:

 

<activity android:label=”@string/app_name”

android:name=”.MyActivity”>

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

 

activity标签里,你可以增加intent-filter节点来指明你的Activity监听和响应哪种意图。每个Intent Filter可以定义一个或多个actioncategoriesIntentIntent Filter会在第5章详细描述,但是它对一个作为主要启动程序的Activity没有什么价值。它必须包含一个Intent Filter来监听MAIN动作和LAUNCHER种类,如下面高亮度的代码片段所示:

 

<activity android:label=”@string/app_name”

android:name=”.MyActivity”>

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

 

抱歉!评论已关闭.