TyroneRenekton的博客

青青子衿,悠悠我心

第一行安卓代码——活动的最佳实践2.6

2.6.1 知晓当前在哪一个活动

当我们接收别人的代码的时候,很有可能找不到界面对应的活动是哪一个。
我们可以在项目中新建一个BaseActivity类。然后让BaseActivity继承AppCompatActivity,并重写OnCreate()方法,如下所示:

@Override
protected void OnCreate(Bundle savedInstanceState) {
    super.OnCreate(svaedInstanceState);
    Log.d("BaseActivity", getClass().getSimpleName());
}

然后让BaseActivity成为其他活动的父类就可以了

2.6.2 随时随地退出程序

用一个专门的集合类对所有的活动进行管理
代码很简单,如下

新建一个ActivityCollector类作为活动管理器

public class ActivityCollector {
    public static List<Activity> activities = new ArrayList<>();

    public static void addActiviry( Activity activity ) {
        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();
            }
        }
    }
}

修改BaseActivity代码

public class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("BaseActivity", getClass().getSimpleName());
        ActivityCollector.addActiviry(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ActivityCollector.removeActivity(this);
    }
}

这样就可以在自己想要退出的地方使用ActivityCollector.finishAll()。
同时为了保证程序完全退出,还可以在销毁所有活动的代码后面加上

android.os.Process.killProcess(android.os.Process.myPid());

2.6.3 启动活动的最佳写法

有时候我们在启动新的活动时需要用到intent传递数据。但是团队合作中这个活动可能要让别人使用。这个时候为了让别人知道要传递什么数据怎么办呢?可以在该活动中添加代码

public static void actionStart(Cotext context, String data1, String data2) {
    Intent intent = new Intent(context, SecondActivity.class);
    intent.putExtra("param1", data1);
    intent.putExtra("param2", data2);
    context.startActivity(intent);
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TyroneRenekton/article/details/55095097
文章标签: android 最佳实践
个人分类: 安卓开发
所属专栏: 安卓开发学习笔记
想对作者说点什么? 我来说一句

第一行代码2.6源码

2016年02月02日 2.58MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭