本文会介绍如何使用Xamarin.Android 去开发基于Android 6.0的App。也会大致的介绍Android 6.0的新功能,以及如何在Xamarin中配置Android 6.0的开发环境从而实现新特性的例程。
总览
Google最近发布了作为Android Lollipop下一个版本,Android 6.0 Marshmallow。其中,Xamarin对于Android 6.0的支持包括:
- API 23/Android 6.0的绑定 - Android 6.0 添加了很多新的API,这些API都可以在Xamarin Android API Level23中使用,关于Android 6.0 API更多的信息请参考 Android 6.0 APIs.
Android 6.0 的发布除了强调细节和质量,同时也提供了很多有趣的新功能,其中包括:
- 运行时授权 - 这个功能允许用户在程序运行时,根据需要授予应用权限。
- 用户验证方式增加 - 从Android 6.0开始,除了传统的密码授权方式,用户也可以通过指纹进行授权。
- App链接 - 当某网站需要启动本地应用的时候,该功能可以有效减少App选择框的出现次数。
- Direct Share - 我们可以定义direct share的目标,来使分享变得更快,更直接。这个功能允许用户把内容分享给其他应用。
- 语音交互 - 这些新的语音交互API可以帮助您建立一个带语音交互功能的App。
- 4K 显示 - 在Android 6.0中,如果设备支持,您的应用可以请求4K的分辨率。
- 新的音频特性 - 从Android 6.0 开始,Android开始支持MIDI 协议,Android提供了更多的类和API去支持这个协议的音频,捕捉和回放。
- 新的视频特性 - Android 6.0 提供了新的类,可以帮助音频视频的同步,这个类还提供动态码率的支持
- Android For Work - Android 6.0 增强了对于单个用户控制设备的管控,比如静默安装和卸载,自动接收系统更新,增强证书管理,数据流量监控,权限管理和工作状态提醒。
- Material Design 支持库 - 新的设计支持库提供一些控件,将使得创建Material Design 风格的应用变得更为容易。
与此同时,很多Android的核心库也更新了Android 6.0 的版本,这些更新可以供Android 6.0 以及更老的版本使用。本文会教大家如何创建基于Android 6.0的应用,也会介绍一些重要的新特性。
要求
下面是使用Android 6.0 在Xamarin中的最低配置要求
- Xamarin.Android - Xamarin.Android 要求的最低版本号是5.1.7.12。
- Xamarin Studio和Visual Studio - Xamarin Studio的最低版本号是5.9.7.22, Visual Studio Xamarin插件的最低版本号是 3.11.1537。
- Android SDK - Android SDK 6.0(API 23)或者更高,需要通过Android SDK Manager 安装。
- Java JDK 1.7 - Android 6.0 开发环境需要JDK 1.7的支持,在这里下载。
准备开始
在开始之前,我们必须下载和安装最新的工具和SDK:
- 安装最新的稳定版本的Xamarin。
- 安装Android 6.0 的SDK及其工具。
- 建立一个Xamarin Android项目,并把项目目标设置为Android 6.0。
- 配置Android 6.0的设备或者模拟器。
下面会详细说明每个步骤:
安装Xamarin更新
更新Xamarin使其支持Android 6.0,先把update channel 修改为Stable,然后安装所有的更新。 获取关于update channel的更多信息,请参考这里.
安装Android 6.0 SDK
我们必须安装Android 6.0 的SDK
- 打开Android SDK Manager, (在 Xamarin Studio中, 点击 Tools > Open Android SDK Manager…; 在 Visual Studio中, 点击 Tools > Android > Android SDK Manager) 然后安装最新的Android SDK tools:
- 同时也要安装最新的SDK 包
您必须安装版本号是24.3.4或更高的Android SDK Tools。 关于安装Android 6.0 SDK的更多信息,请参考 SDK Manager。
新建Xamarin.Android项目
新建一个Xamarin.Android项目,您可以下载这个例程,从这个例程开始。如果您是新手,请参考这里去创建一个Android的项目。
当你在创建Android项目的过程中,您需设置目标版本为Android 6.0,并将Target Android Version 设置为API level 23。 关于设置API目标的方法,请参考这里。
设置模拟器及设备
如果你使用的是模拟器,点开Android AVD Manager,创建一个新设备,设置下面内容
- Device: Nexus 5, 6, or 9.
- Target: Android 6.0 - API Level 23
- ABI: x86
如下图
如果您使用的是手机设备,比如Nexus 5,6或9,您可以安装预览版的Android 6.0,更多关于升级设备到Android 6.0的信息,请参考 Hardware System Images。
新功能
Android 6.0引入了很多新功能,旨在提高用户体验,增加稳定性,修复bug,同时,Android6.0也对Android平台做了很多改变。下面,我们将介绍一些重点的新功能,以及您可以如何在应用中使用这些新功能。
运行时权限管理
在Android 5.0之后,Android的应用权限管理有了很明显的增强。在Android 6.0里,用户可以根据需要给应用在运行时授权。为了支持这个特性,我们需要设计应用在需要的时候弹窗提示用户授权。 相比以往,在运行时授权,改善用户安装,升级应用的体验,这样用户可以更快的安装及使用应用。
更多信息和例程请参考 Requesting Runtime Permissions in Android Marshmallow。 这里还有Xamarin的例程 RuntimePermissions.
这个例程像我们展示了,如何在运行时检查和申请权限。如何在Android 6.0里声明权限。
如何演示这里例程:
1. 点击Camera或者Contacts 按钮,来弹出权限申请窗口
2. 获得权限去使用Camera或Contacts
关于运行时权限管理的更多信息,请参考Working with System Permissions.
授权增强
Android 6.0提供了两种授权模式,来代替输入密码
- 指纹授权 - 使用用户指纹授权。
- Confirm Credential - 这个授权机制取决于用户最后一次锁屏到现在的时间长短。
下面这些链接和例程会帮你熟悉这两个新功能
指纹授权
在有指纹识别传感器的手机上,我们可以使用FingerPrintManager这里类来授权,请参考Fingerprint Authentication.
Xamarin也提供了一个例程,FingerprintDialog.
如何演示这个例程,
1. 点击Purchase按钮,会弹出授权对话框 。
2. 扫描你的指纹授权
需要注意的是,这必须要在有指纹识别的设备上演示,这个应用不会存储你的指纹或者密码。
语音交互
Android 6.0引进了语音交互的功能,用户可以通过语音去确认,或者选择某个选项,请参考 Overview of the Voice Interaction API.
Xamarin的例程请点击这里Voice Interactions. 及文档 Add a Conversation to your Android App with Voice Interactions 。
Confirm Credential
使用Confirm Credential可以使用户在短时间内免于再次输入App的密码,这个机制取决于用户上次锁屏的时间。 我们可以使用KeyGenerator类中的SetUserAuthenticationValidityDurationSeconds方法来设置上次用户锁屏的最大有效时间。使用KeyGuardManager类中的CreateConfirmDeviceCredentialIntent方法去在你的应用里授权,更多信息请参考Confirm Credential.
Xamarin的例程,请参考这里。
如何演示这个例程
1. 需要在你的设备上设置锁屏密码(Secure > Security > Screenlock)
2. 点击 Purchase确认 Confirm Credential
Chrome 定制标签
Chrome定制标签,可以让你在应用里更简单和优雅的显示网页,这个功能基于Chrome而不是Android自带的浏览器。请参考Chrome Custom Tabs.。
在Xamarin中使用这个功能前,请先安装这个Chrome Custom Tabs for Xamarin.Android 安装包。
Xamarin的例程在这里Xamarin.ChromeCustomTabs. 使用这个例程前,请先安装Chrome for Android 44以上的版本。您可以从Google Play Store 或者Chrome Dev里面获取。
如果您是从Chrome Dev获取的,请在运行例程前,在Chrome里面输入chrome://flags 然后找到 Enable Hosted Mode 设置为 Enable。
Design Support Library
Android 5.0引入了Material Design作为一种新的设计语言,来增强用户体验(Xamarin关于Material Design 的相关文档,请参考这里),在Android 6.0 里Google引入了 Android Design Support Library 让开发者更容易的使用Material design,这个库包含下面这些组件:
- CoordinatorLayout - 这个控件跟FrameLayout类似,但是比他更强大,你可以使用CoordinatorLayout,作为一个容器,他提供了layout_anchor属性,可以让view吸附在另外一个view。
- Collapsing Toolbars - CollapsingToolbarLayout 可以作为隐藏app bar的容器(这里的app bar指的就是 action bar)。
- Floating Action Button - 浮动圆形按钮。
- Floating Labels for Editing Text - 在用户输入的时候,使用TextInputLayout控件去呈现一个浮动的Label。
- Navigation View - 通过导航图标进行页面导航。
- Snackbar - 这个控件会在屏幕底部显示一个简短的消息,是一个类似于toast却更轻量级的控件。
- Material Tabs - 新的TabLayout控件,是一个水平的tabs控件,可用于页面导航。
如果我们想在Xamarin中使用Design Support Library, 我们需要安装 Xamarin Support Library Design 的nuget安装包
请参考这个文章里面的例程,他介绍了Xamarin Android对于Material Design Support Library 的支持,Xamarin也提供了例程,在这里。这个例程包含了下面控件的用法
- Collapsing toolbar
- Floating action button
- View anchoring
- NavigationView
- Snackbar
更多信息请参考这篇文章
附加库的更新
作为Android 6.0的附加,Google也发布了一些Android核心库的更新,Xamarin.Android 也提供了这些库的更新,您可在预览版的nuget里面找到:
- Google Play Services - 最新的Google Play Services 包含App邀请功能,可以让用户分享他们的应用,更多信息请参考这里。
- Android Support Libraries - 这些库提供了向后兼容的一些API
- Android Wearable Library - 这个库包括Google Play Services bindings,最新针对于Android 可穿戴平台的库提供了新的功能,比如更简单的页面导航等。
总结
这篇文章介绍了Android 6.0,以及如何安装和配置Xamarin.Android,使其适配Android 6.0,这篇文章也介绍了Xamarin开发者如何使用这些新功能。
转载自:sinat_31967441的博客
CSDN软件商城:http://mall.csdn.net/tool
电话:010-57410251 邮箱:[email protected] QQ :2714137330