1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程。

首先,我创建了一个MainActivitySecondActivity两个Activity。我在两个Activity中都加入了七个方法,并加入了打印语句。在MainAcitivity中为按钮增加事件,点击第一个界面的按钮跳转到第二个Activity。

运行程序,我们从日志信息可以看出: 启动MainActivity依次执行了onCreate()、onStart()、onResume()方法,当跳转到SecondActivity时,MainActivity会执行onPause()方法,此时SecondActivity会依次执行onCreate()、onStart()、onResume()方法。这时候MainActivity会执行onStop()方法

当SecondActivity再次返回到MainActivity时,SecondActivity会先执行onPause()方法,然后MainActivity会依次执行onRestart()、onStart()、onResume()方法,随后SecondActivity执行onstop()方法和onDestory()方法。如果退出应用程序,则MainActivity会执行onStop()方法,然后执行onDestory()方法。

2.编写一个程序,要求在第一个界面中输入两个数字,在第二个界面显示第一个界面两个数字的和。

在activity_main.xml中布置好界面,其中输入的文本框选择的是EditText组件。布局是线性垂直布局中套用两个线性水平布局的方式。

activity_main.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.administrator.studylife.MainActivity"><LinearLayoutandroid:layout_width="368dp"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="40dp"android:text="数字A:"android:textColor="@android:color/background_dark"android:textSize="18sp" /><EditTextandroid:id="@+id/editText3"android:layout_width="match_parent"android:layout_height="50dp"android:layout_marginLeft="15dp"android:hint="请输入第一个数字"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="40dp"android:text="数字B:"android:textColor="@android:color/background_dark"android:textSize="18sp" /><EditTextandroid:id="@+id/editText4"android:layout_width="match_parent"android:layout_height="50dp"android:layout_marginLeft="15dp"android:hint="请输入第二个数字"/></LinearLayout></LinearLayout><Buttonandroid:layout_width="190dp"android:layout_height="81dp"android:text="计算(A+B)"android:textSize="25dp"android:id="@+id/btnGo"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintHorizontal_bias="0.407"app:layout_constraintVertical_bias="0.274" />
</android.support.constraint.ConstraintLayout>

在activity_second.xml中定义一个TextView负责显示数据。

activity_second.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.administrator.studylife.SecondActivity"><LinearLayoutandroid:layout_width="368dp"android:layout_height="wrap_content"tools:layout_editor_absoluteY="0dp"tools:layout_editor_absoluteX="8dp"><TextViewandroid:id="@+id/show_conntent"android:layout_width="match_parent"android:layout_height="50dp"android:textSize="18sp"android:text="TextView"/></LinearLayout>
</android.support.constraint.ConstraintLayout>

给两个EditText组件和一个按钮组件添加监听事件,当点击按钮时,将数字之和的值传递到SecondActivity中,因为直时传递一个值,所以两数字相加的过程就必须在MainActivity中完成。需要考虑的是,输入的应该是个数字,而不是字符,输出的又是字符,所以需要进行String和int的转化。

       MainActivity.java代码:

package com.example.administrator.studylife;import android.content.Intent;
import android.os.IInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;import org.w3c.dom.Text;public class MainActivity extends AppCompatActivity {private EditText str1;private EditText str2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Log.i("Aty1" ,"执行onCreate");Button btn=(Button) findViewById(R.id.btnGo);str1=(EditText)findViewById(R.id.editText3);str2 =(EditText)findViewById(R.id.editText4);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String str = null;switch (view.getId()) {case R.id.btnGo:int i1 = Integer.parseInt(String.valueOf(str1.getText()));int i2 = Integer.parseInt(String.valueOf(str2.getText()));int sum = i1 + i2;str = Integer.toString(sum);Intent intent = new Intent(MainActivity.this, SecondActivity.class);intent.putExtra("sum", str);startActivity(intent);}}});}@Overrideprotected void onStart() {super.onStart();Log.i("Aty1" ,"执行onStart");}@Overrideprotected void onRestart() {super.onRestart();Log.i("Aty1" ,"执行onRestart");}@Overrideprotected void onResume() {super.onResume();Log.i("Aty1" ,"执行onResume");}@Overrideprotected void onPause() {super.onPause();Log.i("Aty1" ,"onPause");}@Overrideprotected void onStop() {super.onStop();Log.i("Aty1" ,"执行onStop");}@Overrideprotected void onDestroy() {super.onDestroy();Log.i("Aty1" ,"执行onDestroy");}
}

SecondActivity.java代码:

package com.example.administrator.studylife;import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;public class SecondActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Log.i("Aty2" ,"执行onCreate");Intent intent=this.getIntent();String sum=intent.getStringExtra("sum");TextView show_conntent=(TextView)findViewById(R.id.show_conntent);show_conntent.setText("A+B="+sum);}protected void onStart() {super.onStart();Log.i("Aty2" ,"执行onStart");}@Overrideprotected void onRestart() {super.onRestart();Log.i("Aty2" ,"执行onRestart");}@Overrideprotected void onResume() {super.onResume();Log.i("Aty2" ,"执行onResume");}@Overrideprotected void onPause() {super.onPause();Log.i("Aty2" ,"onPause");}@Overrideprotected void onStop() {super.onStop();Log.i("Aty2" ,"执行onStop");}@Overrideprotected void onDestroy() {super.onDestroy();Log.i("Aty2" ,"执行onDestroy");}
}

运行结果:

1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程。2.编写一个程序,要求在第一个界面中输入两个数字,在第二个界面显示第一个界面两个数字的和。相关推荐

  1. android生命周期方法,Android零基础入门|Activity状态和生命周期方法

    原标题:Android零基础入门|Activity状态和生命周期方法 前面两期我们学习了Activity的创建和注册.以及启动和关闭,也学会了重写onCraete方法,这些知识在实际开发中远远不够,还 ...

  2. Android零基础入门第75节:Activity状态和生命周期方法

    前面两期我们学习了Activity的创建和注册.以及启动和关闭,也学会了重写onCraete方法,这些知识在实际开发中远远不够,还需要学习了解更多. 生命周期就是一个对象从创建到销毁的过程,每一个对象 ...

  3. Activity的生命周期方法

    一:Activity的生命周期方法 Android提供了很多Activity的生命周期方法,比如我们常用的onCreate.onPause.onResume等.这里主要介绍粗粒度的周期方法,诸如onP ...

  4. 为什么wps数字前面有撇号_表格中输入18位超长的数值后变样了? 别急! 两招搞定!...

    原标题:表格中输入18位超长的数值后变样了? 别急! 两招搞定! 输入超长的数值,就会显示成奇怪的样子, 好端端的身份证号码全都乱套了,为什么? 怎么办?这就为你解答~ 错误一:输入18位数之后变为含 ...

  5. Activity的生命周期及各生命周期方法的作用

    一.Activity的生命周期中各个方法的作用 onCreate(): 做Activity上所需要数据的初始化工作. onStart(): 显示Activity界面,此时用户对界面可见但不可交互. o ...

  6. View的生命周期方法和Activity生命周期方法关系

    View 是在Activity 中使用到的,所以在自定义View的时候,我们需要了解Activity 生命周期方法和View的生命周期方法调用先后顺序.  见如下图 (1) 在Activity onC ...

  7. Java黑皮书课后题第3章:*3.33(金融:比较成本)假设你要通过两种不同的包裹运输大米。你可能会编写一个程序来比较成本,该程序提示用户输入每个包裹的重量和价格,然后显示具有更优惠的包裹

    *3.33(金融:比较成本)假设你要通过两种不同的包裹运输大米.你可能会编写一个程序来比较成本,该程序提示用户输入每个包裹的重量和价格,然后显示具有更优惠的包裹 题目 题目概述 运行示例 破题 代码 ...

  8. 一只公鸡5块钱,一只母鸡3块钱,3只小鸡一块钱,一个农夫用100块钱买100只鸡(不许解方程),怎么实现?编写java程序。...

    一只公鸡5块钱,一只母鸡3块钱,3只小鸡一块钱,一个农夫用100块钱买100只鸡(不许解方程),怎么实现?编写java程序. public class A {public static void ma ...

  9. C++ 实验二 NO.4 字符串合并:输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。

    //******************************************************************************************** //*程序 ...

最新文章

  1. C#中选择文件的例子
  2. 城市规划理论1 选址理论
  3. C++实现数组模拟链表(实现链表的增删功能)
  4. DCX读书报告Bring structure to the web有感
  5. 怎么用python编写个apk_新手用tkinter写了一个APK提取工具
  6. toString、equals方法进阶
  7. 【ACL2021】BERT也能做生成?利用多个BERT模型分离对话生成和对话理解
  8. nginx.conf 配置详解
  9. 计算机网络在化学中的应用论文,计算机在化学中应用
  10. 数独解法 C++实现
  11. MAPE 平均绝对百分误差
  12. 浙江大学 PTA 递归实现顺序输出整数
  13. 心田花开:二年级语文阅读《黄山奇石》附答案解析
  14. 细谈keep_alive
  15. npm ERR Error while executing: npm ERR C:\Program Files\Git\cmd\git.EXE ls-remote -h -t ssh://git@
  16. 2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6(8/13)
  17. 相关系数 Correlation Coefficient 的理解
  18. 推荐系统架构及流程说明
  19. 四阶龙格库塔法c语言程序,四阶龙格_库塔算法的C语言实现_毋玉芝
  20. 「镁客早报」SpaceX猎鹰或将携带3.6万蠕虫登陆空间站;苹果分析师透露AirPoda半年内迎来升级...

热门文章

  1. 建水实验中学2021高考考成绩查询,高三第一次省统测成绩发布 建水实验中学低进高出、强势崛起...
  2. linux最好用的ftp服务器软件,Linux平台下快速搭建FTP服务器
  3. python读取txt转为csv
  4. 平台的核心交互与基础角色——互联网平台建设系列
  5. Redis针对缓存击穿的解决方法-互斥锁
  6. JHOK-ZBL1漏电继电器
  7. 爆料:2999 元 的 Redmi K40 Pro 搭载骁龙 888,K40 搭载未发布次旗舰芯片
  8. 英语学习打卡-美国语文1-4
  9. 重磅!2019年中国科学院院士增选当选院士名单公布
  10. git push报错: nt: Updates were rejected because a pushed branch tip is behind its remote