《android四大组件简介》由会员分享,可在线阅读,更多相关《android四大组件简介(11页珍藏版)》请在金锄头文库上搜索。
1、androidandroid四大组件简介四大组件简介Android 四大组件vActivity 活动 (掌握)vContentProvider 内容提供者 (掌握)vService 服务 (掌握)vBroadcastReceiver (掌握)vIntent 意图 (掌握)vActivity 的使用 (掌握)2Android Activity Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,ContentProvider内容提供者,BroadcastReceiver广播接收器)之一。Activity中所有操作都与用户密切相关,是一个负责
2、与用户交互的组件,可以通过setContentView(View)来显示指定控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。3Android ContentProvider 内容提供者(ContentProvider)是一个Android应用的主要构建块,为应用提供内容。他们封装数据并通过ContentResolver接口给应用程序提供数据。内容提供者可在多个应用之间共享数据。如果你不需要在多个应用程序间共享数据可以使用一个数据库,直接通过SQLiteDatab
3、ase。当一个请求是通过ContentResolver接口对给定URI权限和请求传递到内容提供者注册的权力。内容提供者可以借助于urimatcher类解释其URI,并提供相应的数据。大熊,你想要什么?4Android Service Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。Service与Activity一样都存在与当前进程的主线程中,所以,一些阻塞UI的操作,比如耗时操作不能放在service里进行,必须另外开启一个线程来处理诸如网络请求的耗时操作。如果在s
4、ervice里进行一些耗CPU和耗时操作,可能会引发ANR警告,这时应用会弹出是强制关闭还是等待的对话框。所以,对service的理解就是和activity平级的,只不过是看不见的,在后台运行的一个组件,这也是为什么和activity同被说为Android的基本组件。5vAndroid BroadcastReceiverAndroid广播指的是:在一个应用程序运行的时候可以自定义一个消息类型,让相应的接收器去处理这个消息或者是系统消息,比如来电话了、来短信了、手机没电了等等系统发送的消息。系统发送的消息也可以通过广播的方式通知给应用程序。Android广播的分类:1、普通广播:(扩音器形式)它
5、是完全异步的。所有的receivers接收器的执行顺序不确定。这种方式效率更高。2、有序广播:(传话形式)这种广播在处理器端的处理顺序是按照处理器的不同优先级来区分的,高优先级的处理器会优先截获这个消息,并且可以将这个消息删除;相同优先级别的广播先注册的先接受;优先级别androidManifest.xml中配置android:priority=“10”取值范围:-10001000数值越大优先级别越高;3、粘性消息:粘性消息在发送后就一直存在于系统的消息容器里面,等待对应的处理器去处理,如果暂时没有处理器处理这个消息则一直在消息容器里面处于等待状态。注意:普通广播和粘性消息不能被截获,而有序广
6、播是可以被截获的;6Android Intent Intent是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助完成android各个组件之间的通讯。比如说调用startActivity()来启动一个activity,或者由broadcastIntent()来传递给所有感兴趣的BroadcaseReceiver,再或者由startService()/bindservice()来启动一个后台的service.可以看出来,intent主要是用来启动其他的activity或者service,所以可以将intent理解成activity之间的粘合剂.可以将Intent理解
7、为连接四大组件的纽带.在四大组件之间传递数据.7Android Activity的使用 创建第一个activity1、创建一个类,并继承Activity2、重写onCreate方法3、在AndroidManifest.xml文件中的application标签中注册。8Activity 的跳转Android的跳转是指从当前的活动(界面)跳入到另一个活动(界面),在跳转过程中需要借助Intent.Activity跳转通过intent.Intent作用:组件之间的跳转,传递基本数据。1-显式调用:Intentintent=newIntent(this,SampleActivity.class);startActivity(intent);2-隐式调用Intentintent=newIntent();intent.setaction(“android.xx.xx.xx”);startActivity(intent);9Freedom is not free!作业:1、创建一个名叫FirstActivity的活动。在其界面显示一个按钮。2、创建一个SecondActivity的活动,在FirstActivity界面点击按钮跳转到SeconActivity中。10结束结束