1.消息推送
客户端被动接收服务端数据,都可以用上消息推送技术
应用场景:广告,即时通讯
第三方SDK:极光推送JPush (另一个大牌推送SDK:个推)
使用步骤
①官网下载SDK,DOS文档里的是API文档,在线有一个帮助文档更详细
②在极光推送控制台创建应用,在该应用控制台可以下载示例DEMO
③根据文档进行开发
推送是通过广播接收者实现的,要实现更多的功能查看帮助文档中的高级
可以拿到:文章的标题,内容
隐含的字段: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隐藏了,更能方便的实现动画效果.