【Android】完善Android学习(七:API 4.0.3)
备注:之前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)的更多相关文章
- 【Android】完善Android学习(三:API 3.0)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(六:API 4.0)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(五:API 3.2)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(四:API 3.1)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(一:API 2.3.3)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(二:API 2.3.4)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- android移动开发学习笔记(二)神奇的Web API
本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...
- Android进阶:七、Retrofit2.0原理解析之最简流程【下】
紧接上文Android进阶:七.Retrofit2.0原理解析之最简流程[上] 一.请求参数整理 我们定义的接口已经被实现,但是我们还是不知道我们注解的请求方式,参数类型等是如何发起网络请求的呢? 这 ...
- Android进阶:七、Retrofit2.0原理解析之最简流程【上】
retrofit 已经流行很久了,它是Square开源的一款优秀的网络框架,这个框架对okhttp进行了封装,让我们使用okhttp做网路请求更加简单.但是光学会使用只是让我们多了一个技能,学习其源码 ...
随机推荐
- c语言的知识与能力自评
知识与能力 C语言最早是由美国Bell实验室设计的,主要用作UNIX系统的工作语言,后来发展成为一种通用语言.C与UNIX有密切的关系,C最早是在PDP机器上用UNIX操作系统上开发的,后来又用C语言 ...
- FormsAuthentication.SetAuthCookie 方法登录
FormsAuthentication.SetAuthCookie 方法,登录的原理. FormsAuthentication.SetAuthCookie 方法登录的过期时间. 登录相关阅读 asp. ...
- js动态显示指定的时间
<p id="timeShow">17:0:50</p> <script> setInterval("time()", 10 ...
- echarts tooltip 自定义formatter怎么设置颜色?
formatter: function(params) { var result = ''; params.forEach(function (item) { result += item.marke ...
- get 与 next()
- 【Jmeter】集合点Synchronizing Timer
集合点: 简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,每到输入用户名和密码登录时,所有的虚拟 ...
- Python中int()函数的用法浅析
int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builti ...
- BZOJ3884 上帝与集合的正确用法(欧拉函数)
设f(n)为模n时的答案,由2k mod n=2k mod φ(n)+φ(n) mod n(并不会证),且k mod φ(n)=f(φ(n)),直接就可以得到一个递推式子.记搜一发即可. #inclu ...
- 洛谷 P5078 Tweetuzki 爱军训
题目连接 很明显,1e6的范围,要么nlgn要么O(n) nlgn的话可能会想到借助一些数据结构,我并没有想到这种做法 对于这种题,O(n)的做法要么是线性递推,要么就应该是贪心了 考虑这道题我们怎么 ...
- 深入理解JVM一内存模型、可见性、指令重排序
一.内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再把需求明确一点,一个java线程对一个变量的更新怎么通知到另外一个线程呢?我们知道java当中的实例对象.数组 ...