• Android的四大组件


    Android四大基本组件

    Activity,Service,Content Provider,BroadcastReceiver。

    Activity

    应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件,也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。

    Service

    Service用于在后台完成用户指定的操作,Service有两种状态,当应用程序组件(如Activity)调用startService方法启动服务时,服务处于started状态。当应用程序组件调用bindService方法绑定到服务时,服务处于bound状态。

    started状态是由其他组件调用startService方法启动的,当服务是started状态时,其生命周期与启动它的组件(如Activity)无关,并且可以在后台无限期运行,即使启动服务的组件(如Activity)已经被销毁。因此服务需要在完成任务后调用stopSelf方法停止,或者由其他组件调用stopService方法停止。

    bound状态是调用者何服务绑定在了一起,调用者一旦退出,服务也就终止。

    BroadcastReceiver

    应用程序可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面,然而,它们可以启动一个activity或service来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力(如闪动背光,震动,播放声音等)。一般来说在状态栏上方一个持久的图标,用户可以打开它并获取消息。

    Content Provider

    Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中,在一个SQLite数据库,或以任何其他合理的方式。其他应用可以通过ContentResolver类从Content Provider中获取或存入数据。只有需要在多个应用程序间共享数据才需要content provider。例如通讯录数据被多个不同应用程序使用,必须存储在一个Content Provider中。

    CrazyQA
  • 相关阅读:
    2013-11-26的工作-【工作日志】
    grails下的httpclient
    如何解决grails2.3.2中不能运行fork模式
    华丽的bootstrap3碰到土鳖IE6
    grails中报Cannot create a session after the response has been committed异常的解决办法
    听自己喜欢的文章-【睿读】
    动态规划----完全背包问题
    动态规划----最长公共子序列(LCS)问题
    动态规划----数字三角形问题
    动态规划----钢条切割问题
  • 原文地址:https://www.cnblogs.com/wayne-zhang/p/8296979.html
Copyright © 2020-2023  润新知