备注:之前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. 一个网页从输入URL到页面加载完的过程

    过程概述 1.浏览器查找域名对应的IP地址 2.浏览器根据IP地址与服务器建立socket连接 3.浏览器与服务器通信:浏览器请求,服务器处理请求和响应 4.浏览器与服务器断开连接 具体过程 1.搜索 ...

  2. Scrum立会报告+燃尽图(十月二十六日总第十七次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246 项目地址:https://git.coding.net/zhang ...

  3. 《Linux内核与分析》第八周

    by 20135130王川东 一.进程切换关键代码switch-to分析     1.进程调度与进程调度时机分析 1)不同类型的进程有不同的调度要求 分类:I/0-bound:频繁的进行I/o 通常会 ...

  4. OOP 学习笔记汇总

    1.1 引用 1.2 const关键字 1.3 动态内存分配 1.4 内联函数和重载函数函数参数缺省值 1.5 类和对象的基本概念与用法1 2.1 类和对象的基本概念2

  5. 关《我是IT小小鸟》有感

    我一直认为大学就是一个自由的舒适的学习环境,没有人可以干扰你限制你,以至于我到了大学之后只剩下了颓废的生活.每天上课玩手机,下课玩电脑,吃饭叫外卖,从不去锻炼,周末就熬夜通宵,状态越来越差,导致我逐渐 ...

  6. 第三章 广义线性模型(GLM)

    广义线性模型 前面我们举了回归和分类得到例子.在回归的例子中,$y \mid x;\theta \sim  N(u,\sigma ^{2})$,在分类例子中,$y\mid x;\theta \sim ...

  7. LAMP环境搭建Wordpress个人博客

    LAMP简要介绍 L:LinuxA:Apache(httpd)M:MySQL , MariadbP:php, perl , python 静态资源:图片,文档,视频,HTML代码,CSS代码,js代码 ...

  8. String、StringBuilder与StringBuffer的区别

    1.String类是public.final修饰的. 在Java中,被final修饰的类是不允许被继承的,并且String它的成员方法都默认为final方法. 查看源码得知,String类其实是通过c ...

  9. python实现进制之间的转换

    十进制转36进制: #36位映射模板 loop = '0123456789abcdefghijklmnopqrstuvwxyz' # 测试用例输入 n = a = [] : a.append( loo ...

  10. C#获取当前路径的方法如下

    1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径. 2. System.Environm ...