1.知晓当前活动是哪一个活动,即Activity:
创建一个BaseActivity继承Activity,重写onCreate();方法,加上一句返回信息的代码:Log.d("BaseActivity",getClass().getSimpleName);
再将所有Activity继承BaseActivity,就可以看到当前界面是哪一个Activity了。
2.随时随地退出程序:
新建一个ActivityCollector类作为活动管理器,代码如下所示:
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<Activity>();
public static void addActivity(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();
}
}
}
public static List<Activity> activities = new ArrayList<Activity>();
public static void addActivity(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();
}
}
}
}
在每个Activity中的onCreat()中使用ActivityCollector.addActivity(this);
onDestroy()方法中使用ActivityCollector.removeActivity(this);这样就可以将一个马上要被销毁的Activity从活动管理器中移除
要一键退出的话只要调用ActivityCollector.finishAll();就OK啦!
3.启动Activity的最佳写法:
public static void actionStart(Context context,String data1,String data2){
Intent intent = new intent(context,SecondActivity.class);
intent.putExtra("param1",data1);
intent.putExtra("param2",data2);
context.startActivity(intent);
Intent intent = new intent(context,SecondActivity.class);
intent.putExtra("param1",data1);
intent.putExtra("param2",data2);
context.startActivity(intent);
}
启动Activity的现在只需一句话了,即SecondActivity.actionStart(FirstActivity.this,"data1","data2");
(其中FirstActivity是当前活动,SecondActivity是要启动的活动)
这样的好处就是可以一目了然地发现两个活动之间要传递的参数。0.0
本文介绍了Android应用开发中的一些核心技巧,包括如何创建自定义的BaseActivity来获取当前界面的名称,随时随地退出程序的方法,以及启动Activity的最佳实践。通过这些方法,开发者可以更高效地管理和操作Activity,同时清晰地传递参数。
823

被折叠的 条评论
为什么被折叠?



