Android创建一个Activity的方法分析

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • 详解Android中Intent传递对象给Activity的方法

    Activity回顾 activity是android程序中最重要的组件之一,它是用户与android用户交互的主要组件,类似于桌面程序的图形界面.android程序大致可以分为看的见的组件和看不见的service.看得见的组件主要就是在Activity中定义,看不见的service,包括service,BroadCastReceiver,ContentProvider等等,这是后话.今天先来大致了解一下activity. 可以理解activity为盛放组件的容器,和用户交互的组件都要放在Act

  • Android简单创建一个Activity的方法

    本文实例讲述了Android简单创建一个Activity的方法.分享给大家供大家参考,具体如下: 1) 创建一个android项目 填写项目信息 2) 创建一个新Activity 右键点击Eclipse左边(默认)你要加入Activity的包,比如,我的包是com.INdroid.layout.然后选New->Class,输入类名后(注意首字母大写),在Superclass的Browse那里点击.最后在Choose a type那里输入Activity.然后点OK就可以了 3) 创建Activi

  • Android编程中Activity的四种启动模式

    本文实例讲述了Android编程中Activity的四种启动模式.分享给大家供大家参考,具体如下: Activity启动方式有四种,分别是: standard singleTop singleTask singleInstance 可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题. 设置Activity的启动模式,只需要在AndroidManifest.xml里对应的<activity>标签设置android:launchMode属性,例

  • Android应用中使用TabHost组件继承TabActivity的布局方法

    继承TabActivity并以activity布局 先查看下最终效果图: 再看下代码结构: 其中black.gif顾名思义就是一个黑背景图片,grey.gif就是一张灰色的背景图片 然后直接上代码: ArtistActivity.java package cn.com.tagview; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class Artist

  • 详解Android Activity之间切换传递数据的方法

    前面照着android系统的裁剪图片的功能自己写了一个相似的工具.功能是大体上实现了,但留下了一个调用的问题:如何从我的程序调用这个裁剪工具,并且获得裁剪后的图片呢? 其实这个也很简单了,就是intent的基础用法. 先上个图(界面依旧没优化,难看就难看吧): 起始activity,打开图片选择窗口,随便选择一张图片 下面是跳转到裁剪界面 按下crop按钮,退出activity,回到原来界面,并显示裁剪后的图 流程就是这样,也算模拟了系统裁剪功能的整体过程.下面就是实现功能的关键代码和说明了.

  • Android Activity 横竖屏切换的生命周期

    前言 在开发中常要处理横竖屏切换,怎么处理先看生命周期 申明 Activity 横竖屏切换时需要回调两个函数 ,所以在此将这个两个函数暂时看成是Activity 横竖屏切换的生命周期的一部分,这两个函数如下 onSaveInstanceState(Bundle outState) :Activity 即将销毁时保存数据 onRestoreInstanceState(Bundle savedInstanceState) : Activity 重建或者恢复时候取出数据 横竖屏切换生命周期 1.启动程

  • Android动态加载Activity原理详解

    activity的启动流程 加载一个Activity肯定不会像加载一般的类那样,因为activity作为系统的组件有自己的生命周期,有系统的很多回调控制,所以自定义一个DexClassLoader类加载器来加载插件中的Activity肯定是不可以的. 首先不得不了解一下activity的启动流程,当然只是简单的看一下,太详细的话很难研究清楚. 通过startActivity启动后,最终通过AMS进行跨进程回调到ApplicationThread的scheduleLaunchActivity,这时

  • Android新建Activity的方法

    本文实例讲述了Android新建Activity的方法.分享给大家供大家参考,具体如下: 在一个Android工程中,如何新建一个Activity?方法如下: 一.新建一个类(*.class),继承自android.app.Activity类. 二.在res/layout目录下新建一个布局xml文件,文件名随意(只能包含小写字母数字或下划线),用来设置新Activity的布局(对于如何设置Activity的布局,可参考本站相关内容). 三.打开AndroidManifest.xml文件,在里面进

  • Android Activity回收与操作超时处理

    本文实例为大家分享了Android Activity回收与操作超时的处理,供大家参考,具体内容如下 1.Activity的回收 针对多个activity退出的处理 关键代码: 1).新建活动管理类: public class ActivityCollector { private static List<Activity> activityList = new ArrayList<Activity>(); public static void addActivity(Activit

  • 退出Android程序时清除所有activity的实现方法

    本文实例讲述了退出Android程序时清除所有activity的方法.分享给大家供大家参考,具体如下: 在一个项目中,要退出android程序,试了restartPackage. killBackgroundProcesses .通过异常并在Application的子类中重新注册Thread的 Thread.UncaughtExceptionHandler接口+异常方式,等等,都没有效果. 最后发现其实只要在从一个activity A 跳到另一个activity B 时,调用了A的finish方

随机推荐