志达IT
做快乐程序员

android四大组件是什么(android常用的四种布局)

android四大组件是什么

Android四大组件分别为activity、service、contentprovider、broadcastreceiver。
一、android四大组件详解
1、activity
Activity能够看成是安卓体系的根本,在这个根本上才能够进行其他的作业,因为在安卓体系里运转的一切的程序,它的流程都必须在【Activity】中运转,一切他是最基本的模块。它的作用是一个结构或页面,每个程序会有多个【Activity】组成。
(1)一个Activity一般便是一个单独的屏幕(窗口)。
(2)Activity之间经过Intent进行通信。
(3)android运用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则体系将不识别也不执行该Activity。
2、service
Service是安卓里十分很重要的组件,它的地位和优先级别是与活动类似的,不过Service不能够自己运转,它只能在安卓的后台运转。它的作用便是与安卓的其他逐渐进行交互,举个简略例子:当咱们翻开手机上音乐播映器并将它放到后台,此刻播映的音乐便是由Service在负责控制。
1)service用于在后台完结用户指定的操作。service分为两种:
started(发动):当运用程序组件(如activity)调用startService()办法发动服务时,服务处于started状况。
bound(绑定):当运用程序组件调用bindService()办法绑定到服务时,服务处于bound状况。
2)startService()与bindService()差异:
startedservice(发动服务)是由其他组件调用startService()办法发动的,这导致服务的onStartCommand()办法被调用。当服务是started状况时,其生命周期与发动它的组件无关,而且能够在后台无限期运转,即便发动服务的组件已经被毁掉。因而,服务需求在完结任务后调用stopSelf()办法中止,或许由其他组件调用stopService()办法中止。
运用bindService()办法启用服务,调用者与服务绑定在了一同,调用者一旦退出,服务也就停止,大有“不求一起生,必须一起死”的特色。
3)开发人员需求在运用程序配置文件中声明悉数的service,运用标签。
4)Service一般位于后台运转,它一般不需求与用户交互,因而Service组件没有图形用户界面。Service组件需求继承Service基类。Service组件一般用于为其他组件供给后台服务或监控其他组件的运转状况。android
3、contentprovider(内容供给商)
内容供给商这个组件是专门为第三方运用而规划的,它十分的灵活,而且相当重要,它会为一切的运用预备一个内容窗口,而且保留数据库、文件,作用便是咱们在运用这些第三方软件的时候,能够有效的拜访,而且保护里面的数据。
1)android平台供给了ContentProvider使一个运用程序的指定数据集供给给其他运用程序。其他运用能够经过ContentResolver类从该内容供给者中获取或存入数据。
2)只需需求在多个运用程序间同享数据是才需求内容供给者。例如,通讯录数据被多个运用程序运用,且必须存储在一个内容供给者中。它的优点是统一数据拜访方法。
3)ContentProvider完成数据同享。ContentProvider用于保存和获取数据,并使其对一切运用程序可见。这是不同运用程序间同享数据的仅有方法,因为android没有供给一切运用共同拜访的公共存储区。
4)开发人员不会直接运用ContentProvider类的目标,大多数是经过ContentResolver目标完成对ContentProvider的操作。
5)ContentProvider运用URI来仅有标识其数据集,这儿的URI以content://作为前缀,表示该数据由ContentProvider来管理。
4、broadcastreceiver(播送接纳器)
在安卓体系中,播送接纳器并不是直接就能够看到的,它是程序之间传递信息时的一种机制,作用便是接纳或许发送告诉。浅显的来说播送接纳器更像是一种传递组件,它能够将信息接纳,乃至还能够对它进行过滤然后进行呼应。
1)你的运用能够运用它对外部事情进行过滤,只对感兴趣的外部事情(如当电话呼入时,或许数据网络可用时)进行接纳并做出呼应。播送接纳器没有用户界面。然而,它们能够发动一个activity或serice来呼应它们收到的信息,或许用NotificationManager来告诉用户。告诉能够用很多种方法来招引用户的注意力,例如闪烁背灯、震动、播映声音等。一般来说是在状况栏上放一个耐久的图标,用户能够翻开它并获取音讯。
2)播送接纳者的注册有两种办法,分别是程序动态注册和AndroidManifest文件中进行静态注册。
3)动态注册播送接纳器特色是当用来注册的Activity关掉后,播送也就失效了。静态注册无需忧虑播送接纳器是否被关闭,只需设备是敞开状况,播送接纳器也是翻开着的。也便是说哪怕app本身未发动,该app订阅的播送在触发时也会对它起作用。

android常用的四种布局

线性布局,一种十分常用的布局。这个布局会将所包括的空间在线性方向上顺次摆放。
线性布局的方向
在activity_main.xml中,通过android:orientation=”vertical”指定了摆放方向是笔直方向。
假如android:orientation=”horizontal”则指定摆放方向是水平方向。
留意:当LinearLayout的摆放方向是horizontal(水平方向)时,内部控件绝对不能将宽度设定为match_parent,这样的话一个控件就会将整个水平方向占满,其他控件就没有能够放置的位置了。
关键特点用法
android:layout_gravity
用于指定控件在布局中的对齐方法。
当LinearLayout的摆放方向是horizontal水平方向时,只要笔直方向上的对齐方法才会生效,此时水平方向上的长度不固定,每添加一个控件,水平方向上的长度会改动。
当LinearLayout的摆放方向是vertical笔直方向时,只要水平方向上的对齐方法才会生效。
示例:
当LinearLayout的摆放方向是horizontal水平方向时,指定笔直方向上的摆放方法。
android:layout_weight
这个特点答应咱们运用比例的方法指定控件的巨细。
当运用了android:layout_weight特点后,空间的宽度就不再由android:layout_width控制了。
示例:
咱们在EditText和Button里都将android:layout_weight特点的值指定为1,这表明EditText和Button将在水平方向平分宽度。
为什么将android:layout_weight特点的值一起指定为1就会平分屏幕宽度呢?其实原理也很简略,体系会先把LinearLayout下所有控件指定的layout_weight值相加,得到一个总值,然后每个控件所占巨细的比例便是用该控件的layout_weight值除以方才算出的总值。因而假如想让EditText占有屏幕宽度的3/5,Button占有屏幕宽度的2/5,只需要将EditText的layout_weight改成3,Button的layout_weight改成2就能够了。
RelativeLayout
相对布局。和LinearLayout摆放规矩不同,RelativeLayout愈加随意,能够通过相对定位让控件出现在布局的任何位置。
RelativeLayout的特点十分多,可是这些特点都是有规律的。android
示例:
特点介绍
layout_alignParentTop,父视图的上边
layout_alignParentBottom,父视图的下边
layout_alignParentLeft,父视图的左面
layout_alignParentRight,父视图的右边
layout_centerInParent,相对于父视图彻底居中
layout_centerHorizontal,相对于父视图水平居中
layout_centerVertical,相对于父视图笔直居中
layout_above,视图的下边与相对视图的上边对齐
layout_below,视图的的上边与相对视图的下边对齐
layout_toRightOf,视图的左面与相对视图的右边对齐
layout_toLeftOf,视图的右边与相对视图的左面对齐
【在上面的比如中,其他视图都是和Button3相互对齐的。】
layout_alignTop,视图与基准视图的上边对齐
layout_alignBottom:视图与基准视图的下边对齐
layout_alignLeft:视图与基准视图的左面对齐
layout_alignRight:视图与基准视图的右边对齐
layout_alignBaseline:视图与基准视图的基准线对
FrameLayout
FrameLayout的应用场景少了很多,这种布局没有任何的定位方法,所有的控件都会摆放在布局的左上角。
在介绍碎片的时分会用到它。
TableLayout
TableLayout答应运用表格的方法来摆放控件。
既然是表格,那就必定会有行和列,在设计表格时咱们尽量应该让每一行都拥有相同的列数,这样的表格也是最简略的。不过有时分事情并非总会依从咱们的心意,当表格的某行必定要有不相等的列数时,就需要通过兼并单元格的方法来应对。
在XML布局文件中定义表格布局的基本语法格局如下:
特点-”特点值">
UI控件
</TableRow>
UI控件
</TableLayout>
TableLayout继承自LinearLayout,因而它彻底支持LinearLayout所支持的特点,此外,它还有其他的常用特点。TableLayout布局的常用特点如表所示。

赞(0)
未经允许不得转载:志达IT网站 » android四大组件是什么(android常用的四种布局)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

志达IT网站 每天分享编程和互联网的IT技术博客

登录/注册联系我们