自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HappyAndroidi的博客

Android的救赎

  • 博客(27)
  • 收藏
  • 关注

原创 Bitmap如何存储原始数据

原文地址原创文章,未经作者允许不得转载眉共春山争秀可怜长皱莫将清泪湿花枝,恐花也、如人瘦概述Bitmap是Android图片处理这块绕不过的一个主题,在处理Bitmap缓存这方面,一般会分为两部分:内存缓存和磁盘缓存。磁盘缓存这块呢,常用的就是使用Bitmap的compress函数,根据实际需求压缩为想要的图片文件。对于常规的带有透明度的图片来说,选择无损压缩成PNG或者Webp文...

2019-06-30 21:13:01 1792 1

原创 解决AAC音频编码时间戳计算问题

原文地址原创文章,转载请联系作者西北望乡何处是,东南见月几回圆。昨风一吹无人会,今夜清光似往年。主题音频是流式数据,并不像视频一样有P帧和B帧的概念。就像砌墙一样,咔咔往上摞就行了。一般来说,AAC编码中生成文件这一步,如果使用的是OutputStream流写入文件的话,就完全不需要计算时间。但在音视频同步或者使用Android自带的MediaMuxer来生成音频文件时,就需要计算音...

2019-06-20 10:57:11 2917

原创 使用MediaCodeC将图片集编码为视频

原文地址原创文章,转载请联系作者绿生莺啼春正浓,钗头青杏小,绿成丛。玉船风动酒鳞红。歌声咽,相见几时重?提要这是MediaCodeC系列的第三章,主题是如何使用MediaCodeC将图片集编码为视频文件。在Android多媒体的处理上,MediaCodeC是一套非常有用的API。此次实验中,所使用的图片集正是MediaCodeC硬解码视频,并将视频帧存储为图片文件文章中,对视频解码出...

2019-05-06 09:27:00 6283 1

原创 Android:MediaCodeC硬编码解码视频,并将视频帧存储为图片文件

好久不见,AiLo肥来了!原文地址原创文章,转载请联系作者醉拍春衫惜旧香,天将离恨恼疏狂。年年陌上生秋草,日日楼中到夕阳。目的MediaCodeC搭配MediaExtractor将视频完整解码视频帧存储为JPEG文件使用两种方式达成硬编码输出数据二次封装为YuvImage,并直接输出为JPEG格式文件硬编码搭配Surface,用OpenGL封装为RGBA数据格式,再利用...

2019-04-17 17:15:12 3714

原创 MediaCodeC解码视频指定帧,迅捷、精确

原创文章,转载请联系作者若待明朝风雨过,人在天涯!春在天涯原文地址提要最近在整理硬编码MediaCodec相关的学习笔记,以及代码文档,分享出来以供参考。本人水平有限,项目难免有思虑不当之处,若有问题可以提Issues。项目地址传送门此篇文章,主要是分享如何用MediaCodeC解码视频指定时间的一帧,回调Bitmap对象。之前还有一篇MediaCodeC硬解码视频,并将视频帧存储为图...

2019-04-17 17:14:04 2602

原创 使用A*算法求迷宫最短路径问题

原创文章,转载请联系作者 时光只解催人老,不信多情,长恨离亭,泪滴春衫酒易醒。前言最近接触了一个挺有意思的小课题,跟大家分享一下。就是利用A*算法,来计算迷宫可行路径。有关这个算法的知识,大家可以看看A*算法维基百科以及A星算法详解来稍作了解。代码地址在此Maze,喜欢Python的小可爱们可以拿去练练手。提要说明本题中的迷宫,是以宫格类型呈现的,在代码中的呈现为二维...

2018-08-01 23:16:56 8018 1

原创 使用Kotlin的DSL构建Recyclerview适配器

原创文章,转载请联系作者前言这是Kotlin实践日记的第一章,使用Kotlin构建一个,使用方便、多功能的Recyclerview适配器——AcrobatAdapter。AcrobatAdapter让开发者专注于Item的配置,包括Item的UI和数据显示,以及单击、双击、长按事件【且不会影响子View的事件传递】。而且不仅仅是单Item Style列表,还是多Item Style...

2018-07-09 22:59:42 922

原创 supportsRtl属性影响TextView的textAlignment属性,文字无法居中

manifest使用supportsRtl属性 此属性是要实现RTL(从右到左)的布局镜面反射才会使用的。开启了此属性后那些带有start和end的属性才可以使用。或者是在layoutDirection属性设置后,才能使用start或者end属性。为了适应不同地区的不同习惯,有的地区习惯从左往右,有的地区使用从右往左。

2017-02-16 11:25:08 2877

原创 Android Studio自动生成单例代码

AS中有可以自己设置代码模板,使用起来简单方便。同样的,单例类的代码样式统一,除了类名外全部一致。所以使用模板更加方便。在设置中的Editor—Live Template中新建模板,然后把单例的模板代码粘贴上去。其中的NAMENAME属于自定义字段,给它赋予一个值即可。步骤如下: 然后给这个模板定义一个快捷模式即可。 到了这一步,快捷模板即可使用,但还有一个步骤,没有这个步骤,

2017-01-20 14:55:59 6397

原创 Android知识点收集

View篇ViewPager使用PagerAdapter的notifyDataSetChanged()方法,不会立即触发ViewPager.PageTransformer的动画效果,必须在滑动后才会触发。

2017-01-16 17:13:24 809

原创 RelativeLayout.LayoutParams使用addRule后出现错位

在ListView中使用RelativeLayout.LayoutParams的addRule方法后,出现组件错位的情况。RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(); params.addRule(RelativeLayout.ALIGN_RIGHT,R.id.test); add

2017-01-11 16:06:16 2310

原创 Android DrawerLayout使用StatusBarUtil设置状态栏颜色失败的解决办法

本文是处于5.0以上系统的环境下进行的,以下暂时未能验证。众所周知,4.4以下状态栏一般是无法改变颜色的,就是系统默认的黑色。4.4以上之后,系统可以设置状态栏颜色了。一般我们在进行状态栏适配的时候,就会分三种情况,4.4以下、4.4以上、和5.0以上。之前我在适配的时候,4.4以上选择的半透明,5.0以上是不透明,也就是ToolBar是什么颜色,状态栏就是什么颜色。勉强称之为沉浸式状态栏。

2016-06-01 09:43:29 4584 1

原创 Android Studio运行程序时显示apk not exists

解决办法,把gradle刷新就行辣 以上

2016-05-16 18:18:34 1396

原创 RecycleView的分割线之私人订制

首先,来几个分类吧:默认分割线:高度为2px,颜色为灰色addItemDecoration(new RecycleViewDivider(mContext, LinearLayoutManager.VERTICAL));自定义分割线:自定义分割线drawableaddItemDecoration(new RecycleViewDivider( mContext, LinearLay

2016-05-15 21:56:07 1966

原创 NavigationView解决Item图标不显示原始颜色

NavigationView是一个很好的实现侧边抽屉效果的组件,主要解决一下可能遇到的问题。 设计好的彩色图标,在NavigationView中却是灰色。可以设置属性app:itemIconTint,将item的图标设置为统一颜色。但这样也并不好,所以可以通过如下方法:setItemIconTintList(null);传入一个null参数,这样原本的彩色图标就可以显示出来了。

2016-05-15 11:09:09 8098 6

原创 ToolBar左侧图标设置以及点击事件配置

Material Design包下的ToolBar已经在逐步取代以前ActionBar的地位了,相比较之下,ToolBar更加显得灵活,已经不局限于一个简单的标题栏。 更像是一个自由的控件。如何给ToolBar设置左侧图标。 ToolBar左侧的图标其实很讲究的,之前在不了解情况前,我使用了一种比较蠢得方法,就是在ToolBar内放置了一个gravity为left的ImageView。上面那

2016-05-05 23:28:58 25192

原创 Android论如何写一个正确的单例模式

犹记得当初学单例模式的时候,学的是这样的 饿汉式,简单粗暴无脑。但是无法延迟创建对象public class Singleton { private static Singleton = new Singleton(); private Singleton() {} public static getSignleton(){ return singlet

2016-04-14 21:37:45 947

原创 自定义View——神之ViewDragHelper实现ListView滑动删除

之前有段时间在自学研究自定义View,刚好那时候需要做一个项目,有用到ListView滑动删除的功能。趁着这段时间有空,就把这个Demo分享出来。先看看实际的效果吧 因为Gif录制软件的关系,鼠标漏掉了,大家将就看哈。要是有什么好的录制软件,也可以推荐给我。先说说思路:思路这个东西其实很重要,有的时候只记代码是没有用的。在做某些功能之前,你首先要很清楚的一点是,就是要使用什么样的技术来实现这种

2016-04-01 00:17:38 1452

原创 Android Accessibility实现程序锁功能

之前在做卫士项目的时候,做程序锁的时候,遇到一个问题。以往做程序锁的时候,我们都会选择开启一个后台服务,然后在服务中不断获取当前运行的栈信息,提取栈顶的packageName来判定当时运行的程序是否为锁程序。但这种方式在API21之后不能用了,因为getRunningTasks这个方法在API21已经被弃用了。在Android 5.1的系统也不支持此种方式。 但别着急,在5.1版本后我们还有另一种

2016-03-24 23:47:07 1496

原创 Android Studio下简单编译AIDL方法

今天当我天真的打开Android Studio,准备开始一天开心的工作时。一个小小的问题迎头向我砸来,那就是有一个小模块需要用到源码里的AIDL。然后我直接把它扔在相应的包里了。如图: 包名什么的都是Ok的,我已经按照代码里的包名改过来了,但是还是一直编译不通过。记得Eclipse里直接放到这里就行了啊。 然后经过一番查证以及实验,最终确定了必须在app:里的build.grade里加上这样

2016-03-15 19:43:50 4909

原创 Android使用ViewPager实现导航页根据情况禁止滑动以及点击切换

前段时间由于项目原因,要做一个导航页面。但有时会需要用到根据某些条件禁止滑动,以及通过按钮点击切换页面的效果。刚好趁现在把这些东西写下来,分享出来。一、ViewPager点击切换因为之前做的那个项目是一个安全卫士的项目,在手机防盗这一块需要做一个导航页面。导航页面嘛,大家懂得一页一页往下翻过去,底部再加上若干个小圆点随着滑动。其实底部小圆点这个东西也好做,最笨的办法就是给每一个View下面都排上一排

2016-03-13 23:55:14 3951

原创 Android实现随触摸移动而变化的效果

Android可以做很多有意思的事情,而这正是我喜欢她的原因。今天会做一个在屏幕上随着手指移动而变化的效果。步骤如下首先,我们要自定义一个View组件,而这个组件就是在之后会用到的屏幕上移动的小组件。然后我们在一个布局上添加这个View,并且给此View添加onTouch触摸事件。此外,此组件内也要重写onDraw方法,对此组件进行绘制。废话不说,代码见真章: clas

2016-03-05 22:37:23 1562

原创 Activity详解数据传递以及隐式Intent启动

数据传递简单数据intent.putExtra(key , value);----------------------------Intent intent = getIntent();intent.getXXXExtra(key); // xxx ---- 指的是早前传递的数据类型复杂数据Serializable 这是一个空的接口,只要让javaBean实现这个接口即可,那么就可以传递对象到下

2016-03-04 23:45:00 987

原创 AsyncTask分析

Android的UI线程是非阻塞线程,不能在主线程做一些耗时的操作。否则一旦超过五秒,会抛出ANR(Application Not Responding)异常,就是应用无响应。故此,一些耗时的操作都要放置在子线程去做,但同时在子线程内又不能更新UI,因为UI线程非阻塞,要是你改一点他改一点,岂不是乱了套。但是恰巧有的时候,我们恰恰需要在耗时操作后去更新UI,这个时候就需要用到Handler机制了。

2016-02-26 22:05:40 494

原创 继承AppCompatActivity如何实现无标题

AndroidStudio的普及已经是大势所趋了,尤其是2.0的推出后,性能的提升以及官方的支持,让越来越多的人选择了studio。使用AndroidStudio创建Activity的时候,系统默认继承的是AppCompatActivity。这个类是来自v7包,是一种可以向下兼容的Activity。但是问题也随即来了,因为很多同学会发现,之前继承Activity的时候,使用的无标题方法也随机不能用

2016-02-16 23:34:38 3036

原创 Activity间传递数据

Android之Activity间传递数据

2016-01-24 19:01:14 918

原创 匿名内部类如何同时调用多个方法

在这里有关匿名内部类的知识就不再赘述了,主要分享一种用法给大家。匿名内部类如何同时调用多个方法前几天看Java学习视频的时候,讲到匿名内部类说只可以一次调用一种方法;要调用另一种方法,只能重新再建一个匿名内部类,这样是十分浪费内存的。那么我就在想,可不可以使用匿名内部类同时调用多个方法呢。废话不多说,上代码!public class Test { public static void

2015-12-17 17:25:25 3819 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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