Android各个版本API的区别
Android是一种基于Linux的自由及开放源代码的操作系统
Android是⼀种基于Linux的⾃由及开放源代码的操作系统Android是⼀种基于Linux的⾃由及开放源代码的操作系统,主要使⽤于移动设备,如智能⼿机和平板电脑,由Google公司和开放⼿机联盟领导及开发。
尚未有统⼀中⽂名称,中国⼤陆地区较多⼈使⽤“安卓”或“安致”。
Android操作系统最初由Andy Rubin开发,主要⽀持⼿机。
2005年8⽉由Google收购注资。
2007年11⽉,Google与84家硬件制造商、软件开发商及电信营运商组建开放⼿机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权⽅式,发布了Android的源代码。
第⼀部Android智能⼿机发布于2008年10⽉。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
2011年第⼀季度,Android在全球的市场份额⾸次超过塞班系统,跃居全球第⼀。
2012年11⽉数据显⽰,Android占据全球智能⼿机操作系统市场76%的份额,中国市场占有率为90%。
中⽂名:安卓外⽂名:Android开发商:Google、开放⼿持设备联盟发⾏商:Google发⾏时间:2008年9⽉23⽇编程语⾔:C/C++(底层)Java等(应⽤层)系统家族:类Unix,Linux源码模式:⾃由及开放源代码软件内核类型:宏内核(Linux内核)软件许可:Apache License, GPL等Android⼀词的本义指“机器⼈”,同时也是Google于2007年11⽉5⽇宣布的基于Linux平台的开源⼿机操作系统的名称,该平台由操作系统、中间件、⽤户界⾯和应⽤软件组成。
Android⼀词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻⼩说《未来夏娃》(L'ève future)中。
他将外表像⼈的机器起名为Android。
android hiddenapi原理
android hiddenapi原理
Android HiddenAPI 是一个非官方的API 集合,它提供了许多在Android 官方SDK 中未公开的API。
这些API 可以用于访问和操作一些Android 系统内部的功能和数据,但需要注意的是,使用这些API 是有风险的和不稳定的,因为它们可能会在未来的Android 版本中发生变化或被移除。
Android HiddenAPI 的原理主要是通过反射(Reflection)技术来实现的。
反射是Java 的一种特性,它允许程序在运行时动态地访问和操作类的成员变量和方法。
通过反射,Android HiddenAPI 可以访问那些在官方SDK 中不可见的方法和类,从而实现了隐藏的功能。
需要注意的是,由于Android HiddenAPI 使用了反射技术,因此它只能在相同版本的Android 系统上运行。
如果目标设备上的Android 系统版本发生了变化,那么一些隐藏的API 可能无法正常工作,甚至可能会导致程序崩溃。
移动应用开发与前端技术
移动应用开发与前端技术一、移动应用开发概述1.移动应用(Mobile App)的定义与分类–定义:移动应用是指在智能手机、平板电脑等移动设备上运行的应用程序。
–分类:原生应用(Native App)、Web应用(Web App)、混合应用(Hybrid App)。
2.移动应用开发平台–iOS:使用Swift或Objective-C语言,基于Xcode开发环境。
–Android:使用Java或Kotlin语言,基于Android Studio开发环境。
–Windows Phone:使用C#语言,基于Visual Studio开发环境。
–HTML5:使用HTML、CSS、JavaScript等技术,跨平台Web 应用。
3.移动应用开发流程–需求分析:明确应用目标、功能、用户群体等。
–设计:绘制界面原型、交互设计等。
–开发:编写代码、集成第三方库或API。
–测试:功能测试、性能测试、兼容性测试等。
–发布:提交应用至应用商店、上线运营。
二、前端技术概述1.前端技术的定义与组成–定义:前端技术是指用于开发网页界面和实现用户交互的一组技术。
–组成:HTML、CSS、JavaScript、框架与库。
2.HTML(HyperText Markup Language)–基本结构:<!DOCTYPE html>、<html>、<head>、<body>。
–常用标签:<div>、<span>、<a>、<img>、<form>等。
–语义化标签:<header>、<nav>、<section>、<article>、<footer>等。
3.CSS(Cascading Style Sheets)–选择器:标签选择器、类选择器、ID选择器、属性选择器等。
–布局:盒模型、浮动、定位、Flexbox、Grid等。
Android—API中文文档
Android2.2——API中文文档LLGYZB@目录:(1)—— TextView(2)—— EditText(3)—— AccessibilityService(4)—— Manifest(5)—— View(6)—— ImageView(7)—— ImageButton(8)—— QuickContactBadge(9)—— ZoomButton(10)—— CheckBox(11)—— RadioButton(12)—— Button(13)—— ToggleButton(14)—— ViewStub(15)——GridView一、TextView1、结构ng.Object↳android.view.View↳android.widget.TextView2、已知直接子类:Button, CheckedTextView, Chronometer, DigitalClock, EditText3、已知间接子类:AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText,MultiAutoCompleteTextView, RadioButton, ToggleButton二、EditText1、结构ng.Object↳ android.view.View↳android.widget.TextView↳ android.widget.EditText已知直接子类:AutoCompleteTextView, ExtractEditText已知间接子类: MultiAutoCompleteTextView2、xml 属性补充说明:a).由于是继承自TextView,所以属性是一样的,但是这里重点补充了输入法相关的属性说明和研究,部分注释也做了相应的调整。
b).Word格式下载/source/26641643、例子3.1<!--[endif]-->android:imeOptions例子<EditText android:id="@+id/txtTest" android:imeOptions="actionGo" android:layout_width="100dp" android:layout_height="wrap_con tent"></EditText>((EditText)findViewById(R.id.txtTest)).setOnEditorActionListener( new TextView.OnEditorActionListener() {@Overridepublic boolean onEditorAction(TextView v, int actionI d,KeyEvent event) {if (actionId == EditorInfo.IME_ACTION_GO) {Toast.makeText(TestActivity.this, "你点了Go!", Toast.LENGTH_SHORT).show();}return false;}});三、AccessibilityService1、结构ng.Object↳android.content.Context↳android.content.ContextWrapper↳android.app.Service↳android.accessibilityservice.AccessibilityServicepublic abstract class AccessibilityService extends Service2、类概述当AccessibilityEvent事件被启动后AccessibilityService 会接收回调函数运行于后台,这些事件指的是在用户接口间的状态转换,比如,焦点变化,按钮被点击等。
Android的系统及应用的架构
3.1 视图层
在视图层中,主要使用 Fragment 来完成 各个模块界面的设计,同时还要遵守契约层中 定义的规则,将定义的抽象方法实现,展示器 层将调用这些方法来定义视图层的数据展示方 式。
在 MVP 架构中,其中 M:模型层(Model) 主要包括本地缓存访问组件和网络数据访问 组件;V: 视 图 层(View) 主 要 由 Activity、 Fragment、Adapter 这三个组件构成,主要功 能是完成应用的页面布局的设置;P:展示器 层(Presenter),该层使用定制化的 Presenter 展示器作为基础组件。
图 1:Android 系统架构图
单击事件,在相应的事件处理方法中实现操作。
3.2 展示器层
展示器层主要负责整个系统的业务逻辑, 完成视图层与模型层数据的交互。展示器层分 担了传统 MVC 架构中 Activity 组件作为控制 器层的主要职责,主要是为了防止 Activity 设 计得过于繁琐。通过封装向外部提供访问的接 口,有利于单元测试和后期的维护工作。
突 破 改 进。 一 款 优 秀 oid 应
用 的 开 发 是 依 赖 于 Android 架 构
的 研 究, 只 有 深 入 分 析 Android
系 统 的 架 构, 掌 握 各 层 组 件 的 协
作 过 程, 才 能 熟 悉 Android 的 开
发 流 程, 做 到 从 根 本 上 进 行 解 决
2.3 应用程序框架层
android各版本的差别
Android 1.0第一版商用操作系统Android1.1更新了部分API,新增一些功能,修正了一些错误,同时增加com.google.android.maps包Android 1.5智能虚拟键盘使用widgets实现桌面个性化在线文件夹(Live Folder)快速浏览在线数据视频录制和分享图片上传更快的标准兼容浏览器V oice search 语音搜索立体声蓝牙和免提电话Android 1.6完全重新设计的Android Market,可以显示更多的屏幕截图手势支持,可以让开发者生成针对某个应用程序的手势库支持CDMA网络:中国电信的用户可以期待EVDO的Android手机了TXT-2-Speech,支持了更多语言的发音,包括英语、法语、德语、意大利语等快速搜索框,可直接搜索括联系人,音乐,浏览历史,书签等手机内容全新的拍照界面:新版相机程序启动速度快了39%,拍照间的延迟减少了28%应用程序耗电查看:这下好了,哪个软件耗多少电,现在一见了然了新增面向视觉或听觉困难人群的易用性插件Linux内核升级到2.6.29其他:支持更多的屏幕分辨率,如WVGA,QVGA等Android 2.0由于文件结构的改动优化,使得整个操作流畅性得到了很大的提升自带的Chrome Lite浏览器现在加入了对双击屏幕进行缩放的支持加强了网络社交功能,比如Facebook好友整合至联系人功能强化了语音识别的搜索控制。
整个系统多处都支持语音控制,并拥有独立的控制面板谷歌地图服务更新,加入了全新的导航系统,甚至比转业的导航软件更为先进加入了原生微软Exchange邮件服务支持提供了多个不同帐户,统一的邮件收件箱只需双击就能上传图片至YouTube优化了驾车时的体验,新的“Car Home”应用程序为各功能提供了易于操作的快捷链接,还能方便地使用语音控制功能,便于用户驾车时使用Android 2.1可以同时绑定多个Google账号无线控件里有了VPN设置增加了连接到PC设置增强了语言和声音的转换功能,并加入了文字到语音转换全新的拨号界面,按键更大,更易于操作更多桌面Widget新的Google地图可以使用谷歌地图导航功能新的浏览器版本,加强了稳定性和网页渲染能力全局搜索功能加强全新的Market程序,搜索更快布局更合理Android 2.2全面支持Flash10.1应用程序自动升级,让升级更加人性化支持应用程序安装在外置内存上Linux内核将升级为最新的2.6.32版本,系统更加稳定对系统性能进一步优化,让手机有更多的运行内存增加了轨迹球LED指示灯变色这个新功能增加了对3D性能的优化,3D性能更加强大FM功能也将在新系统中得到全面支持Android 2.3用户界面更美观提升游戏体验提升多媒体能力增加官方进程管理改善电源管理NFC近场通信全局下载管理全新虚拟键盘原生支持前置前置摄像头SIP网络电话Android3.0-3.1:安卓3.0系统主要用于安卓的平板产品,画面动感,可操控性更强,代表有摩托罗拉的平板产品XOOM,3.1也已经发布,也主要用于平板产品。
Android 各版本SDK的区别
Android 各个版本SDK的区别---转载Android 1.5 API变更概要:UI framework· Framework for easier background/UI thread interaction·新SlidingDrawer 组件·新HorizontalScrollview 组件AppWidget framework·一些关于创建桌面AppWidget 的API.·提供根据自定义的内容创建LiveFolders的APIMedia framework·原声录音和回放APIs·交互式的MIDI 回放引擎·开发者使用的视频录像API (3GP format).·视频相片分享Intents·媒体搜索IntentInput Method framework·输入法服务framework·文本预测引擎·提供具有下载能力的IME给使用者Application-defined hardware requirements应用可定义硬件需求,应用程序可以定义说明此程序需要什么硬件需求.比如是否需要物理键盘或者轨迹球.Speech recognition framework·支持语音识别库.Miscellaneous API additions· LocationManager -应用可以接收到位置改变的信息.· WebView - 触摸start/end/move/cancel DOM 事件的支持·重建Sensor Manager APIs· GLSurfaceView - 创建OpenGL 应用更加方便的framework .·软件升级安装成功的Broadcast Intent - 更加平和优秀的软件升级体验Android 1.6 API变更概要:UI framework·新的类android.view.animation 控制动画行为:o AnticipateInterpolatoro AnticipateOvershootInterpolatoro BounceInterpolatoro OvershootInterpolator·新的XML 属性android onClick ,从一个layout文件描述一个view的View.OnClickListener.·对不同分辨率的屏幕的新的支持. 对于Bitmap和Canvas会执行有针对性的缩放行为.该框架会根据屏幕分辨率和其他内容自动缩放bitmap等.要在你的应用中使用Android 1.6包含的API的话你必须要设置"4"属性在manifest的元素中Search framework·应用程序现在可以公开的有关内容,作为建议放入快速搜索框,新的设备范围内的搜索功能,是可从主屏幕搜索。
Android基础知识之API等级介绍
Android基础知识之API等级介绍:可以让开发者通过⼀个表⽰API级别的整数来描述程序在android平台上的兼容性,系统会将与系统本⾝提供的API级别与应⽤指定的API级别⽐较。
尽管他有这个名字,但是该元素只是⽤来指定API级别,并不是⽤来指定SDK或者android平台的版本号。
API级别也是⼀个整数,但是你不能根据android版本号来追溯API级别(例如,它并不等同于主版本号或是主版本与次版本号的和)。
同样,请阅读⽂档.::Google Play会过滤应⽤对⽤户的可见性,⽤户只能看见和下载那些与⽤户设备兼容的⼀些应⽤。
过滤应⽤的⼀种⽅式就是通过Android版本的兼容性。
为此,Google Play会检查每个应⽤的Manifest⽂件标记的属性来构建版本兼容性范围,然后会根据它与⽤户Android系统的API级别的⽐对来决定隐藏或者显⽰该应⽤。
可以参考.属性::android:minSdkVersion::⼀个整数来指定程序可以运⾏的最⼩版本。
如果⽤户系统的API级别⼩于该属性指定的值,系统将会阻⽌⽤户来安装此应⽤。
你应该⼀直声明这个属性。
* 注意* :如果没有显⽰的声明该属性,系统指定⼀个默认值1,表明你的程序兼容Android系统的所有版本。
如果应⽤并不是兼容所有的版本的android系统(举例来说,应⽤⽤到了API3 才引⽤的API),⽽且你没有声明minSdkVersion属性,当应⽤安装到API的级别⼩于3的系统上且试图访问不可⽤的API时,系统将会异常终⽌。
有鉴于此,请确定,应⽤已显式声明 minSdkVersion属性。
:android:targetSdkVersion::⼀个整数⽤来指定应⽤⽬标的API级别。
如果没有设置,默认值等于minSdkVersion所给的值。
::该值⽤来告诉系统应⽤已经在⽬标版本上进⾏测试以及系统可以不启⽤任何兼容性⾏为来维持你的应⽤的向前兼容性。
android平行空间 原理
android平行空间原理Android平行空间(LBE平行空间)的原理是基于一个完整的虚拟化引擎——MultiDroid实现的。
与市面上的其他应用双开app有本质区别,其他方案是通过改包名、改Framework等非常粗糙的方式达到目的,而LBE平行空间的底层是一个完整的虚拟化引擎。
其关键技术主要有:1. Framework层的虚拟实现:在Android环境中,每个应用在运行时都需要和Android framework打交道。
Android系统的System-Server进程提供了大部分的系统API。
应用程序通过Binder IPC调用系统API。
LBE 之前在安全大师产品中,也就是通过对System-Server的hook来实现主动防御和权限管理,但MultiDroid在设计之初的一个最重要的目标就是不需要root权限,从而不能通过hook的方式来实现虚拟化。
为此,需要自行实现一套完整的System-Server API,这就是MultiDroid的核心,工作量非常大,更麻烦的是,设计目标是支持所有Android 以上版本,而每个版本的Framework实现又千差万别。
2. 文件系统虚拟化:程序在运行的时候,会加载文件系统上的程序指令和程序数据。
要建立虚拟的应用程序运行环境,需要模拟一个独立的文件系统,在这个独立的文件系统中,再针对不同的虚拟应用的主目录进行区分和权限控制。
3. Android系统组件管理:一个Android应用基本上是由Android四大组件(Activity, Service, Broadcast Receiver,Content Provider)构成。
在Android环境中,System-Server和应用通过进程间通信交互,Android系统负责了四大组件的管理,包括创建,激活,销毁等。
MultiDroid引擎实现了一套Android组件管理系统,用来模拟系统对Android组件的管理。
Android开发的基础知识点
Android开发的基础知识点1.Android开发的四⼤组件:Activity:android应⽤程序上看到的⼀页。
Service:运⾏在后台,可以其他组件交互(⾳乐播放器)。
BroadcoastReceiver:⽤来对外部事件作响应(电话呼⼊)。
ContentProvider:对外提供资源,⼿机上各个APP之间进⾏资源共享。
2.Activity的⽣命周期:onCreate()——>onStart()——>onResume()——>onPause()——>onStop()——>onDestroy().Activity处于运⾏状态:启动⼀个Activity会调⽤:onCreate()——>onStart()——>onResume().Activity从后台回到前台,系统调⽤onRestart()——>onStart()——>onResume().。
当Activity后台不可见或者被覆盖掉了,内存不⾜被killed,能启动Activity。
Activty处于停⽌状态:Activity退居后台(跳转其他Activity或者按下home键回到主屏)会调⽤:onSavedInstanceState()(保存当前view组件的状态)——>onPause()——>onStop().Activity处于结束状态:当⽤户退出Activity时,系统调⽤onPause()——>onStop()——>onDestory()结束当前Activity。
3.Handler机制:Handler,Looper和MessageQueue三者直接的关系,就是,在Looper实例化的同时创建了与之⼀⼀对应的MessageQueue,必须有了Looper实例才能创建Handler。
在主线程中⾃带Looper实例,可以直接创建,⽽⼦线程中却不能,必须同过Looper.prepare()来创建唯⼀Looper实例。
Android中判断当前API的版本号方法
Android中判断当前API的版本号⽅法Android中由于不同版本API会有⼀些变化,导致⼀些较早版本可能不⽀持新的⽅法,或者某些功能处理过程不太⼀样,需要判断当前版本然后进⾏适当的处理。
那么,如何判断当前API的版本号呢?例如判断api版本号是否⼤于等于19:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {...}其中,Build.VERSION_CODES.KITKAT = 19Build.VERSION.SDK_INT是什么:public static final int SDK_INT = SystemProperties.getInt("ro.build.version.sdk", 0);获取系统属性配置⽂件中“ro.build.version.sdk”的值,该值即为当前设备的系统版本号。
在Android源码 frameworks\base\core\java\android\os\Build.java ⽂件中的 Build.VERSION_CODES 类下包含对应各个版本的版本号信息。
以下是Android 7.0版本下的源码:public static class VERSION_CODES {/*** Magic version number for a current development build, which has* not yet turned into an official release.*/public static final int CUR_DEVELOPMENT = 10000;/*** October 2008: The original, first, version of Android. Yay!*/public static final int BASE = 1;/*** February 2009: First Android update, officially called 1.1.*/public static final int BASE_1_1 = 2;/*** May 2009: Android 1.5.*/public static final int CUPCAKE = 3;/*** September 2009: Android 1.6.*/public static final int DONUT = 4;/*** November 2009: Android 2.0*/public static final int ECLAIR = 5;/*** December 2009: Android 2.0.1*/public static final int ECLAIR_0_1 = 6;/*** January 2010: Android 2.1*/public static final int ECLAIR_MR1 = 7;/*** June 2010: Android 2.2*/public static final int FROYO = 8;/*** November 2010: Android 2.3*/public static final int GINGERBREAD = 9;/*** February 2011: Android 2.3.3.*/public static final int GINGERBREAD_MR1 = 10;/*** February 2011: Android 3.0.*/public static final int HONEYCOMB = 11;/*** May 2011: Android 3.1.*/public static final int HONEYCOMB_MR1 = 12;/*** June 2011: Android 3.2.*/public static final int HONEYCOMB_MR2 = 13;/*** October 2011: Android 4.0.*/public static final int ICE_CREAM_SANDWICH = 14;/*** December 2011: Android 4.0.3.*/public static final int ICE_CREAM_SANDWICH_MR1 = 15;/*** June 2012: Android 4.1.*/public static final int JELLY_BEAN = 16;/*** Android 4.2: Moar jelly beans!*/public static final int JELLY_BEAN_MR1 = 17;/*** Android 4.3: Jelly Bean MR2, the revenge of the beans.*/public static final int JELLY_BEAN_MR2 = 18;/*** Android 4.4: KitKat, another tasty treat.*/public static final int KITKAT = 19;/*** Android 4.4W: KitKat for watches, snacks on the run.*/public static final int KITKAT_WATCH = 20public static final int L = 21;/*** Lollipop. A flat one with beautiful shadows. But still tasty. Android 5.0*/public static final int LOLLIPOP = 21;/*** Lollipop with an extra sugar coating on the outside! Android 5.1*/public static final int LOLLIPOP_MR1 = 22/*** M is for Marshmallow! Android 6.0*/public static final int M = 23;/*** N is for ¯\_(ツ)_/¯. Android 7.0*/public static final int N = 24;}以上这篇Android中判断当前API的版本号⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
api认证的级别标准
api认证的级别标准API认证的级别标准主要分为以下几种:1.无认证级别:在无认证级别的API中,任何人都可以访问API接口并调用相应的功能。
这种级别的API通常用于公开的数据接口或者者测试环境中。
由于无认证级别的API对访问者没有任何限制,因此在生产环境中使用时需要谨慎,以免造成安全漏洞或者资源滥用。
2.基本认证级别:基本认证级别是一种常见的API认证方式,它要求每个访问API的用户都提供一个用户名和密码。
API接收到请求后会验证用户名和密码的正确性,只有验证通过的请求才会被处理。
基本认证级别能够确保API接口只能被授权的用户访问,增加了API的安全性。
然而,基本认证级别的局限性在于密码的传输方式通常是明文的,容易被拦截和窃取,因此需要配合其他安全机制来增强安全性。
此外,还有一些特定领域的API认证级别标准,例如:1.API 5L:该认证标准适用于用于输送天然气、石油和水的钢质线管。
认证过程包括对钢管的化学成分、机械性能、外观和尺寸的测试,以确保其质量符合标准要求。
2.API 510:该认证标准适用于石油工业设备的检验、评估和维修。
认证过程包括设备的检查、测量和评估,以确保其符合API标准和相关法规要求。
3.API 653:该认证标准适用于储罐的检验、评估和维修。
认证过程包括对储罐的结构、安全装置、液位测量系统等进行测试和评估,以确保其安全和符合API标准。
4.API Q1:该认证标准适用于石油和天然气行业的质量管理体系。
认证过程包括对企业的管理政策、流程和实施情况进行评估,以确保其质量管理体系能够满足API标准。
以上信息仅供参考,如有需要,建议查阅相关网站。
sdk 和 api 使用场景
sdk 和 api 使用场景SDK (Software Development Kit) 是一个软件开发工具包,提供给开发者使用,用于开发特定平台的应用程序。
SDK通常包含库、工具和文档,用于帮助开发者在特定平台上构建、测试和部署应用程序。
API (Application Programming Interface) 是一组定义了软件组件之间通信规则的接口。
API允许不同的软件组件之间交换信息和相互操作。
API可以是标准化的接口,也可以是自定义的接口。
SDK一般用于特定平台的应用开发,而API则是用于不同软件组件之间的交互。
以下是一些常见的SDK和API使用场景:1. 移动应用开发:对于移动应用程序开发,开发人员可以使用特定平台的SDK,如iOS SDK或Android SDK,来构建和测试应用。
这些SDK提供了必要的库和工具,以便开发人员能够访问特定平台的功能和服务。
2. 网络开发:在网络开发中,开发人员可以使用各种API来访问网络服务和提供的功能。
例如,开发人员可以使用Google Maps API来集成地图功能,或使用Twitter API来访问和发布推文。
3. 人工智能和机器学习:针对人工智能和机器学习领域,开发人员可以使用AI和ML SDK和API来使用和集成各种机器学习算法和模型。
这些SDK和API提供了各种功能,如语音识别、图像分析和自然语言处理。
4. 云计算:对于云计算领域,开发人员可以使用云提供商(如AWS、Azure和Google Cloud)的SDK和API来访问和管理云资源。
这些SDK和API使开发人员能够在应用程序中使用云服务,如存储、计算和数据库。
总而言之,SDK和API广泛应用于各个领域的应用开发中,提供了更多的功能和服务,使开发人员能够更高效地构建应用程序。
Android基本概念
1.简单描述Android的基本概念Key:(1)Android就Google推出的开源手机操作系统。
Android基于Linux平台,由操作系统、之间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
(2)Android是第一个完整、开放、免费的手机平台,具有开放性、应用程序无界限、应用程序是在平等条件下创建的、应用程序可以轻松嵌入到网络、应用程序可以并行运行。
(3)Android手机具有很多功能,包括:智能虚拟键盘、实用Widget实现桌面个性化、用在线文件夹快速浏览在线数据、视频录制与分享、图片上传、更快更兼容的浏览器、Voice Search语音搜索、立体声蓝牙和免提电话、强大的GPS技术、Android系统硬件检测2.Android的系统构架Key:Android从高到底分别是:应用层、应用框架层、系统运行库层、Linux内核层应用层:应用是Java语言编写的运行在虚拟机上的程序。
如E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序应用框架层:这一层是编写Google发布的核心应用程序是所使用的API框架,开发人员同样可以使用这些框架开发自己的应用系统运行库层:当使用Android应用框架时,Android系统会通过一些C/C++库来支持我们使用的各个组件,使其能更好地位我们服务Linux内核层:Android的核心系统服务基于内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型都依赖于该内核。
Linux内核同时也作为硬件和软件栈之间的抽象层3.Android应用程序框架Key:框架可以说是一个应用程序的核心,是所有参与开发的程序员共同使用和遵守的约定,大家在其约定上进行必要的扩展,但程序始终保持主体结构的一致性。
其作用是让程序保持清晰和一目了然,在满足不同需求的同时又不互相影响。
Android系统提供给应用开发者的本身就是一个框架,所有的应用开发都必须遵守这个框架的原则。
Android开发分享讲稿(修改)
Android开发入门分享今天要给大家分享的是Android开发入门,小青青_Lo是我的微博昵称,如果觉得我讲得好,求互粉(*^__^*) 嘻嘻~~讲解大纲这个是今天讲解的大纲,首先通过著名Hello world程序对Android开发有一个感性的认识,之后上升到理性认识,了解android开发的重要组成部分和基本开发流程。
Android开发主要包括App组件,App资源和App的配置文件。
App组件主要负责和用户交互,处理用户请求;而App Res主要负责用户界面的视图;App Manifest文件主要用来声明App运行所需环境,比如App包含哪些功能模块,API最低最高版本要求,比如Android操作系统版本要求运行设备的性能要求,比如屏幕分辨率,内存空间大小等,用户是否有权限访问一些系统应用程序和系统数据,比如通讯录,GPS位置信息,本地通知服务等。
在讲解Android开发的重要组成部分的过程中会涉及一些简单的实例现场演示来讲述Android开发的基本流程。
欢迎提问因为我本身是一个Android开发的新手,在加上本身写代码写得少,所以难免会有一些错误和讲得不清楚得地方,欢迎大家提出疑问,提问有奖。
如果我答不出来,记下来分享后查资料给大家回答。
为什么要学习Android开发?(此段可以精简下)Android操作系统目前占移动操作系统78%的市场份额,这个充分说明了android开发市场大需求广。
现在大家都知道移动互联网是大势所趋,每天坐公交地铁,一眼望去大家都在忙于刷手机ipad就已经充分说明这点,随着移动互联网的兴起,App开发自然是大势所趋。
Android操作系统之所以发展如此迅速,和其开源有着密不可分的关系,开源意味着便于扩展和学习,以及使用。
之后我们简单介绍下Android系统架构,一共分为四层,最下层的是linux内核,负责内存管理,进程调度,网络协议以及各种设备驱动等,再上面是各种系统运行库,其主要是应用框架层和linux内核的重要纽带,而我们下载的android SDK处于应用框架层,主要负责给android应用开发提供各种基础服务,我们平时使用的微博,微信等app应用程序就处于应用层。
Android 的os.Build_ID 对应的SDK版本号 以及 SDK版本号与API Level对应关系
Android 的os.Build_ID 对应的SDK版本号以及SDK版本号与API Level对应关系Marshmallow棉花糖 6.0 API level 23 Lollipop棒棒糖 5.1 API level 22 Lollipop 5.0 API level 21KitKat 4.4 - 4.4.4 API level 19Jelly Bean 4.3.x API level 18Jelly Bean 4.2.x API level 17Jelly Bean 4.1.x API level 16Ice Cream Sandwich 4.0.3 - 4.0.4 API level 15, NDK 8 Ice Cream Sandwich 4.0.1 - 4.0.2 API level 14, NDK 7 Honeycomb 3.2.x API level 13 Honeycomb 3.1 API level 12, NDK 6 Honeycomb 3.0 API level 11 Gingerbread 2.3.3 - 2.3.7 API level 10 Gingerbread 2.3 - 2.3.2 API level 9, NDK 5 Froyo 2.2.x API level 8, NDK 4 Eclair 2.1 API level 7, NDK 3 Eclair 2.0.1 API level 6Eclair 2.0 API level 5Donut 1.6 API level 4, NDK 2 Cupcake 1.5 API level 3, NDK 1 (no code name) 1.1 API level 2(no code name) 1.0 API level 1android源码分支以及支持设备型号对应表Build Branch Version Supported devicesMMB29M android-6.0.1_r3 Marshmallow Nexus 6P, Nexus PlayerMMB29K android-6.0.1_r1 Marshmallow Nexus 5, Nexus 5X, Nexus 6, Nexus 7 (flo/deb), Nexus 9(volantis/volantisg)MMB29N android-6.0.0_r41 Marshmallow Nexus 6PMDB08M android-6.0.0_r26 Marshmallow Nexus 5X, Nexus 6P MDB08L android-6.0.0_r25 Marshmallow Nexus 5X, Nexus 6P MDB08K android-6.0.0_r24 Marshmallow Nexus 6PMDB08I android-6.0.0_r23 Marshmallow Nexus 5XMDA89E android-6.0.0_r12 Marshmallow Nexus 5XMDA89D android-6.0.0_r11 Marshmallow Nexus 6PMRA59B android-6.0.0_r7 Marshmallow Nexus 7 (deb) MRA58X android-6.0.0_r6 Marshmallow Nexus 6MRA58V android-6.0.0_r5 Marshmallow Nexus 7 (flo/deb) MRA58U android-6.0.0_r4 Marshmallow Nexus 7 (flo)MRA58N android-6.0.0_r2 Marshmallow Nexus 5, Nexus 6, Nexus 7(flo/deb), Nexus 9(volantis/volantisg), Nexus PlayerMRA58K android-6.0.0_r1 Marshmallow Nexus 5, Nexus 6, Nexus 7(flo/deb), Nexus 9(volantis/volantisg), Nexus PlayerLYZ28N android-5.1.1_r28 Lollipop Nexus 6 (For T-Mobile ONLY)LMY48Z android-5.1.1_r30 Lollipop Nexus 6, Nexus 7 (deb), Nexus 9 (volantisg), Nexus 10LMY48Y android-5.1.1_r26 Lollipop Nexus 6LMY48X android-5.1.1_r25 Lollipop Nexus 6, Nexus 7 (deb), Nexus 9 (volantisg), Nexus 10LMY48W android-5.1.1_r24 Lollipop Nexus 6LVY48H android-5.1.1_r23 Lollipop Nexus 6 (For Project Fi ONLY) LYZ28M android-5.1.1_r22 Lollipop Nexus 6 (For T-Mobile ONLY) LMY48U android-5.1.1_r20 Lollipop Nexus 7 (deb)LMY48T android-5.1.1_r19 Lollipop Nexus 4, Nexus 6, Nexus 9 (volantis/volantisg), Nexus 10LVY48F android-5.1.1_r18 Lollipop Nexus 6 (For Project Fi ONLY) LYZ28K android-5.1.1_r17 Lollipop Nexus 6 (For T-Mobile ONLY) LMY48P android-5.1.1_r16 Lollipop Nexus 7 (deb)LMY48N android-5.1.1_r15 Lollipop Nexus PlayerLMY48M android-5.1.1_r14 Lollipop Nexus 4, Nexus 5, Nexus 6, Nexus 7 (flo), Nexus 9 (volantis/volantisg), Nexus 10LVY48E android-5.1.1_r13 Lollipop Nexus 6 (For Project Fi ONLY) LYZ28J android-5.1.1_r12 Lollipop Nexus 6 (For T-Mobile ONLY) LMY48J android-5.1.1_r10 Lollipop Nexus PlayerLMY48I android-5.1.1_r9 Lollipop Nexus 4, Nexus 5, Nexus 6, Nexus 7 (flo), Nexus 9 (volantis/volantisg), Nexus 10LVY48C android-5.1.1_r8 Lollipop Nexus 6 (For Project Fi ONLY)LMY48G android-5.1.1_r6 Lollipop Nexus 7 (flo)LYZ28E android-5.1.1_r5 Lollipop Nexus 6 (For T-Mobile ONLY)LMY47Z android-5.1.1_r4 Lollipop Nexus 6 (All carriers except T-Mobile US)LMY48B android-5.1.1_r3 Lollipop Nexus 5LMY47X android-5.1.1_r2 Lollipop Nexus 9 (volantis)LMY47V android-5.1.1_r1 Lollipop Nexus 7 (flo/grouper), Nexus 10, Nexus PlayerLMY47O android-5.1.0_r5 Lollipop Nexus 4, Nexus 7 (flo/deb) LMY47M android-5.1.0_r4 Lollipop Nexus 6 (For T-Mobile ONLY)LMY47I android-5.1.0_r3 Lollipop Nexus 5, Nexus 6LMY47E android-5.1.0_r2 Lollipop Nexus 6LMY47D android-5.1.0_r1 Lollipop Nexus 5, Nexus 6, Nexus 7 (grouper/tilapia), Nexus 10, Nexus PlayerLRX22L android-5.0.2_r3 Lollipop Nexus 9 (volantis/volantisg)LRX22G android-5.0.2_r1 Lollipop Nexus 7(flo/deb/grouper/tilapia), Nexus 10LRX22C android-5.0.1_r1 Lollipop Nexus 4, Nexus 5, Nexus 6 (shamu), Nexus 7 (flo), Nexus 9(volantis/volantisg), Nexus 10LRX21V android-5.0.0_r7.0.1 Lollipop Nexus Player (fugu)LRX21T android-5.0.0_r6.0.1 Lollipop Nexus 4LRX21R android-5.0.0_r5.1.0.1 Lollipop Nexus 9 (volantis)LRX21Q android-5.0.0_r5.0.1 Lollipop Nexus 9 (volantis)LRX21P android-5.0.0_r4.0.1 Lollipop Nexus 7 (flo/grouper), Nexus 10LRX21O android-5.0.0_r3.0.1 Lollipop Nexus 5 (hammerhead), Nexus 6 (shamu)LRX21M android-5.0.0_r2.0.1 Lollipop Nexus Player (fugu) LRX21L android-5.0.0_r1.0.1 Lollipop Nexus 9 (volantis)KTU84Q android-4.4.4_r2 KitKat Nexus 5 (hammerhead) (For2Degrees/NZ, Telstra/AUS and India ONLY)KTU84P android-4.4.4_r1 KitKat Nexus 5, Nexus 7(flo/deb/grouper/tilapia), Nexus 4, Nexus 10KTU84M android-4.4.3_r1.1 KitKat Nexus 5 (hammerhead)KTU84L android-4.4.3_r1 KitKat Nexus 7(flo/deb/grouper/tilapia), Nexus 4, Nexus 10KVT49L android-4.4.2_r2 KitKat Nexus 7 (deb Verizon)KOT49H android-4.4.2_r1 KitKat Nexus 5, Nexus 7(flo/deb/grouper/tilapia), Nexus 4, Nexus 10KOT49E android-4.4.1_r1 KitKat Nexus 5, Nexus 7(flo/deb/grouper/tilapia), Nexus 4, Nexus 10KRT16S android-4.4_r1.2 KitKatNexus 7(flo/deb/grouper/tilapia), Nexus 4, Nexus 10KRT16M android-4.4_r1 KitKat Nexus 5 (hammerhead)JLS36I android-4.3.1_r1 Jelly Bean N exus 7 (deb) JLS36C android-4.3_r3 Jelly Bean N exus 7 (deb) JSS15R android-4.3_r2.3 Jelly Bean N exus 7 (flo) JSS15Q android-4.3_r2.2 Jelly Bean N exus 7 (flo) JSS15J android-4.3_r2.1 Jelly Bean N exus 7 (flo/deb) JSR78D android-4.3_r2Jelly Bean N exus 7 (deb)JWR66Y android-4.3_r1.1Jelly BeanGalaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10JWR66V android-4.3_r1Jelly BeanGalaxy Nexus, Nexus 7(grouper/tilapia), Nexus 4, Nexus 10JWR66N android-4.3_r0.9.1Jelly Bean Galaxy Nexus, Nexus 7(grouper/tilapia/flo), Nexus 4, Nexus10JWR66L android-4.3_r0.9 Jelly Bean N exus 7JDQ39E android-4.2.2_r1.2 Jelly Bean N exus 4JDQ39B android-4.2.2_r1.1 Jelly Bean N exus 7JDQ39 android-4.2.2_r1Jelly BeanGalaxy Nexus, Nexus 7, Nexus 4, Nexus 10JOP40G android-4.2.1_r1.2 Jelly Bean N exus 4JOP40F android-4.2.1_r1.1 Jelly Bean N exus 10JOP40D android-4.2.1_r1Jelly BeanGalaxy Nexus, Nexus 7, Nexus 4, Nexus 10JOP40C android-4.2_r1Jelly BeanGalaxy Nexus, Nexus 7, Nexus 4,Nexus 10JZO54M android-4.1.2_r2.1 Jelly BeanJZO54L android-4.1.2_r2Jelly BeanJZO54K android-4.1.2_r1Jelly Bean N exus S, Galaxy Nexus, Nexus 7JRO03S android-4.1.1_r6.1 Jelly Bean N exus 7 JRO03R android-4.1.1_r6 Jelly Bean N exus S 4G JRO03O android-4.1.1_r5 Jelly Bean G alaxy Nexus JRO03L android-4.1.1_r4 Jelly Bean N exus S JRO03H android-4.1.1_r3 Jelly BeanJRO03E android-4.1.1_r2Jelly Bean N exus SJRO03D android-4.1.1_r1.1 Jelly Bean N exus 7JRO03C android-4.1.1_r1 Jelly Bean G alaxy NexusIMM76L android-4.0.4_r2.1 Ice Cream SandwichIMM76K android-4.0.4_r2 Ice CreamSandwichGalaxy NexusIMM76I android-4.0.4_r1.2 Ice CreamSandwichGalaxy NexusIMM76D android-4.0.4_r1.1 Ice CreamSandwichNexus S, Nexus S 4G, Galaxy NexusIMM76 android-4.0.4_r1 Ice Cream SandwichIML77 android-4.0.3_r1.1 Ice Cream SandwichIML74K android-4.0.3_r1 Ice CreamSandwichNexus SICL53F android-4.0.2_r1 Ice CreamSandwichGalaxy NexusITL41F android-4.0.1_r1.2 Ice CreamSandwichGalaxy NexusITL41D android-4.0.1_r1.1 Ice CreamSandwichGalaxy NexusITL41D android-4.0.1_r1 Ice CreamSandwichGalaxy NexusGWK74 android-2.3.7_r1 Gingerbread Nexus S 4GGRK39F android-2.3.6_r1 Gingerbread Nexus One, Nexus S GRK39C android-2.3.6_r0.9 Gingerbread Nexus SGRJ90 android-2.3.5_r1 Gingerbread Nexus S 4GGRJ22 android-2.3.4_r1 Gingerbread Nexus One, Nexus S, Nexus S 4G GRJ06D android-2.3.4_r0.9 Gingerbread Nexus S 4GGRI54 android-2.3.3_r1.1 Gingerbread Nexus SGRI40 android-2.3.3_r1 Gingerbread Nexus One, Nexus SGRH78C android-2.3.2_r1 Gingerbread Nexus SGRH78 android-2.3.1_r1 Gingerbread Nexus SGRH55 android-2.3_r1 Gingerbread earliest Gingerbread version, Nexus SFRK76C android-2.2.3_r2 FroyoFRK76 android-2.2.3_r1 FroyoFRG83G android-2.2.2_r1 Froyo Nexus One FRG83D android-2.2.1_r2 Froyo Nexus One FRG83 android-2.2.1_r1 Froyo Nexus One FRG22D android-2.2_r1.3 FroyoFRG01B android-2.2_r1.2 FroyoFRF91 android-2.2_r1.1 Froyo Nexus One FRF85B android-2.2_r1 Froyo Nexus One EPF21B android-2.1_r2.1p2 EclairESE81 android-2.1_r2.1s EclairEPE54B android-2.1_r2.1p Eclair Nexus OneERE27 android-2.1_r2 Eclair Nexus One ERD79 android-2.1_r1 Eclair Nexus One ESD56 android-2.0.1_r1 EclairESD20 android-2.0_r1 EclairDMD64 android-1.6_r1.5 DonutDRD20 android-1.6_r1.4DRD08 android-1.6_r1.3DRC92 android-1.6_r1.2。
androidapi中文文档
android:inputType
设置文本的类型,用于帮助输入法显示合适的键盘类型。有如下值设置:none、text、textCapCharacters字母大小、textCapWords单词首字母大小、textCapSentences仅第一个字母大小、textAutoCorrect、textAutoComplete自动完成、textMultiLine多行输入、textImeMultiLine输入法多行(如果支持)、textNoSuggestions不提示、textEmailAddress电子邮件地址、textEmailSubject邮件主题、textShortMessage短信息(会多一个表情按钮出来,点开如下图:
android:scrollHorizontally
设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus
如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。
android:shadowColor
指定文本阴影的颜色,需要与shadowRadius一起使用。参见TextView中此属性的截图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9、id 2.0能够使用虚拟按键HOME, MENU, BACK和SEARCH,而非物理按键,为了让用户在他们的设备中获得最好的用户体验,android平台现在把这些按键执行加入到了key-up,做了 key-down/key-up 配对,而非只有key-down.,这有助于防止意外按钮事件,并让使用者按下按钮区域,然后拖动而不生成一个事件出来。
· ACTION_REQUEST_DISCOVERABLE 如果使用者拒绝启动蓝牙或者蓝牙的可发现功能,则返回 RESULT_CANCELED .
2、通讯
The ACTION_INSERT Intent returns RESULT_CANCELED in cases where the contact was not persisted (例如剪切保存到一个空的操作里面).
应用可定义硬件需求,应用程序可以定义说明此程序需要什么硬件需求.比如是否需要物理键盘或者轨迹球.
6、Speech recognition framework
· 支持语音识别库.
7、Miscellaneous API additions
· LocationManager -应用可以接收到位置改变的信息.
· 新的gesture API :创建,识别,读取,保存手势.
6、Text-to-speech
· 新的android.speech.tts 包提供了TTS文本朗读功能,从一个文本生成一个声音文件的回放.
7、Graphics
·android.graphics 中的类,现在支持为不同的屏幕尺寸进行缩放.
· New AccessibilityService package that lets your application track user events and provide visual, audible, or haptic feedback to the user.
5、Gesture Input
6、Camera
· 颜色模式, 场景模式 闪光模式, 焦点模式, 白平衡 旋转和其他设置的新的特征.
· 当缩放级别改变的时候,会回调新的缩放回调接口.
7、Media
· MediaScanner现在为所有图片生成缩微图when they are inserted into MediaStore.
4、Accessibility framework
· New android.accessibility package that includes classes for capturing accessibility events and forwarding them to an AccessibilityService handler.
Android 1.5 API变更概要:
1、UI framework
· Framework for easier background/UI thread interaction
· 新SlidingDrawer 组件
· 新HorizontalScrollview 组件
要在你的应用中使用Android 1.6包含的API的话你必须要设置 "4"属性在manifest的 元素中
3、Search framework
· 应用程序现在可以公开的有关内容,作为建议放入快速搜索框,新的设备范围内的搜索功能,是可从主屏幕搜索。为了支持这一点,搜索框架增加了新的属性,可搜索的元数据文件。有关完整的信息,请参阅SearchManager文档。
Android 1.6 API变更概要:
1、UI framework
· 新的类 android.view.animation 控制动画行为:
o AnticipateInterpolator
o AnticipateOvershootInterpolator
o BounceInterpolator
2、AppWidget framework
· 一些关于创建桌面AppWidget 的API.
· 提供根据自定义的内容创建LiveFolders的API
3、Media framework
· 原声录音和回放 APIs
· 交互式的MIDI 回放引擎
· 开发者使用的视频录像API (3GP format).
1、Bluetooth
改变了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的返回值
· ACTION_REQUEST_ENABLE 如果蓝牙是成功开启的,现在返回RESULT_OK .如果使用者拒绝开启蓝牙的请求,则会返回RESULT_CANCELED .
o maxSdkVersion: 指定设计这个程序运行的最高版本 重要: 当使用 这些属性前请认真阅读文档.
12、New Permissions
· CHANGE_WIFI_MULTICAST_STATE: 允许应用进入Wi-Fi 多点传送模式.
· GLOBAL_SEARCH: 允许全局搜索系统,以便精确确定 content provider.
· WRITE_EXTERNAL_STORAGE: 允许程序写入外部存储器.应用程序使用API级别3下将默认授予此权限 (这对用户可见的); 应用程序使用API level4 或者更高的,必须要明确的宣告此权限.
Android 2.0 API变更概要:
1、Bluetooth
· 开启关闭蓝牙
· MotionEvent 如果设备允许的话,MotionEvent 会返回多点触摸信息.最多可同时获取3点
· KeyEvent 现在有了新的按键发送 APIs,去帮助实现 action-on-up 和长按键行为, 一个新的机制取消按键 (虚拟按键).
· youtParams 现在有了新的常量允许窗口能够在被锁或者其他的状况中唤醒屏幕,这个允许程序能够让例如闹钟等的应用实现唤醒设备.
4、Contacts
· 新的通信APIs 允许获取多个账户的数据.
· 新的快速通信framework APIs 允许开发者在他们的应用中创建通信标记, 一键点击标记打开一个新的窗口展示一个如何联系当前人的列表.
5、WebView
· 不赞成使用的类: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.
o OvershootInterpolator
2、· 新的XML 属性android:onClick ,从一个layout文件描述一个view的 View.OnClickListener.
· 对不同分辨率的屏幕的新的支持. 对于Bitmap和Canvas会执行有针对性的缩放行为.该框架会根据屏幕分辨率和其他内容自动缩放bitmap等.
这种改变只会影响你的应用程序一点,如果它是拦截按钮事件,最好用key-down,而不是key-up.。特例,如果您的应用程序拦截BACK 键,你应该确保你的应用妥善处理按键事件。
Android 2.0.1 API变更概要:
· 新的快速联系人标记风格(quickContactBadgeStyle)* 属性,让应用的QuickContactBadge 组件接收必要的风格.
8、Telephony
· 新的SmsManager 发送和接受短信.
9、Utilities
· 新的DisplayMetrics 字段决定当前设备屏幕的密度.
10、Android Manifest elements
o 新的 元素
o 新的 标签
o glEsVersion: 指定最小openGL ES的版本
·
11、元素的新的属性:
o 目标SDK版本: 应用程序能够指定目标版本. 它能够运行在旧版本(低至minSdkVersion), 他是按照应用程序的指定版本开发的. Specifying this version allows the platform to disable compatibility code that is not required or enable newer features that are not available to older applications.
· 视频相片分享 Intents
· 媒体搜索Intent
4、Input Method framework
· 输入法服务framework
· 文本预测引擎
· 提供具有下载能力的IME给使用者
5、Application-defined hardware requirements
· WebView - 触摸start/end/move/cancel DOM 事件的支持
· 重建Sensor Manager APIs
· GLSurfaceView - 创建OpenGL 应用更加方便的framework .
· 软件升级安装成功的Broadcast Intent - 更加平和优秀的软件升级体验
· 设备和服务发现
· 使用 RFCOMM连接一个可插拔的设备收发数据
· 公布RFCOMM 服务和监听接收 RFCOMM 连接
2、Sync adapters
· 新的APIs, 同步桥接器连接任何backend
3、Account Manager
· 集中的帐户管理器 API ,安全的储存和使用可信的tokens/passwords