在onCreate方法中
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);//必须在setContentView()之前执行,不然会报错 setContentView(R.layout.hello_world_layout); //引入hello_world_layout.xml布局 }
第二个参数是文本内容
第三个参数是显示的时长
>有两个内置的常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG
直接使用finish(),例如点击这个按钮销毁这个活动。(一般和返回键一起使用)
button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } });按下返回键会调用onBackPressed()方法。
Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack)
每个活动在其生命周期中最多可能会有四种状态。
1.运行状态
2.暂停状态
3.停止状态
4.销毁状态
Activity类中定义了七个回调方法,覆盖了活动生命周期的每一个环节。
1.onCreate()
2.onStart
3.onResume()
4.onPause() 这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。
5.onStop()
6.onDestroy()
7.onRestart()
完整生存期:onCreate()和onDestroy()方法之间所经历的
可见生存期:onStart()和onStop()方法之间所经历的
前台生存期:onResume()和onPause()方法之间所经历的
Bundle可以结合Intent一起传递数据。
新建一个AaseActivity类继承自Activity类并重写它的方法
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); //获取当前实例的类名 } } 让之后的类继承这个类
新建一个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(); } } } } 在BaseActivity类中 public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityCollector.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityCollector.removeActivity(this); } } 然后只要在任何地方调用ActivityCollector.finishAll()方法即可
在要启动的活动中(目的活动)
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); } //添加了一个actionStart()方法,在这个方法中完成了Intent的构建,另外所有SecondActivity中需要的数据都是通过actionStart()方法的参数传递过来的,然后把它们存储到Intent中,最后调用startActivity()方法启动SecondActivity。 …… } 在出发活动中 button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { SecondActivity.actionStart(FirstActivity.this, "data1", "data2"); } });