当前位置:首页 » 《关注互联网》 » 正文

Android四大组件之一——Activtiy_m0_60557165的博客

10 人参与  2021年09月05日 12:43  分类 : 《关注互联网》  评论

点击全文阅读


新手上路,请多多指教!

Activity是什么?

         Activity英文译为:活动。

        Activity是安卓四大组件(Activity、Service、ContentProvider、BroadcastReceiver)之一,它是一个界面,用户可以通过操作与这个“界面”进行交互从而实现某些操作。

Activity的生命周期

        onCreate()

                在Activity第一次启动的时候执行

        onStart() 

                在Activity界面加载显示出来的时候执行

        onResume()

               在Activity解除了被锁屏状态或者被其他东西盖住了,系统就会调用onResume()方法,让Activity再次今入运行状态

        onPause()

                在Activity被其他东西覆盖住了(对话框)或者锁屏了是调用

        onStop()

                在Activity转到新的Activity或者home箭调用

        onDestroy()       

                在Activity被销毁的时候执行

        

         ps:图片来源于网络

  创建一个Activity

使用软件:android studio

 

              

 Activity之间的“沟通的桥梁”——Intent

        Intent是什么

        Intent译为“意图”,可以指定当前组件要执行的动作、用来不同组件之间的数据传递、启动Activity和Service、发送广播等

        显示意图

        可以直接通过类名开启指定的目标组件

        隐式意图

        可以用来启动其他应用的组件,Android会通过intent filter的action、data或者category来匹配目标的组件

       

启动一个Activity

        Intent的构造方法 

        

        一般启动

//创建一个Intent对象
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
//启动Activity
startActivity(intent);

        带结果启动

            第一个参数是一个Intent对象,第二个参数是请求码

Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,2);

        

 返回Activty

        一般返回

        调用finsh()方法

        带结果返回

        第一个参数:参数类型是int,是用于知道是谁返回的

        第二个参数:参数类型是Intetn的实例化对象

int result_Code=3;
Intent data=new Intent();
setResult(result_Code,data);
finish();

        接受返回的数据

        当我们通过第一个Acticity通过startActivityForResult()启动了另一个Activity,并且第二个也是带结果的返回,那要怎么处理另外一个的“返回”呢?

        重写第一个Activiy的onActivityResult()方法

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==2&&resultCode==3){
            Toast.makeText(MainActivity.this,data.getStringExtra("Result"),Toast.LENGTH_SHORT).show();    
        }
}

向要启动的Activity传递数据

 通过Intent.putExtra()方法把数据存储进去,当调到下个Activity的时候通过Intent.getXXXExtra()方法将数据取出来

        

//MainActiviy
    Intent intent=new Intent(MainActivity.this,SecondActivity.class);
    intent.putExtra("Messsage","This is MainAcitivity's  message!");    
    //启动Activity
    startActivity(intent);
//SencondActivity
    Intent secondInent=getIntent();                  
Toast.makeText(SecondActivity.this,intent.getStringExtra("Message"),Toast.LENGTH_SHORT).show();

         

 

 

   


点击全文阅读


本文链接:http://zhangshiyu.com/post/27031.html

启动  第一个  返回  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1