Android学习 Components

App Components:

Activity  后台与前台ui layout交互

Service  在后台,无ui layout

broadcast receiver 广播接收器  监听组件 

content provider 内容提供器,不同app之间的数据交互

注意:Intent 实际上不是组件,用来封装app内的组件即Activity , Service , BroadCast Receiver


1.Intent 与Intent Filter

Intent 实际上不是组件,用来封装app内的组件即Activity , Service , BroadCast Receiver。

显示Intent:明确指定触发或启动的组件

隐式Intent:需要指定触发或启动的组件应满足怎样的条件,被调用组件通过IntentFilter申明自己所满足的条件,说明自己能处理哪些隐式Intent

2.Activity

生命周期:

public class ExampleActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // The activity is being created.
    }
    @Override
    protected void onStart() {
        super.onStart();
        // The activity is about to become visible.
    }
    @Override
    protected void onResume() {
        super.onResume();
        // The activity has become visible (it is now "resumed").
    }
    @Override
    protected void onPause() {
        super.onPause();
        // Another activity is taking focus (this activity is about to be "paused").
    }
    @Override
    protected void onStop() {
        super.onStop();
        // The activity is no longer visible (it is now "stopped")
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        // The activity is about to be destroyed.
    }
}
注意:

把Activcity想成 录音机播放录音带的过程

1.onCreate录音带放进录音机

2.onStart开始播放录音带

3.onResume 继续播放

4.onPause 暂停播放(Activity 相关页面可见)

5.onStop 停止播放,但录音带还在录音机里(Activity还在内存里,但页面不可见)

6.onDestroy 录音带拿出来(Activity 不在内存里了)


在一个activity里start另一个activity,两个activity都经历生命周期,如在A里开启B

1.A 会onPause

2.B onCreate onStart onResume(B 获得焦点)

3.如果A不再需要可见,则A onStop


3.Fragment(看做一个Activity的子Activity)

Fragment为一个Activity的一部分的用户界面,可在一个Activity中有多个Fragment组成多界面,Fragments有自己的生命周期,在该个Activity中可以添加或移除Fragment.

注意:Fragment作为子Activity,因此一定要被嵌入一个Activity, Fragment的生命周期会直接影响到host Activitu的生命周期。

使用Fragment例子:

用处:适应不同的屏幕尺寸

新闻app,屏幕左边为新闻标题列表,屏幕右边为一条新闻内容,新闻标题与新闻内容是在一个activity,在一个屏幕上,不需要跳转页面,(否则不是标题一个activity,内容一个activity需要跳转页面)

app底层菜单栏,屏幕下边为选项,屏幕上边为选项的内容


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值