1.消息推送算法
客户端被动接收服务端数据,均可以用上消息推送技术数组
应用场景:广告,即时通信服务器
第三方SDK:极光推送JPush (另外一个大牌推送SDK:个推)微信
使用步骤动画
①官网下载SDK,DOS文档里的是API文档,在线有一个帮助文档更详细url
②在极光推送控制台建立应用,在该应用控制台能够下载示例DEMOspa
③根据文档进行开发blog
推送是经过广播接收者实现的,要实现更多的功能查看帮助文档中的高级图片
能够拿到:文章的标题,内容开发
隐含的字段:url,推送的是一条新闻,拿到这个url 打开网页便可.
1.2 推送拓展
应用程序的更新(微博团队研发过,经过推送进行更新)
服务器消息推送,客户端实现数据更新(好比微信聊天界面每一个人的消息数量)
极光推送,自定义消息,任意定义内容,能够被客户端后台接收到,而不是显示在通知上.
经过消息推送实现的即时通信
1.3 消息推送的原理
①关键词:
长链接:保持服务端和客户端的长期连接
XMPP协议:专门针对消息推送的协议(相对于http协议而言是一个轻量级协议)XML格式.
Socket:能够比做电话(建议连接),XMPP协议就至关于语言
心跳包:客户端每隔一段时间(如今主流的是一分钟一次)给服务端发送一段极短的数据,证实客户端链接依然活着.可是这样可能会有消息丢失的状况.
市面上注重体验的公司:若是客户端在一段时间内没有发送心跳消息,服务端发送消息失败,会把消息先暂存起来,一旦检测到客户端从新发送心跳包,就发送消息
2,语音识别------------科大讯飞语音云,老牌语音公司
主要使用功能:语音识别,语音合成
使用:
①注册开放平台,添加应用
②下载SDK,打开doc文档,根据须要的功能分析开发文档
2.1 聊天机器人DEMO
参考界面
①聊天信息的显示,其实是一个ListView,一个item中包含全部聊天相关的控件,会根据实际状况来进行显示和隐藏
②集成语音识别的功能,这里的聊天机器人反馈为了简单起见就用几个简单的词汇判断.
③语音识别,转换成文字以后显示在页面上
语音识别反馈的是一个GSON,能够直接解析,也可使用 JSONObject
要注意的是,反馈的回调是根据参数上的boolean类型值判断这个语句是否一致.
这些简单词汇放进一个数组里,而后匹配就行,图片是随机的,放到一个数组里,随机.
语音合成,将匹配的词汇经过语音合成播放出来.
3.友盟统计指数
有不少有用的指数,能够指引开发方向
3.2,友盟统计SDK的使用
使用方式:注册帐号,获取APPKey,查看开发文档
开发中若是须要统计,强烈推荐友盟统计
4.扫描二维码,zxing的使用
二维码,实际上是一种数学算法,与二进制有关,有容错限制,因此能够放一张图片在上面(前提是不盖上三个大黑块)
5.新闻频道的滑动效果
上面是一个自定义GridView,能够拖动方块
下面是一个自定义GridView,不过修改了大小
点击上方的自定义GridView,其实是经过WindowManager在整个window添加了一个全屏的视图,而后在这个视图上面进行全屏拖拽的显示效果
同时,对拖拽的位置进行动态的坐标进行获取,动态分析该位置,而后实现相应的动画效果(translateAnimation)
值得注意的是,出现全屏视图的时候,把原来的GridView隐藏了,更能方便的实现动画效果.