您的位置:首页 > 移动开发 > Android开发

Android小技巧

2016-02-16 13:21 295 查看

一、知晓当前是在哪一个活动

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


这里新建一个BaseActivity继承自Activity,再让其他的活动继承自BaseActivity,通过打印信息就可以知道当前是哪一个活动了。

二、随时随地退出程序

当一个应用有多个活动,需要按很多次的Back键才能退出程序,home键只是把程序挂到后台,这时,就可以有一个退出键。

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 class BaseActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getSimpleName());
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
}


在退出按钮中响应事件ActivityCollector.finishAll();可以在代码后面再加上杀掉当前进程的代码,以保证程序完全退出。

三、启动活动的最佳写法

一个活动需要两个非常重要的字符串参数,用intent启动其他人可能不知道这两个参数,我们可以直接在活动中写一个方法来让别人知道。

public class SecondActivity extends BaseActivity {
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);
}
……
}


别人在其他活动中就可以轻松的知道启动这个活动所需要的两个参数SecondActivity.actionStart(FirstActivity.this, “data1”, “data2”);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: