yhao的博客

最怕庸碌无为,还安慰自己平凡可贵

排序:
默认
按更新时间
按访问量

再见 2017,你好 2018

觉得有必要写一份年终总结,审视一下过去,规划一下未来。敲完上面这句话,发现用到了两个“一下”,有点累赘,重新组织一下语言吧,可就在重新组织的过程中,突然就不想写了,我想做的是总结,不是写诗,不想咬文嚼字。敲完上面这句话,考虑自己是不是有点浮躁,一句话都懒得修改,爱咋咋地吧,这篇非技术文章就来一次真...

2017-12-19 00:17:27

阅读数:820

评论数:4

Android 集成 FFmpeg (三) 获取 FFmpeg 执行进度

在以命令方式调用 FFmpeg 的时候,可能会执行一些比较耗时的任务,这时如果没有进度展示,用户可能会以为程序崩溃了,体验十分不好.能不能在以命令方式调用 FFmpeg 时实时获取执行进度呢?谷歌关键词 "Android FFmpeg 命令" 可以得到很多教程,但加上关键词 &...

2017-12-17 22:03:26

阅读数:1741

评论数:3

Android 应用内悬浮控件实践总结

在工作中遇到一个需求,需要在整个应用的上层悬浮显示控件,目标效果如下图:首先想到的是申请悬浮窗权限,OK~ 打开搜索引擎,映入眼帘的并不是如何申请,而是“Android 悬浮窗权限各机型各系统适配大全、Android 绕过权限显示悬浮窗…”,为什么悬浮窗权限会有这么多坑呢?悬浮窗可以在桌面显示,被...

2017-11-16 19:33:11

阅读数:7701

评论数:43

一款纯 Kotlin 编写的开源安卓应用 "Smile"

我从对 Kotlin 一窍不通,到完整开发出此 App,共用了 9 天,其中有 4 天只在晚上开发,也就是说共计 5 天 + 4 个晚上。另外由于我对 ui 的挑剔,主题色的挑选及 logo 设计至少占去五分之一的时间。我并不是在炫耀我的自学能力,Smile 的内容并不算多,肯定有很多大牛比我快,...

2017-09-11 21:16:49

阅读数:3861

评论数:8

一句代码搞定 RecycleView 侧滑菜单、添加头部底部、加载更多

在动手打造史上最简单的 Recycleview 侧滑菜单中,萌生了将这种方案封装为一个开源库的想法,旨在实现调用方式最简单,且又不失可定制性。本库最大的特点的是采用了 Glide 简洁明了的链式调用方式,一句代码即可添加侧滑菜单、头部底部等。

2017-09-08 10:14:35

阅读数:4182

评论数:38

Android 集成 FFmpeg (二) 以命令方式调用 FFmpeg

网上教程实现 FFmpeg 内部日志输出到 logcat 的并不多,但这一步是十分有必要的。很多教程中需要将 ffmpeg 中的 main 方法名字修改为 "run" 、"exec" 等等,其实完全没必要,为什么要对方法名这么在意,乃至不惜徒增新手学习的复杂...

2017-08-29 12:00:50

阅读数:7120

评论数:35

动手打造史上最简单的 Recycleview 侧滑菜单

Recycleview 侧滑菜单大多的实现思路是:通过自定义 Recycleview 或 Adapter 提供创建菜单方法,然后内部再关联到各个 item 改变其布局,从而使 item 具有侧滑功能,优点是使用简单,但是不够灵活,比如开始提到的三个局限性。本文实现方法直接在 item 布局中进行设...

2017-08-19 11:27:06

阅读数:43194

评论数:35

Android 集成 FFmpeg (一) 基础知识及简单调用

本系列第二篇:Android 集成 FFmpeg (二) 以命令方式调用 FFmpeg 前言 网上关于 Android 集成 FFmpeg 的文章很多,但大多数都只介绍了步骤,没有说明背后的原理,若之前没有集成底层库的经验,那就会“神知无知”的走一步看一步,出错几率很大,出错了也不知道原因...

2017-08-12 23:28:19

阅读数:17007

评论数:20

全面掌握 Java 内部类

一直以来以为自己对 java 基础甚是清楚,然而面试时却连内部类和静态内部类的区别都无法回答圆满,so~重新学习一遍,彻底掌握内部类。内部类是一种非常有用的特性,它可以把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性,下文中内部类均指非静态内部类。内部类的学习分为以下10个知识点: 1.创...

2017-05-24 16:20:16

阅读数:2890

评论数:0

Ubuntu16.04 Caffe 安装步骤记录(超详尽)

历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受折磨后决定把安装步骤记录下来,尽量详尽清楚明白,避免后来小白重蹈覆辙。安装硬件: intel i5...

2017-05-19 19:09:11

阅读数:110839

评论数:153

Android 带你彻底理解 Window 和 WindowManager

任何 View 都是附属在一个 Window 上面的,Window 表示一个窗口的概念,也是一个抽象的概念,Window 并不是实际存在的,它是以 View 的形式存在的。WindowManager 是外界也就是我们访问 Window 的入口,Window 的具体实现位于 WindowManage...

2017-04-05 23:31:39

阅读数:31502

评论数:28

Android 基于TCP的 Socket 编程实现(结合 okio)

两个进程如果要进行通讯最基本的一个前提就是能够唯一的标识一个进程,在本地进程通讯中我们可以使用 PID 来唯一标识一个进程,但 PID 只在本地是唯一的,网络中两个进程 PID 冲突几率很大,这时我们就需要通过其他手段来唯一标识网络中的进程了,我们知道 IP 层的 ip 地址可以唯一标示主机,而 ...

2017-03-31 16:35:17

阅读数:17014

评论数:3

DataBinding 与 mvvm 模式(二)其他类型数据绑定

本文介绍绑定颜色数据、绑定本地图片资源以及绑定网络图片三个案例,对于除了文本类型数据之外的其他类型数据,我们可以通过改造 getXxx 和 @BindingAdapter 注解两种方法实现绑定,推荐使用 @BindingAdapter 注解方式,因为它更加灵活易用。当然实际开发中会涉及到 List...

2017-03-29 21:01:57

阅读数:1662

评论数:0

DataBinding 与 mvvm 模式(一)文本类型数据绑定

Google 说:世界上已经31个 findViewById 的插件了,不过 Google 推出了最后一个那就是 DataBinding。数据绑定的主创甚至说了:我们发布得太晚了,这个东西应该在7,8年前我们发布 Android 的时候就推出的。所以,还在犹豫什么呢?快在你的项目中使用起来吧!

2017-03-29 16:17:31

阅读数:1748

评论数:0

由Android属性动画原理联想到DataBinding

看到这个标题的时候你可能会有疑问,属性动画和 DataBinding 之间有什么关系?我个人理解的是:它们内部的实现思想有相似之处。这篇文章主要对 Android 属性动画的知识通过文字进行整理记录,内容参考于《Android开发艺术探索》,在最后会给出我如此理解属性动画和 DataBinding...

2017-03-22 21:35:35

阅读数:1059

评论数:0

自定义View的套路

自定义View是综合的技术体系,它涉及View的层级结构、事件分发机制和View的工作原理等技术细节。自定义View的分类1.继承View重写onDraw方法 这种方法主要用于实现一些不规则的效果,需要通过绘制的方式实现,即重写onDraw方法,采用这种方式需要自己支持wrap_content,...

2017-03-13 21:33:57

阅读数:1929

评论数:3

事件分发机制与滑动冲突

在界面中内外两层同时可以滑动,就产生了滑动冲突,如何解决滑动冲突呢?其实这是一件非常简单的事,因为滑动冲突的解决有固定的套路,只要知道了这个固定套路,问题就十分容易解决了。常见的滑动冲突场景可分为以下三种:场景1:外部滑动方向和内部滑动方向不一致 ViewPager和Fragment组成的页面中...

2017-03-12 21:13:43

阅读数:1024

评论数:0

Android网页爬虫

静态页面 需求:获取http://blog.csdn.net/yhaolpz?viewmode=contents页面的title 首先通过okhttp以get方式请求页面: final String url = "http://blog.csdn.net/yhaolpz?vie...

2017-03-03 17:34:33

阅读数:4066

评论数:0

Okio源码分析

square在开源社区的贡献是卓越的,这里是square在Android领域贡献的开源项目。1. okio概念 okio是一个由square公司开发的开源库,它弥补了Java.io和java.nio的不足,能够更方便快速的读取、存储和处理数据。 okio有自己的流类型Source和Sink,对应于...

2017-02-16 17:24:54

阅读数:9416

评论数:1

ListView(2)SimpleAdapter与SimpleCursorAdapter详解

SimpleAdapter官方定义: An easy adapter to map static data to views defined in an XML file. 一个简单的适配器,将静态数据映射到一个XML文件中定义的视图。 上面定义有两点引起了我的注意:简单、静态数据。我...

2016-06-11 19:14:31

阅读数:7196

评论数:12

提示
确定要删除当前文章?
取消 删除