Android群英传(2)——Android四大组件五大布局
来源:互联网 发布:flord算法 编辑:程序博客网 时间:2024/04/28 19:35
这一次,我倾尽所有,换你一世陪伴。
Android App组件架构,通常就是我们所说的四大组件,指的就是Activity、BroadCastReciever、ContentProvider、Service,它们是组成一个Android App的最基本元素。
四大组件详解
1. Activity
Activity是Android程序与用户交互的窗口,从视觉效果来看,一个Activity占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。
(说白了就是每个软件启动开,那个展示在屏幕上的界面就是个Activity)
2. BroadCastReciever
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。
在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等等。
3. ContentProvider
提供第三方应用数据的访问方案。可以派生ContentProvider类,对外提供数据,像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的接口模型,大大简化了上层应用,对数据的整合提供了更方便的途径。(像读取短信或者联系人,可以通过ContentProvider)
4. Service
就是剥离了界面的Activity,它们在很多Android的概念方面比较接近,都是封装一个完整的功能逻辑,通常都是后台长时间运行,接受上层指令,完成相关事务的模块。定义好需要接受的Intent,提供同步或异步的接口,在上层绑定了它后,通过这些接口(很多时候都是RPC的…)进行通信。(像QQ音乐等一系列音乐播放器后台运行)
五大布局详解
FrameLayout(框架布局)
所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。
LinearLayout(线性布局)
每一个LinearLayout里面又可分为
垂直布局(android:orientation="vertical"
)
水平布局(android:orientation="horizontal"
)
当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下
水平布局时,只有一行,每一个元素依次向右排列。
AbsoluteLayout(绝对布局)
绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。
RelativeLayout(相对布局)
相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:
相对于某一个元素:
android:layout_below
android:layout_toLeftOf
相对于父元素的地方
android:layout_alignParentLeft
android:layout_alignParentRigh
TableLayout(表格布局)
每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素。
每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。
部分内容摘自(百度、Android群英传、水流星的博客http://blog.sina.com.cn/anlntse )。
- 可关注微信公众号(zhudekoudai 、smart_android)
- QQ群号: 413589216
- 专注Android分享:http://www.codernote.top/
- Android群英传(2)——Android四大组件五大布局
- android中四大组件,五大布局
- Android 四大组件+五大布局
- Android 四大组件和五大布局
- Android四大组件和五大布局
- Android 四大组件·五大布局
- Android四大组件五大布局
- Android 四大组件 五大布局
- Android 四大组件五大布局
- Android 四大组件五大布局
- Android 四大组件和五大布局
- Android 四大组件五大布局
- Android之四大组件五大布局
- 【转载】Android 四大组件·五大布局
- Android之四大组件、六大布局、五大存储
- Android之四大组件、六大布局、五大存储
- Android 开发 四大组件、六大布局、五大存储
- Android之四大组件、六大布局、五大存储
- Hibernate之"一对多多对一关联关系"
- 蓝桥杯:Sine之舞
- CodeForces 634A-Island Puzzle【找规律】
- linux输入子系统--按键驱动
- 【bzoj3551】【ONTAK2010】【peaks加强版】【主席树】
- Android群英传(2)——Android四大组件五大布局
- 解决java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/Pattern
- 常用java正则表达式
- 二.djangoECHO项目的建立
- 深度学习入门:Fully Convolutional Networks for Semantic Segmentation
- 做产品分析时,问清楚这 60 个问题
- Java8 十大新特性
- 如何在caffe中自定义网络层
- Android Studio导入github下载的project和module的正确姿势