Android中的UI类关系图

时间:2024-03-28 20:02:33

Android中特有的基类有:Context、View、Dialog、Intent、Fragment、BroadcastReceiver

一、Context

           Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有一个完整的Android工程环境,在这个环境下,我们有像Activity、Service、BroadcastReceiver等系统组件,而这些组件并不是像一个普通的Java对象new一下就能创建实例的了,而是要有它们各自的上下文环境,也就是我们这里讨论的Context。可以这样讲,Context是维持Android程序中各组件能够正常工作的一个核心功能类。

                                Android中的UI类关系图

Application

         每个APP都有一个Application实例:如果我们没有继承Application子类自定义它的话,APP会创建一个默认的实例。
Application实例拥有着与APP一样长的生命周期:在APP开启的时候首先就会实例化它,然后才是入口的Activity或者Service等。
Application与APP“同生共死”,在一个APP的生命周期只实例化一次,所以它“天生”就是一个单例,不需要使用单例模式去实现它。

         自定义Application对象在Android应用中不是必须的,因为没有自定义,系统会提供默认的,但是利用Application对象在一些大型项目中或是不可缺少的,我们来看看Application对象的作用:
1.保存全局变量
        这样我们就不需要将全局变量保存到static变量中了,而是写在Application对象中。
2.初始化全局变量
        由于Application是应用的真正入口,我们可以在此对全局变量进行始化,比如目录创建 ,数据库操作对象创建等。
3.程序的退出
        由于每个应用必会先创建Application对象,Application也有自己的生命周期,在退出程序前覆写exitApp()方法,可以达到完全退出应用的作用。

虽然Application的作用很明显,但是使用不当,会造会很难查觉的bug
注意如下:
1.不要在Application中轻易开启线程
2.Application会自动重启,此时注意对象的恢复

Activity

    Acvitity是一个Android应用程序组件(也称为Android四大组件之一),它提供了一个屏幕以及可以容纳一些视图组件,用户可以通过该屏幕及其中的组件进行交互以执行某些操作,例如拨打电话,拍照,发送电子邮件或查看地图。每个活动都有一个窗口,用于绘制其用户界面。窗口通常填满屏幕,但可能比屏幕小,并漂浮在其他窗口的顶部

Service

        Service(服务,四大组件之一)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行,Service基本上分为两种形式:

 

二、View

          View是Android中所有控件的基类,不管是简单的TextView,Button还是复杂的LinearLayout和ListView,它们的共同基类都是View;View是一种界面层的控件的一种抽象,它代表了一个控件,除了View还有ViewGroup,从名字来看ViewGroup可以翻译为控件组,即一组View

              Android中的UI类关系图

 

             Android中的UI类关系图

三、Dialog

                     Android中的UI类关系图

 

相关文章