当前搜索:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Android 带你彻底理解 Window 和 WindowManager

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

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

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

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

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

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

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

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

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

自定义View的套路

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

事件分发机制与滑动冲突

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

Android网页爬虫

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

Okio源码分析

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

ListView(2)SimpleAdapter与SimpleCursorAdapter详解

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

ListView(1)控件架构与ArrayAdapter详解

ListView是Android开发中比较常用的一个组件,它以列表的形式展示信息,并能根据信息的长度自适应显示。比如说我们手机里的通讯录就用到了ListView显示联系人信息。在大量的场合下,我们都需要使用这个控件。虽然在Android 5.0时代,RecyclerView在很多地方都在逐渐取代L...
阅读(5070) 评论(0)

Android 定位服务(Location-Based Services)

Android定位服务融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务。近些年来,基于位置的服务发展更为迅速,涉及商务、医疗、工作和生活的各个方面,为用户提供定位、追踪和敏感区域警告等一系列服务。 Android平台支持提供位置服务的API,在开发过程中主要使用Loc...
阅读(9110) 评论(0)

android 远程服务传递自定义数据类型

在Android系统中,进程间传递的数据包括Java语言支持的基本数据类型和用户自定义的数据类型,为了使数据能够穿越进程边界,所有数据都必须是“可打包”。对于Java语言的基本数据类型,打包过程是自动完成的。但对于自定义的数据类型,用户需要实现Parcelable接口,使自定义的数据类型能够转换为...
阅读(2555) 评论(2)

     个人博客 


       github   


     简        书 


    个人资料
    持之以恒
    等级:
    访问量: 27万+
    积分: 2507
    排名: 1万+