Android基础-四大组件-Activity

1、定义

Activity是Android四大组件之一,通常一个用户界面对应一个Activity,用于处理与用户交互事件。

 

2、Activity的生命周期

onCreate() →(创建不可见)→ onStart() →(可见不可操作)→ onResume() →(可操作)→ onPause() →(可见不可操作)→ onStop() →(不可见未破坏)→ onDestory() 

onRestart()

 

3、跳转

3.1 显式跳转

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

    startActivity(intent);

 

3.2 隐式跳转(可以跳转到其他程序的Activity)

        修改Activity的配置信息

        <activity android:name = "com.example.demo.SecondActivity">

                <intent-filter>

                        <action android:name ="com.example.demo.SecondActivity"/>

                        <category android:name = "android.intent.category.DEFAULT"/>

                </intent-filter>

        </activity>

 

        Intent intent = new Intent();

        intent.setAction("com.example.demo.SecondActivity");

        intent.setCategory("android.intent.category.DEFAULT");

        startActivity(intent);

 

4、启动模式

4.1 Standard(默认)

每次激活Activity都会创建Activity实例并放入任务栈

 

4.2 SingleTask

任务栈中有该实例就会重用,不会重新创建实例。适用于浏览器的主界面

 

4.3 SingleTop

栈顶的Activity如果是该模式则会重用该实例。适用于新闻阅读类应用的内容页面

 

4.4 SingleInstance

会在新任务栈中创建该实例。适用于闹铃、视频播放器等

 

 

5、安全退出多个Activity的Application

5.1 记录每次打开的Activity,退出是关闭所有

 

5.2 发送一个特定广播,Activity接收到广播后关闭

 

5.3 在onActivityResult() 中递归关闭

 

5.4 finishAffinity();

 

6、两个Activity之间的数据传递

6.1 Intent

 

    6.1.1 直接传递,intent.putExtra(key, value);

 

    6.1.2 通过bundle,intent.putExtras(bundle); 

 

    传递的对象必须可序列化

 

6.2 BroadcastReceiver

 

6.3 ContentProvider

 

6.4 Application共享数据

 

6.5 静态数据

 

6.6 持久化数据

 

6.7 onActivityResult()

 

6.8 剪切板

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值