本文实例讲述了Android创建一个Activity的方法。分享给大家供大家参考,具体如下:
为了创建一个新的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类代表一个空的屏幕,它没有什么大用,所以,首要的事情就是你用Views和layouts来填充UI。
Activity的UI都是由Views来创建的。Views是UI控件,显示数据和提供用户交互。Android提供了一些layout类,称作View Groups,它可以容纳多个View来帮助你设计复杂的UI。
前面讲述了View和View Groups,涉及使用以及创建自定义的Views和layouts。
为Activity指定UI,请在Activity的onCreate方法中调用setContentView方法。
在这个代码片段里,使用了MyView的简单实例来作为Activity的UI:
@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里包含label、icon、permissions和themes等元数据。没有相应的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可以定义一个或多个action和categories。Intent和Intent 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>
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》、《Android通信方式总结》、《Android调试技巧与常见问题解决方法汇总》、《Android开发入门与进阶教程》、《Android基本组件用法总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。