



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android开发日志常用控件篇(容器控件)android简介:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。Android的系统架构和其操作系统一样,采用了分层的架构。Android结构从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括;丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。Android开发四大组件分别是:活动(Activity): 用于表现功能。服务(Service): 后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(Content Provider): 支持在多个应用中存储和读取数据,相当于数据库。活动(当前界面视图):Android 中,Activity是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么Activity就相当于一个网页。在Activity 当中可以添加一些Button、Check box 等控件。可以看到Activity 概念和网页的概念相当类似。一般一个Android 应用是由多个Activity 组成的。这多个Activity 之间 可以进行相互跳转,例如,按下一个Button按 钮后,可能会跳转到其他的Activity。和网页跳转稍微有些不一样的是,Activity 之间的跳转有可能返回值,例如,从Activity A 跳转到Activity B,那么当Activity B 运行结束的时候,有可能会给Activity A 一个返回值。这样做在很多时候是相当方便的。当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。用户可以通过回退操作返回到以前打开过的屏幕。可以选择性的移除一些没有必要保留的屏幕,因为Android会把每个应用的开始到当前的每个屏幕保存在堆栈中。服务:Service 是android 系统中的一种组件,它跟Activity 的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service 是没有界面的长生命周期的代码。Service是 一种程序,它可以运行很长时间,但是它却没有用户界面。这么说有点枯燥,来看个例子。打开一个音乐播放器的程序,这个时候若想上网了,那么,打开 Android浏览器,这个时候虽然已经进入了浏览器这个程序,但是,歌曲播放并没有停止,而是在后台继续一首接着一首的播放。其实这个播放就是由播放音 乐的Service进行控制。当然这个播放音乐的Service也可以停止,例如,当播放列表里边的歌曲都结束,或者用户按下了停止音乐播放的快捷键等。 Service 可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD 卡上文件的变化,再或者在后台记录地理信息位置的改变等等,总之服务嘛,总是藏在后头的。开启Service有两种方式:(1) Context.startService():Service会经历onCreate - onStart(如果Service还没有运行,则android先调用onCreate()然后调用onStart();如果Service已经运行, 则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次 );StopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用StopService的话,Service会一直在后台 运行。该Service的调用者再启动起来后可以通过stopService关闭Service。 注意,多次调用Context.startservice()不会嵌套(即使会有相应的onStart()方法被调用),所以无论同一个服务被启动了多少 次,一旦调用Context.stopService()或者StopSelf(),他都会被停止。补充说明:传递给StartService(0的 Intent对象会传递给onStart()方法。调用顺序为:onCreate - onStart(可多次调用) - onDestroy。(2) Context.bindService():Service会经历onCreate() -onBind(),onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其他操作。这个时候把调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Srevice就会调用onUnbind - onDestroyed相应退出,所谓绑定在一起就共存亡了。广播接收器:在Android 中,Broadcast是 一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver 是对发送出来的Broadcast进行过滤接受并响应的一类组件。可以使用BroadcastReceiver 来让应用对一个外部的事件做出响应。这是非常有意思的,例如,当电话呼入这个外部事件到来的时候,可以利用BroadcastReceiver 进行处理。例如,当下载一个程序成功完成的时候,仍然可以利用BroadcastReceiver 进行处理。BroadcastReceiver不能生成UI,也就是说对于用户来说不是透明的,用户是看不到的。BroadcastReceiver通过 NotificationManager 来通知用户这些事情发生了。BroadcastReceiver 既可以在AndroidManifest.xml 中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。只要是注册了,当事件来临的时候,即使程序没有启 动,系统也在需要的时候启动程序。各种应用还可以通过使用Context.sendBroadcast () 将它们自己的Intent Broadcasts广播给其他应用程序。数据共享:Content Provider 是Android提供的第三方应用数据的访问方案。在Android中,对数据的保护是很严密的,除了放在SD卡中的数据, 一个应用所持有的数据库、文件等内容,都是不允许其他直接访问的。Andorid当然不会真的把每个应用都做成一座孤岛,它为所有应用都准备了一扇窗,这 就是Content Provider。应用想对外提供的数据,可以通过派生Content Provider类, 封装成一枚Content Provider,每个Content Provider都用一个uri作为独立的标识,形如:content:/com.xxxxx。所有东西看着像REST的样子,但实际上,它比REST 更为灵活。和REST类似,uri也可以有两种类型,一种是带id的,另一种是列表的,但实现者不需要按照这个模式来做,给id的uri也可以返回列表类型的数据,只要调用者明白,就无妨,不用苛求所谓的REST。以上数据源自于百度百科android容器控件:Android是由界面布局和底层代码实现,界面布局分为容器控件和独立控件。容器控件:LinearLayout(线性布局)常用属性:orientation布局排列方式:属性:horizontal,vertical.gravity 子元素对齐方式,常用属性:centerlayout_gravity 组件与父容器对齐方式weight 权重divider 分割线RelativeLayout(相对布局)常用属性:第一类:属性值为true或false android:layout_centerHrizontal水平居中 android:layout_centerVertical垂直居中 android:layout_centerInparent相对于父元素完全居中 android:layout_alignParentBottom贴紧父元素的下边缘 android:layout_alignParentLeft贴紧父元素的左边缘 android:layout_alignParentRight贴紧父元素的右边缘 android:layout_alignParentTop贴紧父元素的上边缘 android:layout_alignWithParentIfMissing如果对应的兄弟元素找不到的话就以父元素做参照物第二类:属性值必须为id的引用名“id/id-name”android:layout_below在某元素的下方android:layout_above在某元素的的上方android:layout_toLeftOf在某元素的左边android:layout_toRightOf在某元素的右边android:layout_alignTop元素的上边缘和某元素的的上边缘对齐android:layout_alignLeft本元素的左边缘和某元素的的左边缘对齐android:layout_alignBottom本元素的下边缘和某元素的的下边缘对齐android:layout_alignRight本元素的右边缘和某元素的的右边缘对齐第三类:属性值为具体的像素值,如30dip,40pxandroid:layout_marginBottom离某元素底边缘的距离android:layout_marginLeft离某元素左边缘的距离android:layout_marginRight离某元素右边缘的距离android:layout_marginTop离某元素上边数据来源:/notenlife/article/details/7256363TableLayout(表格布局)android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。android:shrinkColumns:设置指定的列为可收缩的列。当可收缩的列太宽(内容过多)不会被挤出屏幕。当需要设置多列为可收缩时,将列序号用逗号隔开。列元素(Button)属性:(奇怪的是button 里面没有android:layout_column 和android:layout_span两个属性,写进去无反应,还不知道为什么)android:layout_colum:设置该控件在TableRow中指定的列。android:layout_span:设置该控件所跨越的列数。数据来源:/zhangs1986/archive/2013/01/17/2864536.htmlFrameLayout(单帧布局)是一个框架布局样式,可以用include标签载入定义的另一个layout文件,所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout 中的一个子元素指定一个位置。后一个子元素将会直接在前 一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。android:foregroundsetForeground(Drawable)设置绘制在所有子控件之上的内容android:foregroundGravitysetForegroundGravity(int)设置绘制在所有子控件之上内容的gravity属性数据来源/kyoky_xxj/article/details/87
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省遂宁二中2025届高一下化学期末调研模拟试题含解析
- 2025届湖南省长沙市铁路第一中学高一下化学期末监测试题含解析
- 江苏省泰州市姜堰区2025届高一化学第二学期期末质量跟踪监视模拟试题含解析
- 歌迷营销活动方案
- 毕业氛围活动方案
- 河南联通助老活动方案
- 泉州团建活动策划方案
- 油画营销活动方案
- 植物参赛活动方案
- 汽车踩轮胎活动方案
- 电大市场营销试题及答案
- 北师大版(2024)七年级上册生物期末复习全册考点背诵提纲
- 北京市西城区2021-2022学年八年级下学期期末考试语文试题(WORD版无答案)
- 送达地址确认书(法院最新版)
- 会计师事务所工程财务决算审核报告
- 上海小学语文四年级上册词语表(共3页)
- 超声回弹综合法计算表(带公式)
- 土(宕渣)的综合毛体积密度试验自动计算用表
- 甘油丙三醇MSDS
- 青岛一模化学试题
- 常德市自来水公司水表管理制度
评论
0/150
提交评论