AndroidStudio-3.2.1(四) 四大组件入门之Activity

本篇介绍Android四大组件之Activity基本知识和常用操作。

Android四大组件分别为activity、service、content provider、broadcast receiver。

Activity

Activity可简单理解为用户交互界面,一个app可以包含多个activity。这里介绍activity的创建、相互之间的调用及数据传递、生命周期管理。

1. 创建activity
  • 新建app时会默认创建一个activity,我们这里新添加一个activity。在项目文件夹上右键选择一个EmptyActivity添加到项目中。
    在这里插入图片描述
  • 项目目录中会增加java和xml两个文件。java用来编写业务逻辑代码,xml用来编辑界面布局。同时在项目资源清单文件(AndroidManifest.xml)会自动增加一个activity的配置项,注意中的内容,有这两行的说明这是主activity,app启动后就显示这个界面。
    在这里插入图片描述
 <activity android:name=".TestActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
  </activity>
2.activity相互调用及数据传递

activity之间的调用是通过系统内置函数startActivity和finish来实现的。如果想传递参数或数据,需要用到Intent,这是一个与基本组件相关的数据对象,用来指定启动的目标组件。具体见代码及注释:

        Intent intent = new Intent(TestActivity.this, HelloActivity.class);//参数释义:(当前activity,目标activity)
        intent.putExtra("msg", "activity之间传递数据");//以key-value方式传递
        Bundle bd = new Bundle();//可以存储复杂类型数据
        bd.putString("msg", "使用bundle传递复杂数据");
        startActivity(intent);//启动另一个activity

另一个activity里接收数据:

    String msg = getIntent().getStringExtra("msg");//接收简单数据
    Bundle bd = getIntent().getExtras();//接收复杂数据
    String msg2 = bd.getString("msg");

启动另一个activity后,也可以返回数据给当前activity,需要用startActivityForResult方法启动,并使用onActivityResult来接收返回数据。

3.生命周期管理

在这里插入图片描述
一个Activity有3种状态:运行、暂停和停止.在android中共有7个函数在不同状态之间切换,具体可参考上图.我们也可以在as里重写这7个方法,来观察不同的操作(例如启动app、退回桌面、从最近应用中启动等)引起的状态变换.代码如下:

    @Override
    protected void onStart() {
        super.onStart();
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    @Override
    protected void onStop() {
        super.onStop();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值