安卓开发学习笔记—————《Anroid编程权威指南》第五章 第二个activity

应用的所有activity都必须在manifest配置文件中声明,这样操作系统才能够找到它们。

一个activity启动另一个activity最简单的方式是使用startActivity方法

public void startActivity(Intent intent)

调用请求发送给了操作系统的ActivityManager,ActivityManager负责创建Activity实例并调用其onCreate(Bundle)方法。

intent对象是component用来与操作系统通信的一种媒介工具。在GeoQuiz应用中,intent用来告诉ActivityManager该启动哪个activity,因此可使用以下构造方法:

public Intent(Context packageContext, Class<?> cls)

activity间的数据传递

要将extra数据信息出添加给intent,需要调用Intent.putExtra(...)方法。

activity可能启动自不同的地方,应该在获取和使用extra信息的activity哪里,为它定义键,记得使用包名修饰extra数据信息,可避免来自不同应用的extra间发生命名冲突。

public class CheatActivity extends AppCompatActivity {
  private static final String EXTRA_ANSWER_IS_TRUE =
   "com.example.android.geoquiz.answer_is_true";
  ...  
}

获取extra信息

Activity.getIntent()方法返回了由startActivity(Intent)方法转发的Intent对象。

mAnswerIsTrue=getIntent().getBooleanExtra(EXTRA_ANSWER_IS_TRUE,false);

猜你喜欢

转载自www.cnblogs.com/kyun/p/9716166.html