Android 管理自己的Activity

来源:互联网 发布:apache运行php文件 编辑:程序博客网 时间:2024/04/30 14:56

做开发的时候,一定要能合理的管理自己的Activity。举个例子,在一个项目中要先注册才能登录。在注册Activity完成之后,要及时的结束掉该Activity。因为Android应用程序是用栈来保存Activity。然后不及时清理掉,当你按回退按钮的时候,又到了注册页面。这是非常不好的一个用户体验。这个功能用finish函数就可以完成,为什么要提出管理自己的Activity呢。在设想一个实例。用户需要设置一个信息页,要一页一页的设置,第一页设置电话,第二页设置身份证号码,第三页设置图像。设置完成之后就进入主页面。如果没有清理Activity。当在主页面按back按钮的时候,会回退到第三页设置页面,而不是程序的启动页面。有人说。在设置完成一个页面之后直接finish掉就可以了,但是我在设置第二个页面的时候,想起我设置的电话错了一位,按回退按钮就回退不回去了。又有人说,在第三页设置完成之后再去finish掉三个设置页面。但是在第三个页面怎么finish掉第一个页面的Activity呢?这就要用到Activity管理类。
管理类的实现原理就是建立一个Activity的list集合,并且创建一个Activity启动的基类BaseActivity。每一个Activity都继承BaseActivity。在BaseActivity的onCreate和onDestroy中分别添加和删除Activity。然后在管理类中添加对于的函数。addActivity和removeActivity.
Activity管理类如下:

import java.util.ArrayList;import java.util.List;import android.app.Activity;/** * 2016.6.20 *  * @author malion 活动管理器 */public class ActivityManager {    public static List<Activity> activities = new ArrayList<Activity>();    public static void addActivity(Activity activity) {        // TODO Auto-generated method stub        activities.add(activity);    }    public static void removeActivity(Activity activity) {        activities.remove(activity);    }    public static void finishAll() {        for (Activity activity : activities) {            if (!activity.isFinishing()) {                activity.finish();            }        }    }}

实例下载地址:http://download.csdn.net/detail/u014523456/9554783.
本人能力有效,如果披露之处,请指出。

0 0
原创粉丝点击