备注:之前Android入门学习的书籍使用的是杨丰盛的《Android应用开发揭秘》,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增加了很多的新组件,一直没有系统的学习过。现在开始这个“完善Android学习”系列,将2.2以后的新知识做一个概览。概览来自:http://developer.android.com/about/versions/android-4.0.3.html

Android4.0.3(ICE_CREAM_SANDWICH_MR1)是Android4.0的一个增发版本,这一版增加了一些新的特性以及修复了一些BUGS。

API OverView

Social stream API in Contacts Provider

使用社交流数据作为状态更细和检查的应用现在已经允许使用用户的联系人进行数据同步了,并且为每一个联系人提供照片和相关的数据项。

包含联系人的社交流的数据库表室友ContactsContract.StreamItems定义的。每个社交流表都包含了关于每个流项的元数据的列,比如一个图标,一个标签,原始的文字内容,以及评论等等。有关流的照片会存储在由ContractsContract.StreamItemPhotos定义的另外一张表中,可以由ContactsContract.StreamItems Uri的子目录得到。

为了从一个联系人中读写社交流项,应用必须要求权限:<uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> 和 <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM">

Calendar Provicer

1)添加了CalendarContract.Colors来表示Calendar Provider中的一个颜色表。这个类为每一个账户的可访问的颜色提供了属性。颜色由账户的名字/类型的唯一的COLOR_KEY引用得到,这些值只能被同步适配器更新。(不是很明白)

2)为交互/同步支持提供ALLOWED_AVAILABLITY和ALLOWED_AATENDEE_TYPES;

3)Adds TYPE_RESOURCE (such as conference rooms) for attendees and AVAILABILITY_TENTATIVE, as well asEVENT_COLOR_KEY for events.

Home screen widgets

从Android4.0开始,home screen上的widget不能再有自己的padding,系统会依据当前屏幕的特征自动为每一个widget添加padding。这可以使得在一个grid中展示的widget更加统一一致。为了协助拥有home screen widget的应用,平台提供了一个新的方法叫做getDefaultPaddingForWidget()。应用可以调用这个方法获取系统定义的padding,然后用于计算每如何防止cell。

UItoolkit

新的方法setUserVisibleHint()和getUserVisibleHint()允许fragment设置一个fragment当前是否可见的提示。系统延迟用户不可见的fragments的启动知道可见的fragment的加载器运行起来,可见的提示默认为"true"。

Graphics

1)SurfaceTexture新的方法setDefaultBufferSize(int, int)可以设置图片缓存的默认大小,这个方法在Canvas上或者OpenGL ES上生产图片的时候,可以用来设置图片的尺寸。

2)为OpenGL ES 扩展GL_OES_EGL_image_external添加了更多的枚举值定义:GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES, GL_SAMPLER_EXTERNAL_OES, GL_TEXTURE_BINDING_EXTERNAL_OES, and GL_TEXTURE_EXTERNAL_OES;

Database

1)新的类CrossProcessCursorWrapper让content provider查询从一个cross-process的查询中获取结果更加高效。这个类是cursor的有效封装,可以被发送到远程的进程中去,它也可以将一个普通的cursor对象透明的转化成CrossProcessorCursor对象;

2)CursorWindow构造器现在需要一个name字符串作为输入,系统不再区分本地和远程的cursor windows,所以CursorWindow(boolean)现在被废弃了。

Intents

增添了针对设备上基础应用访问的类别,比如deferCATEGORY_APP_BROWSER, CATEGORY_APP_CALENDAR, CATEGORY_APP_MAPS等。

Camera

1)MediaMetadataRetriever增添了新的常量METADATA_KEY_LOCATION来让应用获得照片或者视频的位置信息;

2)CamcorderProfile添加了QVGA(320*240)分辨率,质量等级表示为QUALITY_QVGA和QUALITY_TIME_LAPSE_QVGA常量。

3)新的方法 setVideoStabilization(), setVideoStabilization(), and isVideoStabilizationSupported()当开发者可以检测个管理Camear的稳定性;

Permissions

两个新的权限:

READ_SOCIAL_STREAM和WRITE_SOCIAL_STREAM

【Android】完善Android学习(七:API 4.0.3)的更多相关文章

  1. 【Android】完善Android学习(三:API 3.0)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  2. 【Android】完善Android学习(六:API 4.0)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  3. 【Android】完善Android学习(五:API 3.2)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  4. 【Android】完善Android学习(四:API 3.1)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  5. 【Android】完善Android学习(一:API 2.3.3)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  6. 【Android】完善Android学习(二:API 2.3.4)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  7. android移动开发学习笔记(二)神奇的Web API

    本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...

  8. Android进阶:七、Retrofit2.0原理解析之最简流程【下】

    紧接上文Android进阶:七.Retrofit2.0原理解析之最简流程[上] 一.请求参数整理 我们定义的接口已经被实现,但是我们还是不知道我们注解的请求方式,参数类型等是如何发起网络请求的呢? 这 ...

  9. Android进阶:七、Retrofit2.0原理解析之最简流程【上】

    retrofit 已经流行很久了,它是Square开源的一款优秀的网络框架,这个框架对okhttp进行了封装,让我们使用okhttp做网路请求更加简单.但是光学会使用只是让我们多了一个技能,学习其源码 ...

随机推荐

  1. 王者荣耀交流协会 - 第6次Scrum会议

    Scrum master :刘耀泽 补充:由于上次的scrum会议博客没有按时交上去,因此在这里给出上次scrum会议的链接: http://www.cnblogs.com/rensijia/p/76 ...

  2. iOS- 再谈ARC里内存问题,ARC里数组、对象内存得不到释放?

    1.前言      本来以为在改成ARC以后,不再需要考虑内存问题了,可是在实践中还是发现有一些内存问题需要注意,今天我不谈block的循环引用的问题,主要说说一些对象.数组不内存得不到释放的情况. ...

  3. Alpha阶段敏捷冲刺 DAY5

    一.举行站立式例会 1.今天我们利用晚上的时间开展了站立会议,总结了一下之前工作的问题,并且制定了明天的计划. 2.站立式会议照片 二.团队报告 1.昨日已完成的工作 (1)改进了程序算法 (2)优化 ...

  4. QThread安全的结束线程

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QThread安全的结束线程     本文地址:http://techieliang.com/ ...

  5. 发布vue插件到npm上

    总体分为2个步骤 一,先写好插件 二,发布到npm上面 一,写vue插件 vue有一个开放的方法install,在vue插件需要写在这个方法里面,在vue官网,里面说的很清楚,这个方法里面可以是全局方 ...

  6. Maven 项目依赖 pom 文件模板

    下面是网上down的 pom 文件模板: <!-- 属性 --> <properties> <spring.version>4.2.4.RELEASE</sp ...

  7. Struts2 应知应会

    struts.xml 文件的 action 的配置: Struts2 中结果类型的配置来自于下面: 其中: dispatcher:转发技术,转发到一个 jsp 视图 redirect:重定向到一个 j ...

  8. TCP建立连接与释放连接过程中的几个问题

    TCP为何采用三次握手来建立连接,若采用两次握手可以吗,请说明理由? 不可以.采用三次握手是为了防止失效的连接请求报文段突然又传送到服务器,从而发生错误.当客户端发出的连接请求报文段由于某些原因没有及 ...

  9. 【插件】LinqToExcel常用对象

    1.ExcelQueryFactory对象(1)获取工作表名集合IEnumerable<string> GetWorksheetNames() //获取工作薄中的工作表名foreach ( ...

  10. ZOJ3084_S-Nim

    题目的意思是这样的,给定你若干堆石子,每次你可以从任一堆取出某些固定数量的石子,每次取完后必须保证没堆石子的数量不为0,谁无法操作了就算fail. 刚刚开始看题目的时候有点也没有思路,甚至连Sg函数也 ...