1.掌握Activity的创建和使用Intent跳转Activity。 Android软件进行跳转最简单的运用,按钮的跳转活动的运用。 完成这一步后,我们还需要一个页面SecondActivity,作为跳转的页面。 然后我们利用==OnClickListener()==方法,定义出Intent跳转对象; 目前位置,我们已经完成了第一个学习任务,掌握Activity的创建和使用Intent跳转Activity。 首先我们先了解一下什么叫生命周期。 我们通过日记打印的方式观察软件的生命周期。通过观察生命周期,我们可以了解软件的运行过程。 第二个页面进行编码: 顺便介绍一下log日记打印: 通过本次实验,学习Intent跳转的使用,学习日记打印方法认识软件的生命周期。
初次接触Android开发
2.掌握活动的生命周期,以及7个生命周期方法的作用。Intent跳转
本次我们初步学习Intent跳转,通过按钮利用Intent跳转,从一个页面跳转到另一个页面。
在编写Intent跳转前,我们需要在界面布局(.xml)添加一个button。<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转">
完成以上步骤后,我们可以在第一个页面开始进行我们Intent跳转的学习了。
我们需要在第一个界面先完成对按钮的定义。button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(FirstActivity.this,SecondActivity.class); //定义intent,从第一个界面跳转到第二个界面 startActivity(intent); //启动这个intent } }); }
生命周期
生命周期方法为这7个:
onCreate():当Activity创建时调用,初始化设置
onStart():当Activity即将可见时调用
onResume():当Activity获得焦点时调用。
onPause();当前Activity被其他Activity覆盖或屏幕锁屏时调用
onStop():Activity对用户不可见时调用
onDestroy:Activity被销毁时调用
onReStart():Activity从停止状态到再次启动时调用
生命周期的关系,如图:
任何软件活动都离不开这个7个生命周期。观察生命周期
我们在第一个进行编码:protected void onCreate(Bundle savedInstanceState) { Log.d("Lifecycle", "FirstActivity:onCreate被调用");} //log为日记打印方法,log.d为打印成黑色字体 @Override protected void onStart() { super.onStart(); Log.d("Lifecycle", "FirstActivity:onStart被调用");} @Override protected void onResume() { super.onResume(); Log.d("Lifecycle", "FirstActivity:onResume被调用");} @Override protected void onPause() { super.onPause(); Log.d("Lifecycle", "FirstActivity:onPause被调用");} @Override protected void onStop() { super.onStop(); Log.d("Lifecycle", "FirstActivity:onStop被调用");} @Override protected void onDestroy() { super.onDestroy(); Log.d("Lifecycle", "FirstActivity:onDestroy被调用");} @Override protected void onRestart() { super.onRestart(); Log.d("Lifecycle", "FirstActivity:onRestrat被调用");}
protected void onCreate(Bundle savedInstanceState) { Log.e("Lifecycle", "SecondActivity:onCreate被调用");} //log为日记打印方法,log.d为打印成红色字体 @Override protected void onStart() { super.onStart(); Log.e("Lifecycle", "SecondActivity:onStart被调用");} @Override protected void onResume() { super.onResume(); Log.e("Lifecycle", "SecondActivity:onResume被调用");} @Override protected void onPause() { super.onPause(); Log.e("Lifecycle", "SecondActivityy:onPause被调用");} @Override protected void onStop() { super.onStop(); Log.e("Lifecycle", "SecondActivity:onStop被调用");} @Override protected void onDestroy() { super.onDestroy(); Log.e("Lifecycle", "SecondActivity:onDestroy被调用");} @Override protected void onRestart() { super.onRestart(); Log.e("Lifecycle", "SecondActivity:onRestrat被调用");}
我们将第一个页面的生命周期打印字体颜色为黑色,第二个页面的生命周期打印字体的颜色为红色。
我们运行App,我们进入第一个界面时:
第一个界面FirstActivity被调用,FirstActivity的==Create()、onStart()和onResume()==用。
onCreate():当Activity创建时调用,初始化设置;
onStart():当Activity即将可见时调用;
onResume():当Activity获得焦点时调用。
点击跳转,从第一个页面跳转到第二个页面,
点击跳转按钮,页面从FirstActivity跳转到SecondActivity,第二个页面SecondActivity被调用。
第一个界面被第二个界面覆盖,故FirstActivity的onPause()被调用。
第二个界面生成,故SecondActivity的onCreate()、onStart()、onResume()被调用。
完全覆盖后,第一个界面不可见故FirstActivity的onStop()被调用。
onPause();当前Activity被其他Activity覆盖或屏幕锁屏时调用;
onStop():Activity对用户不可见时调用
随后我们返回第一个界面。
点击虚拟机返回按钮,退回第一个页面FirstActivity。
第二个界面被第一个界面覆盖,调用SecondActivity的onPause()
第一个界面重新生成,故FirstActivity的onCreate()、onReStart()和onResume()被调用。
第二个界面SecondActivity不可见后被销毁,故SecondActivity的onStop()、onDestroy被调用。
onDestroy:Activity被销毁时调用;
onReStart():Activity从停止状态到再次启动时调用。
最后我们关闭App
退出app,第一个界面FirstActivity退出,不可见并销毁。
调用FirstActivity的onPause()、onStop()、onDestroy().
贴上完整日记:2020-03-23 23:19:03.046 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onCreate被调用 2020-03-23 23:19:03.054 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onStart被调用 2020-03-23 23:19:03.055 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onResume被调用 //启动App,第一个页面启动 2020-03-23 23:29:28.766 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onPause被调用 2020-03-23 23:29:28.820 7889-7889/com.example.myapplication E/Lifecycle: SecondActivity:onCreate被调用 2020-03-23 23:29:28.824 7889-7889/com.example.myapplication E/Lifecycle: SecondActivity:onStart被调用 2020-03-23 23:29:28.827 7889-7889/com.example.myapplication E/Lifecycle: SecondActivity:onResume被调用 2020-03-23 23:29:29.374 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onStop被调用 //跳转到第二个页面 2020-03-23 23:35:48.879 7889-7889/com.example.myapplication E/Lifecycle: SecondActivityy:onPause被调用 2020-03-23 23:35:48.894 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onRestrat被调用 2020-03-23 23:35:48.895 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onStart被调用 2020-03-23 23:35:48.895 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onResume被调用 2020-03-23 23:35:49.414 7889-7889/com.example.myapplication E/Lifecycle: SecondActivity:onStop被调用 2020-03-23 23:35:49.415 7889-7889/com.example.myapplication E/Lifecycle: SecondActivity:onDestroy被调用 //结束第二个页面,返回第一个页面 2020-03-23 23:53:28.858 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onPause被调用 2020-03-23 23:53:29.522 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onStop被调用 2020-03-23 23:53:29.523 7889-7889/com.example.myapplication D/Lifecycle: FirstActivity:onDestroy被调用 //关闭app
Android 开发学习未完待续
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算