首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
walkeer
掘友等级
Android Developer
|
即刻
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
赞
2
文章 2
沸点 0
赞
2
返回
|
搜索文章
文章
热门
最新
Android 如何实现人声加强?
如果你听过播客,肯定遇到过这样的情况:主播声音太小或者因为收音设备故障的原因导致很难听清主播在说什么,或者遗漏一些关键的信息点,让你不得不倒回去重新听,让人很抓狂。作为播客客户端,有什么办法解决这个问题吗?
Exoplayer源码阅读之网络请求
Exoplayer 是一款很强大的音视频播放器类库,除了可以播放手机本地的资源,也可以播放网络上的。要播放网络上的音视频,肯定少不了网络请求相关的组件,这篇文章主要来分析 Exoplayer 中和网络请求相关的类。 根据这几个类的名字很容易发现 DefaultHttpDataS…
如何从零开发一个 gradle 插件(二)
上一篇我们介绍了 gradle 插件相关的概念,没看的同学可以点击这里查看,这一篇让我们结合例子来看看如何一步步创建一个 gradle 插件,并在 Android 项目中使用。 工欲善其事必先利其器,要开发 gradle 插件得先决定用什么开发环境。我自己使用过 Intelli…
如何从零开发一个 gradle 插件(一)
相信开发过 Android 应用的人都明白 gradle 的重要性,作为 Android 官方默认的构建工具,Android 开发者在日常开发中免不了和 gradle 打交道。而 gradle 的大部分功能都是通过插件扩展的,像我们最常用的插件就是 Android 官方插件 c…
configure、 make、 make install 背后的原理(翻译)
我使用过很多次,但在我刚开始使用 Linux 的时候并不知道这几行命令的意思,只知道安装软件的时候在命令行输入这几行命令就行了。 最近我在开发一个 Unix 工具,所以想弄明白这个标准化安装命令背后的原理。不止 Unix 用户对这几行命令很熟悉,如果要开发一款针对 Homebr…
SlideLayout 双列表页面实现
即刻 5.3 版本的时候,随着圈子详情页的内容越来越丰富,之前的页面结构已经不能满足我们的需求,需要一个新的布局方案承载各种圈子元素并满足我们的自定义交互。 CoordinatorLayout 作为容器负责两部分的布局和联动滑动,AppBarLayout 负责展示头部信息,底部…
View.requestLayout() 不生效的问题
View 的 requestLayout() 方法顾名思义用来触发一次 layout 行为,一般是当我们改变一些影响 View 布局的参数后调用,刷新 View 的布局。常见的使用方式如下: 要分析调用失效的原因,首先我们需要搞清楚 requestLayout() 流程。 这个…
三级 NestedScroll 嵌套滚动实践
我们知道 NestedScrolling(Parent/Child) 这对接口是用来实现嵌套滚动的,一般实现这对接口的 Parent 和 Child 没有直接嵌套,否则直接用 onInterceptTouchEvent() 和 onTouchEvent() 这对方法实现就可以了…
部分 Android 手机硬压视频和 IOS 播放器不兼容的问题
通过 MediaExtractor 将 mp4 文件分解成 h264 码流文件和 aac 音频文件,再使用 MediaCodec 解码 h264 得到像素数据。降低画面分辨率、设置码率和关键帧间隔后通过 MediaCodec 重新编码得到 h264 文件,然后通过 mp4par…
行间距失效问题
在 App 中正常浏览一段时间后,某些文本行间距失效。问题一旦出现,新打开的页面也会有这个问题,必须通过杀掉进程才能恢复。 根据现象大胆猜测是触发了特定条件导致某个静态对象状态改变,否则不会杀掉进程才能恢复。 要找行间距失效的原因,我选择 TextView 的 draw() 方…
下一页
个人成就
文章被点赞
298
文章被阅读
37,274
掘力值
1,167
关注了
2
关注者
152
收藏集
1
关注标签
27
加入于
2017-04-05