第1章:Activity

Posted 亿钱君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第1章:Activity相关的知识,希望对你有一定的参考价值。

1. 基本应用

1.Android应用是按照MVC模式进行开发的

2.创建一个新的应用项目,命名为ActivityDemo,并默认创建MainActivity,布局文件命名为main_layout.xml

3.添加Activity,命名为Scene1Activity
在这里插入图片描述
在这里插入图片描述
注意:创建新的Activity时,自动完成两件事

  • 注册
  • onCreate()方法中添加了布局文件的引用
    在这里插入图片描述
    在这里插入图片描述

4.修改配置文件,使Scene1Activity成为应用的主Activity
在这里插入图片描述
5.在seene1_layout.xml中添加一个TextView组件并设置一些信息,并测试

在这里插入图片描述
6.隐藏应用标题栏,在onCreate()方法中添加如下代码

        ActionBar actionBar = getSupportActionBar();
        if(actionBar != null) actionBar.hide();

在这里插入图片描述

2. 运行周期

3. Activity的启动和关闭

在ActivityDemo应用中,创建一个Activity,并命名为Scene2Activity

3.1 启动Activity(页面切换)

1.解决如何从Scene1Activity中打开Scene2Activity(页面切换)

  • 在scene1_layout.xml中添加一个Button组件

在这里插入图片描述

  • 在Scene1Activity.java文件中,在onCreate()方法中增加单机切换事件
        Button btn1 = (Button)findViewById(R.id.btn1);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Scene1Activity.this,Scene2Activity.class);
                startActivity(intent);
            }
        });

在这里插入图片描述

  • 在scene2_layout.xml中添加一个TextView

在这里插入图片描述

  • 测试(页面切换)
    在这里插入图片描述

3.2 Activity返回栈

3.3 Activity启动模式

4. 数据传递

4.1 使用Intent( putExtra():向目标传递数据 )

  • 在Scene1Activity中添加一些代码,将文本信息传递到Scene2Activity页面中
    在这里插入图片描述
  • 修改Scene2Activity中一些代码,在组件txt2中显示来自Scene1Activity的信息
    在这里插入图片描述
  • 测试结果
    在这里插入图片描述

4.2 接收返回数据( )

1.Scene1Activity的onClick()方法中使用startActivityForResult()方法启动目标Activity

  • 参数1:一个intent对象
  • 参数2:当前Activity中唯一的整数ID

2.Scene2Activity布局文件中添加一个按钮

3.Scene2Activity文件中两种方法向Scene1Activity返回不同信息

  • 方法1:通过按钮返回数据
    在这里插入图片描述

  • 方法2:通过返回键返回数据

在这里插入图片描述
4.Scene1Activity.java文件中重写onActivityResult()方法接收返回数据

  • 参数一:requestCode,调用startActivityForResultI()方法指定的代码,如果Activity需要从多个目标Activity中返回数据,可以用此参数来区分。
  • 参数二:resultCode,数据返回的状态,如RESULT_OK,RESULT_CANCELED等
  • 参数三:返回数据的Intent对象
    在这里插入图片描述

5.测试结果
在这里插入图片描述

4.3 Bundle(数据自动保存与载入)

5. Intent的更多应用

以上是关于第1章:Activity的主要内容,如果未能解决你的问题,请参考以下文章

第3章 Android基础相关面试题

Reload Activity 以在 Fragment 之间重新切换

第 2 章 先从看得到的入手,探究活动

片段中不调用onReceive()方法

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

如何在 Activity(非 AppCompatActivity)中打开片段?