最近在做一些跟传感器相关的东西,有注意到以前腾讯微博以前出过一个吹一吹交互,虽然和传感器无关,但是感觉也比较有兴趣,就写了一个拙劣的demo,因为接触媒体文件操作比较少,顺带写了一个录音和播放的例子,总结了一下一些小坑的地方,一并在此分享给大家。 主要思路和坑的地方 主要的思路是通过MediaRecorder提供的getMaxAmplitude()函数,获取一段时间内输入的音频最大幅值来进行检测,

mediaplayer   android  

AccessibilityService从入门到出轨 AccessibilityService根据官方的介绍,是指开发者通过增加类似contentDescription的属性,从而在不修改代码的情况下,让残障人士能够获得使用体验的优化,大家可以打开AccessibilityService来试一下,点击区域,可以有语音或者触摸的提示,帮助残障人士使用App。 当然,现在AccessibilitySe

android  

中国互联网的三大错觉:索尼倒闭,诺基亚崛起,谷歌重返中国。12月8日,2016 Google 开发者大会正式发布了Google Developers 中国网站 ,包含了Android Developers 的官网、文档、博客教学视频等开发技术资源,同时也透露了 Angular 和 Firebase 也作为在中国的技术重头戏。更多可以看看这篇文章—— Google开发者大会给我们带来了什么,还有 @

android   ios   google  

现在Android阵营里面的刷新控件很多,稂莠不齐。笔者试图从不一样的角度,在它的个性化和滚动上下一些功夫。笔者期望,这个刷新控件能像Google的SwipeRefreshLayout一样,支持大多数列表控件,有加载更多功能,最好是要很方便的支持个性化,滚动中能够越界是不是也会带来比普通的刷新控件更好的交互体验。开源库在这,TwinklingRefreshLayout,如果喜欢请star,笔者的文

android   java   移动应用开发   移动app   自定义控件  

引言 使用微信时我们会发现,首次进入微信的好友列表时,会加载好友头像,但是再次进入时,就不用重新加载了,而且其他页面都不用重新加载,说明微信的好友头像是缓存在本地的,然后好友修改头像后,又会及时的更新,这个功能是如何实现的呢,我们来分析一下 分析 关于头像缓存的实现 头像是网络图片,而且数据量较大,如果用我们常用的SharedPreferences将头像以Bitmap的形式存储,势必会造成OOM,

android  

在Android Kikat及以前的Android系统上,构建或安装Apk会出现“65535方法数超标”以及“INSTALL_FAILED_DEXOPT”问题,MultiDex是Google为了解决这个问题问题而开发的一个Support库。MultiDex出现的具体背景、使用方式可以参考给App启用 MultiDex功能,而MultiDex Support库的工作机制、源码分析可以参考MultiD

multidex   android  

「daza.io」是一款基于技能树(正在实现)的技术内容聚合应用,根据你的技能对内容进行筛选,让你在这个信息过载的时代里更高效地获取你所需的内容。 自上次发文章之后已经过了2个月了,我也在11月19号结束了一个人的旅行(历时59天)回到了深圳,专心于完成这个全端项目的客户端开发,终于在12月2号 iOS 版上线 AppStore ,12月7号 Android 上线到 GooglePlay。 最初我

swift   android   全栈   ios   vue.js  

TwinklingRefreshLayout v1.04 版精心重构,优化 UI、刷新及越界动画效果,修复众多 bug,完美发布! TwinklingRefreshLayout延伸了Google的SwipeRefreshLayout的思想,不在列表控件上动刀,而是使用一个ViewGroup来包含列表控件,以保持其较低的耦合性和较高的通用性。其主要特性有: 支持RecyclerView、Scroll

自定义控件   移动app   移动应用开发   java   android  

实现背景 Android应用中并不少见同一个接口需要在多个地方请求使用的情况,如果将请求直接写在相应Activity或Fragment中,那么首先可能出现的问题就是随需求变更,请求参数和返回结果都有可能变化,而修改时就需要搜索相关逻辑依次复制粘贴修改,大量重复工作且容易出错。而通过请求接口集中处理,则大大减少了工作量且减少出错机会。 注:这里请求框架以Andbase为例,其他如xutils,OKH

android  

优化思路: 将定位逻辑写在Application中,并提供监听,需要时在其他Activity中调用结果。 解决问题: 1.将定位逻辑写在Activity可能存在定位多次初始化、多次请求定位等定位相关逻辑混乱的问题; 2.定位逻辑初始化时的定位设置耗时较多,写在Activity中会导致Activity启动过慢的问题。 基本配置: 见高德配置文档。 具体实现: 源代码: package com.exa

android  
1 2 3 4 5 6 7 8 9