仿微信底部栏透明度渐变效果并且带红点提醒和未读数统计
仿微信底部栏透明度渐变效果,当前页面底部栏颜色逐渐变浅,将要切换到的页面底部栏颜色逐渐变深。并且可设置红点提醒和未读数统计,当然不需要显示了也可以隐藏。
google为android打造的响应式编程agera
google为android打造的响应式编程agera,类似rxjava与rxandroid、rxbus、rxbinding的结合体,提供五大核心:content、database、net、rvdatabinding、rvadapter
android客户端语音聊天
android客户端的语音聊天:从录音到发送再接收播放。支持手势上滑取消发送,自设定录音时长,10s倒计时提醒,未读语音消息红点提示,未读语音连续播放,可暂停播放,支持切换播放模式(听筒播放与扬声器播放)。
带动画的弧形仪表盘统计控件
弧形仪表盘统计控件,根据总数自动标志刻度线,弧形中间可显示当前人数与总人数以及百分比,进度条发生改变时有动画渐变效果,调用简单只需传入总人数与当前人数。
android插件化加载并启动外部apk
采用360提供的DroidPlugin方案,通过插件化加载安装,并启动外部apk。需要为插件预申请对应权限。
仿支付宝咻一咻波纹扩散动画
仿支付宝咻一咻波纹扩散动画,使用属性动画组合播放,可设置波纹圆圈个数、放大倍数、播放延时时间、圆圈半径、圆圈颜色
利用RecyclerView实现垂直滑动的ViewPager
利用自定义RecyclerView实现垂直滑动的ViewPager,在垂直方向可以上下滑动,换页过程中加上切入切出的动画。做成签到列表,点击签到(模拟)请求网络成功后,提示签到成功延迟2s,该页面从签到列表移除。
群成员@提醒
首先,在编辑框输入@字符,跳转到选择群成员界面:支持多选、全选、反选、根据姓名与手机号码搜索。选择完成点击确定后,选中的群成员自动填充到编辑框,并且用spannable上色。点击群成员区域,设置光标落在尾处,支持删除。模拟未读@消息提醒,右上角有悬浮按钮,点击后滑动到未读消息处。
android与js互相调用
android调用js方法向网页输入文字,js调用android本地相册图片、调用摄像头拍照、调用本地视频播放。
类似微信QQ分享我的位置
与微信QQ的即时消息中分享位置相似,点击查看位置按钮即可定位我的当前位置,支持地理位置模糊搜索,有位置列表可选择,地图支持缩放、拖动查看。返回经纬度、地址与位置截屏,使用自定义控件展示位置截屏图片附着所处地址,点击图片可查看位置详情。
支持拍照的图片选择器
可设置选择图片最大数量,支持拍照与本地相册选择,支持手势缩放与拖动预览。采用facebook开源的图片加载库fresco进行图片浏览。图片尺寸与手机屏幕适配,按比例压缩不变形。采用recylerView展示选中图片,支持添加、删除与点击预览。
android利用windowmanager实现悬浮窗
核心在于WindowManager,通过它创建一个LayoutParams对象,然后利用该对象设置flag、gravity、xy坐标点。它提供三个方法:addView()、updateLayout()、removeView()。分别对应是添加view、更新view、移除view。主要分析更新view的实现过程:实现触摸事件监听,重写onTouch()方法,在ActionDown时,利用getRawX和getRawY得到x1、y1,在ActionMove时,利用getX和getY获取移动过程的x2、y2,两者作差后作为更新的view对应的xy坐标,调用updateLayout()实现更新。
垂直换行滚动广告
自定义一个控件MarqueeView实现动画切入切出的垂直换行,可设置动画时间、换行时间价间隔,控制广告的播放与暂停,动态配置广告。
Android自定义GridView长按拖动排序
android自定义GridView长按拖动排序,类似支付宝首页,震动提示,固定最后一个“更多”item。退出应用程序后,保存修改的item位置到数据库,实现记住修改位置。
android自定义GridView拖拽排序
android自定义GridView长按拖动排序,类似支付宝首页,震动提示,固定最后一个“更多”item。退出应用程序后,保存修改的item位置到数据库,实现记住修改位置。
android人脸识别
基于android平台,实现在线人脸识别、检测、聚焦,离线人脸检测,动态视频人脸检测(支持多脸),正确识别率达到99%,带着眼镜也可以正确识别。
android多线程断电续传下载文件
android平台根据文件大小,可设置线程数,下载记录保存在数据库,下载完毕删除记录,实现断电续传下载。
android客户端远程操作数据库
基于android客户端(ADT22、API18),通过HTTPGet与服务端通信,在URL传输参数指令,读取服务端反馈回来的结果,实现远程操作MySQL数据库。服务端基于MyEclipse10环境,使用servelet+struts2+tomcat,接收客户端HTTP请求,实现连接数据库,对数据库增删查改等。
android操作MySQL数据库
基于android平台,通过JDBC连接MySQL数据库,实现增删查改操作
http请求json并解析数据
利用tomcat作为服务器,客户端采用HTTP方式请求json数据并进行解析
rfc3711_srtp.pdf
srtp为安全加密的rtp传输,增加ssl握手协议
rfc3489_STUN.pdf
WebRTC的打洞过程,使用STUN会话遍历访问防火墙
rfc7826_rtsp.pdf
rtsp实时传输流协议,包括register、setup、play、pause、teardown等控制
rfc5506_RTCP.pdf
rtcp音视频实时传输控制协议,统计丢包、延迟
neon指令硬件加速_CodingForNeon.pdf
neon指令实现ARM平台的硬件加速,SIMD单指令多数据,寄存器并行运算
hls直播协议_rfc8216_hls.pdf
hls直播协议,描述hls工作原理、m3u8结构、ts流传输
android平台的车牌识别so库
支持车牌的实时识别,支持蓝色、黄色、绿色新能源等车牌,识别耗时比较短,大概单个车牌是180ms,识别率比较高
android平台的车牌识别
基于openCV的车牌检测结合深度学习进行车牌识别,支持蓝色、黄色、新能源车牌
基于ORM的数据库框架Room
基于ORM的数据库框架Room,Android原生API,官方推荐使用,类似GreenDAO数据库。
window平台的nginx rtmp服务器
window平台的nginx rtmp服务器,点击nginx.exe就可以开启服务,在网页输入rtmp推流地址就可以实时拉流直播,也可以使用ijkplayer或者ffplay进行播放
Android端基于TensorFlow进行图像分类
Android端基于TensorFlow进行图像分类,使用Assets目录训练好的样本库和标签文件,识别率相当准确。
android端基于深度学习的车牌识别
android端,基于openCV与深度学习,实现快速准确的车牌识别。平均识别耗时350ms左右,采集100样本识别准确率达到95%。识别过程:1、使用openCV确定车牌左右、上下区域;2、车牌倾斜判断与校正;3、滑动切割字符;4、深度学习对每个字符进行识别
android端采用FFmpeg实现音频拼接/剪切/混音与转码
android端采用FFmpeg,传入命令行调用run()方法,实现音频拼接/剪切/混音与转码
android端实时车牌识别
android端,基于openCV与深度学习,实现快速准确的车牌识别。平均识别耗时350ms左右,采集100样本识别准确率达到95%。识别过程:1、使用openCV确定车牌左右、上下区域;2、车牌倾斜判断与校正;3、滑动切割字符;4、深度学习对每个字符进行识别
android注入dex实现热修复
android通过反射注入dex到dexElements数组,实现bug的热修复
android版美颜宠萌相机
android平台的美颜相机,基于openCV进行人脸检测,添加各种宠萌效果
ndk处理图片:添加文字和图片水印
android平台,ndk处理图片,添加文字和图片水印,可灵活控制水印的位置
使用NDK拼接长图
使用NDK对多张图片进行拼接,先对每张图片进行预处理:压缩,剪裁宽度高度一致,最后得到一张长图,看起来效果很酷。美图秀秀的必备技能。
Android基于socket的TCP通信
基于socket套接字的TCP通信,定时发送心跳包以保持长连接,使用守护线程来守护心跳线程,保证心跳线程持续工作。如果断开连接,启动重连接机制,随着重连接次数增加,连接时间拉长,如果重连接次数达到10次,认为网络已断开,放弃连接服务端。(待完善,客户端离线消息应该使用数据库保存,等网络重新建立连接,推送给服务端。)