介绍App开发常见的第三方开发包,主要包括国内两家主要的地图服务开发(百度地图和高德地图)、全球华人主要的两个分享渠道开发(QQ分享和微信分享)、国内两家主要的支付服务开发(支付宝和微信支付)、中文世界主要的语音服务开发(讯飞语音的语音识别和语音合成)。

一、地图SDK

由于地图功能与用户所在国家密切相关,因此Android系统自身并不提供地图功能,App需要接入第三方地图开发包才能实现相关功能。

1.查看签名信息

App的包名相当于人们的身份证,然而这个身份证很容易被伪造,这时就要引入其他身份鉴伪标志。

对于人类来说,可以通过指纹识别是否为本人。对于App来说,也有类似指纹的标志信息,即App的签名信息。

如果App的安装包被篡改,那么签名信息必然发生变化,通过校验签名就能鉴别该App的真伪。

App有了签名作为身份信息,才允许在Android系统上安装和运行

如何获取签名信息

应用一般把SHA1作为签名信息,在开发调试和上线发布这两个阶段,分别对应两种签名:

1. 开发版签名

Android Studio自带的签名文件位于用户目录的.android/debug.keystore。

若要更换调试用的签名文件,则需要修改对应模块的build.gradle,即在该编译文件的android节点下补充签                            名配置。

2. 发布版签名

导出APK安装包需要密钥文件,这个密钥文件就是发布版的签名文件。

2.百度地图

百度地图的开放平台网址是http://lbsyun.baidu.com/。

引入百度地图的总体步骤如下:

(1)在开放平台上面下载地图SDK。

(2)申请开发者账号。

(3)创建测试应用,并填写测试应用的包名和SHA1签名串。

(4)修改App工程的AndroidManifest.xml,在application节点下补充百度地图的密钥配置。并注册百度地图的                          定位服务。

(5)把地图SDK导入到App工程中。

百度地图申请测试应用的页面

百度地图的主要应用

地图的开发有很多应用场景,主要包括:

1. 显示地图并定位 对于地图SDK来说,最基础的功能是显示当前城市的地图。

2. POI搜索 根据关键词搜索并在地图上显示周边地点的查询结果。

3. 距离与面积测量 估算平面上的地理测量数据,为进一步决策提供参考。

4. 行车路径导航 为用户提供从出发地到目的地的最佳规划路线。

百度地图的运行界面

3.高德地图

高德地图的开放平台网址是http://lbs.amap.com/。

引入高德地图的总体步骤如下:

(1)在开放平台上面下载地图SDK。

(2)申请开发者账号。

(3)创建测试应用,并设置测试应用的包名和SHA1签名串。

(4)修改App工程的AndroidManifest.xml,在application节点下补充高德地图的密钥配置。并注册高德地图的                           定位服务。

(5)把地图SDK导入到App工程中。

高德地图设置应用信息的页面

高德地图的运行界面

二、分享SDK

社会化分享指的是用户通过互联网这个媒介把文本/图片/多媒体信息分享到该用户的交际圈,从而加快信息传播的行为。App的社会化分享功能抓住几个大的圈子就够了,比如QQ、微信、QQ空间、微信朋友圈等。本节介绍QQ分享与微信分享的实现方案。

1.QQ分享

QQ好友分享与QQ空间分享同属QQ互联平台上的QQ分享,该平台的网址是https://connect.qq.com/。

下面是QQ分享用到的Tencent类的主要方法说明。

createInstance:根据appid创建一个Tencent实例。

login:QQ账号登录。

setAccessToken:设置入口令牌。

setOpenId:设置开放标识。

getQQToken:获取QQ登录授权的令牌。

shareToQQ:分享给QQ好友。

shareToQzone:分享到QQ空间。

QQ分享的界面效果

2.微信分享

微信开放平台的网址是https://open.weixin.qq.com/。

微信好友分享与微信朋友圈分享统称为微信分享。

下面是微信分享用到的IWXAPI类的常用方法说明。

createWXAPI:创建一个微信API实例。

registerApp:注册指定的appid。

sendReq:发送分享请求。该方法的参数为SendMessageToWX.Req对象。

如何发送微信的分享消息

下面是SendMessageToWX.Req的常用属性说明。

transaction:本次请求的流水。

scene:本次请求的场景。

1)SendMessageToWX.Req.WXSceneSession表示分享给微信好友;

2)SendMessageToWX.Req.WXSceneTimeline表示分享到朋友圈。

message:本次请求的信息。该方法的参数为WXMediaMessage对象。

下面是WXMediaMessage的常用属性说明。

title:分享的标题。

description:分享的内容。

mediaObject:分享的媒体信息。

thumbData:分享的缩略图。

微信分享的界面效果

三、支付SDK

第三方支付指的是第三方平台与各银行签约,在买方与卖方之间实现中介担保,从而增强支付交易的安全性。国内常用的支付平台主要有支付宝和微信支付,本节对支付宝和微信支付分别进行介绍。

1. 支付宝支付

支付宝的官方平台是蚂蚁金服开放平台,网址是https://open.alipay.com/。

因为第三方支付只是一个中介,交易流程要多次确认,所以App若要集成支付SDK,需要进行以下处理:

(1)除了作为买方的用户自己拥有支付账号,开发者还得申请作为卖方的商户账号。

(2)支付过程中,虽然允许App直接与第三方支付平台通信,但是正常要有自己的后台服务器,由服务器与第                         三方平台进行通信。

(3)为保证信息安全,需对关键数据进行加密处理

支付宝SDK的交易流程

(1)按照指定格式封装好交易信息。

(2)对交易信息进行RSA加密与URL编码。

(3)调用支付接口,传入加密好的信息串(这步要另开线程处理,不能放在UI线程中)。

(4)支付宝SDK在界面下方弹出支付窗口,用户输入支付账号信息,提交支付。

(5)收到支付完成的结果,判断支付状态是成功还是失败,并做相应的后续处理。

支付宝SDK的演示效果

2.微信支付

微信支付的官方平台是微信开放平台,网址是https://open.weixin.qq.com/。

在微信开放平台上申请测试应用,默认已获得微信分享的权限,而微信支付权限需要另外申请开通。

因为个人开发者无法申请微信支付功能,所以只能使用官方DEMO工程里的测试账号进行演示。

由于微信支付与微信分享在同一个开发包中,因此集成步骤与微信分享大致相同。

微信支付的交易流程

(1)使用开发者申请到的APP_ID和APP_SECRET向微信平台请求获取入口令牌。

(2)封装订单信息,并对订单信息进行MD5摘要处理。

(3)把加密后的订单与入口令牌发给微信平台,生成预支付订单,返回预付订单编号。

(4)重新封装订单信息,加上预付订单编号,向微信平台发起支付交易。

(5)跳到微信支付页面,用户输入支付账号信息,提交支付。

(6)支付完成,回到支付结果页面并进行回调操作。

微信支付的演示效果

四、语音SDK

语音技术主要分为两块,一块是语音转文字,即语音识别;另一块是文字转语音,即语音合成。国内的语音服务提供商主要有两家:讯飞语音和百度语音。

1.文字转语音TextToSpeech

Android内置了语音合成引擎,即“Pico TTS”。该引擎支持英语、法语、德语、意大利语,但不支持中文。

Android从4.0开始允许接入第三方的语音引擎,因此只要在设备上安装了中文引擎,就能在代码中使用中文语音合                    成 服务。

不管是系统自带的Pico引擎,还是手机厂商集成的中文引擎,都支持通过系统的API进行文本的语音合成。

如何使用TextToSpeech

下面是TextToSpeech常用的方法说明。

构造函数:第二个参数设置语音监听器,第三个参数设置语音引擎。

setLanguage:设置语言。

setSpeechRate:设置语速。

setPitch:设置音调。

speak:开始对指定文本进行语音朗读。

stop:停止朗读。

shutdown:关闭语音引擎。

isSpeaking:判断是否在语音朗读。

getEngines:获取系统支持的所有语音引擎。

实现语音播报的处理流程

(1)调用带两个参数的构造函数进行初始化;

(2)调用getEngines方法获得系统支持的语音引擎队列;

(3)调用带三个参数的构造函数初始化指定引擎;

(4)调用setLanguage方法设置该引擎支持的语言;

(5)最后调用speak方法开始朗读动作。

使用TTS的界面效果

2.语音识别

讯飞语音的开放平台网址是http://www.xfyun.cn/。

引入讯飞语音的总体步骤如下:

(1)申请开发者账号。

(2)创建测试应用。

(3)开通测试应用的语音听写和语音合成服务。

(4)在开放平台上面下载指定应用的语音SDK。

(5)把语音SDK导入到App工程中。

如何实现语音识别功能

讯飞SDK的语音识别功能主要通过SpeechRecognizer类实现,有以下常用方法。

createRecognizer:创建语音识别对象。

setParameter:设置语音识别的参数。

startListening:开始监听语音。

stopListening:结束监听语音。

writeAudio:把指定的音频流作为语音输入。

cancel:取消监听。

destroy:回收语音识别对象。

语音识别的界面效果

3.语音合成

讯飞的语音合成和语音识别功能在同一个开发包中,只需一次集成,无须重复。

讯飞SDK的语音合成功能主要通过SpeechSynthesizer类实现,有以下常用方法。

createSynthesizer:创建语音合成对象。

setParameter:设置语音合成的参数。

startSpeaking:开始语音朗读。

pauseSpeaking:暂停朗读。

resumeSpeaking:恢复朗读。

stopSpeaking:停止朗读。

destroy:回收语音合成对象。

语音合成的界面效果

小知识:评分条RatingBar

在服务行业中,商家信誉是一个很重要的指标,信誉好的商户,生意自然越来越好。

评分条RatingBar常用于消费者每次光顾商家后的星级评价,比如购物完成、行程结束之后的打分。

RatingBar其实是拖动条SeekBar的升级版,不同之处在于把进度标记换成了五角星。

android第三方开发包(十七)相关推荐

  1. Android第三方开发包之高德地图SDK使用介绍

    Android第三方开发包之高德地图SDK使用介绍 前言 准备 Android Studio 配置工程 1,新建一个 Empty Activity 应用项目. 2,添加SDK 3,集成SDK 显示地图 ...

  2. Android第三方开发包值高德地图SDK使用介绍

    (1)配置Project的build.gradle:添加jcenter的仓库地址 文件位置: 代码: allprojects { repositories { jcenter() // 或者 mave ...

  3. Android第三方开发包值高德地图SDK使用介绍,android面试基础

    jcenter() // 或者 mavenCentral() } } (2)配置主工程文件的build.gradle文件 文件位置: 代码: android { defaultConfig { ndk ...

  4. Android SDK开发包下载地址

    Android SDK开发包国内下载地址 不知道是因为最近kaihui还是怎么的,打开android sdk官方网站特别的慢,想下载最新版本的platform几乎变成不可能完成的任务,不知道为什么Go ...

  5. Android SDK开发包国内下载地址

    八进制 少年壮志无烟抽 首页 新随笔 联系 订阅 Android SDK开发包国内下载地址 http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/2 ...

  6. swag_ios安卓 testlight /apps/android官方开发包安装

    package main import( archive.https://1024td.com @91.189.91.93 security// 当前服务器ip     "github.co ...

  7. 【我的Android进阶之旅】如何快速寻找Android第三方开源库在Jcenter上的最新版本...

    问题描述 解决方法 先了解compile comsquareupokhttpokhttp240的意义 了解Jcenter和Maven jcenter Maven Central 理解jcenter和M ...

  8. 支付宝钱包接口开发包2.0标准版接入与使用规则

    接入与使用规则 支付宝钱包支付接口开发包 2.0 标准版 附录文档 版本号:1.3 支付宝(中国)网络技术有限公司 版权所有 支付宝钱包支付接口开发包 2.0 标准版附录文档 目录 1 文档说明... ...

  9. 《深入解析Android 5.0系统》——第1章,第1.2节安装开发包

    本节书摘来自异步社区<深入解析Android 5.0系统>一书中的第1章,第1.2节安装开发包,作者 刘超,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.2 ...

最新文章

  1. OpenStack Newton发布,EasyStack核心代码贡献中国第一!
  2. keil5改工程名称_修改Keil工程名称并添加其他模块文件
  3. E. Turn Off The TV Educational Codeforces Round 29
  4. Go基础编程:基础数据类型
  5. Android布局大全
  6. P7045-[MCOI-03]金牌【构造,交互题】
  7. JSF AJAX请求的会话超时处理
  8. 软件工程15 个人阅读作业1
  9. Qt工作笔记-使用Qt中QProcess与iostream中system调用外部进程
  10. 收藏 | 深度学习pytorch训练代码
  11. 结合图拉普拉斯的半监督学习
  12. 【Elasticsearch】实用BM25 -第1部分: shard 如何影响Elasticsearch中的相关性评分
  13. MySQL-数据类型 整理总结
  14. NetBeans 时事通讯(刊号 # 80 - Nov 15, 2009)
  15. 2022年最完整的html网页跳转代码大全
  16. 嵌入式开发:调试嵌入式软件的技巧
  17. android studio 报错 AAPT: error: style attribute ‘attr/colorPrimary (aka com.
  18. (原创)六度拓扑(www.6dtop.com)---超乎想像的人际关系网络
  19. 计算机网络系统中常用的四对双绞线电缆,计算机网络中常用的三种有线传输媒体是什么?...
  20. oracle 根据出生年份计算生肖

热门文章

  1. win7下用VS编译SBA(摄影测量光束法平差程序库)
  2. 扇贝一面----Android面经
  3. 结合PROFINET和OPC UA的优势监控现代化设备
  4. 第5组UI 让你的界面酷炫到底-ViewAniMator之ViewSwitcher、ImageSwitcher(图像切换器)、TextSwitcher(文本切换器)、ViewFlipper
  5. Day524.其他数据库日志 -mysql
  6. 虚拟直播需要哪些设备?如何搭建虚拟直播团队?
  7. Redis启动窗口一闪就关
  8. matplotlib红橙黄绿青蓝紫(含颜色大全)
  9. Linux安装Elasticsearch和Kibana
  10. 防雷接地系统中的浪涌保护器分类选型