介绍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工程中。

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

android第三方开发包(十七)

百度地图的主要应用

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

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

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

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

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

百度地图的运行界面

android第三方开发包(十七)

3.高德地图

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

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

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

                 (2)申请开发者账号。

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

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

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

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

android第三方开发包(十七)

高德地图的运行界面

android第三方开发包(十七)

二、分享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分享的界面效果

android第三方开发包(十七)

 

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:分享的缩略图。

微信分享的界面效果

android第三方开发包(十七)

三、支付SDK

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

1. 支付宝支付

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

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

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

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

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

支付宝SDK的交易流程

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

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

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

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

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

支付宝SDK的演示效果

android第三方开发包(十七)

 2.微信支付

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

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

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

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

微信支付的交易流程

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

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

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

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

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

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

微信支付的演示效果

android第三方开发包(十七)

四、语音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的界面效果

android第三方开发包(十七)

2.语音识别

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

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

               (1)申请开发者账号。

               (2)创建测试应用。

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

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

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

如何实现语音识别功能

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

                 createRecognizer:创建语音识别对象。

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

                 startListening:开始监听语音。

                 stopListening:结束监听语音。

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

                 cancel:取消监听。

                 destroy:回收语音识别对象。

语音识别的界面效果

android第三方开发包(十七)

3.语音合成

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

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

                createSynthesizer:创建语音合成对象。

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

               startSpeaking:开始语音朗读。

               pauseSpeaking:暂停朗读。

               resumeSpeaking:恢复朗读。

               stopSpeaking:停止朗读。

               destroy:回收语音合成对象。

语音合成的界面效果

android第三方开发包(十七)

小知识:评分条RatingBar

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

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

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

 

 

 

 

 

 

 

 

 

 

相关文章: