
android进阶
我就是马云飞
欢迎来到马云飞的博客,寂寞如风一般的少年。正朝着大牛的方向前行。希望我的博客可以帮助你们向大牛的方向前进。我不信神,但我通过巨人的肩膀凝视神所在的方向。
展开
-
android开发之textureview绑定camera实现拍照功能
最近要整理的东西比较多,比较乱,一个一个来把,自定义layout实现recyclerview的下拉刷新和上拉加载还是没有什么思路。刚好前几天上司让我做几个关于camera的界面,我就先介绍下camera把,android4.0后更新了一个控件,textureview,个人感觉而言,它比surfaceview好用很多,不多说,上代码:textureview.addOnLayoutChangeListe原创 2016-07-22 14:43:28 · 7399 阅读 · 0 评论 -
android APK瘦身全面总结——如何从32.6M到13.6M
前言之前我简单介绍了关于svg图片瘦身的问题,在公司,瘦身这个问题是我提出来的,所以这锅我背了。公司项目是32.6M,我给自己的要求就是低于20M。上周花了一个星期瘦身,至于为什么花了一周,主要是svg适配问题我被搞蒙蔽了。然后发现还要改大量代码,想想也就算了,又换了另一种瘦身方法。 很多人是因为这标题而来的,怎么可能,32.6M的居然可以变成13.6M。下面容我慢慢道来。APK结构介绍class原创 2017-03-22 14:32:47 · 6785 阅读 · 6 评论 -
android APK瘦身大法——SVG图片瘦身
前两天和上家公司的上司无意聊了聊工作的事,也就顺便扯到了apk瘦身上。主要是通过SVG进行图片压缩来减少app的大小。下面我就详细介绍一下如何实现SVG的图片压缩。SVG的优点SVG 可被非常多的工具读取和修改(比如记事本),由于使用xml格式定义,所以可以直接被当作文本文件打开,看里面的数据;SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强,SVG 图就相当于保存了关键的原创 2017-03-13 16:32:34 · 3237 阅读 · 6 评论 -
android教你打造独一无二的图片加载框架
前言首先,最近是在忙okhttp没错。不过或许有人问为什么忙着okhttp怎么又扯到了图片加载上了。其实,最近想实现下断点续传以及多文件下载,但并不知道怎么搞。群里有小伙伴提出了控制线程池来实现。然后我就想到了图片加载需要控制线程池,所以在此巩固下。概述好了,进入正题了。优秀的图片加载框架不要太多,什么UIL,Picasso,Glide等等。但我们需要了解其中的原理。所以今天我来介绍下如何自己写一个原创 2016-12-08 20:32:02 · 3601 阅读 · 12 评论 -
Android开发Diffutils打造不一样的recyclerview
简述DiffUtil是recyclerview support library v7 24.2.0版本中新增的类,根据Google官方文档的介绍,DiffUtil的作用是比较两个数据列表并能计算出一系列将旧数据表转换成新数据表的操作。这个概念比较抽象,换一种方式理解,DiffUtil是一个工具类,当你的RecyclerView需要更新数据时,将新旧数据集传给它,它就能快速告知adapter有哪些数据原创 2017-04-11 14:08:38 · 9194 阅读 · 5 评论 -
View的事件拦截机制浅析
为什么要去分析view的事件记得上周刚立的flag就是关于view的事件机制。那现在我来说说我对view的感受。关于view的事件,百度google一搜。一批又一批。但是能让人理解的少之又少。换句话说,不是那些作者不懂。只是说,他懂了,但他讲解后不一定能让别人看得懂。我记得有人问我当初是怎么接触自定义view这东西的。因为他们觉得自定义view这个东西很难。我就回了如下几句话:自定义view你把pa原创 2017-08-04 10:03:21 · 3178 阅读 · 0 评论 -
这才是真正的万能圆角ImageView
本文已授权我的公众号:我就是马云飞 独家发布不知道有没有人记得我去年写过一个圆角的imageview。不知道的可以先去看看:万能圆角imagview,本文是基于上一篇的内容进行添加以及修改的。不然直接看这篇可能会有点懵。前言我为什么要二次封装?最近公司有个需求是这样的。 同事说,不知道怎么搞,于是乎,我把之前写的imageview给过去了。他来了句,你这圆角和fitxy同时设置会有问题啊,我反手就原创 2017-09-26 16:23:11 · 5664 阅读 · 0 评论 -
android VLayout 全面解析
概述前不久,阿里新开源了2个东西,Atlas和vlayout。今天我来介绍下vlayout的使用。在介绍前,先抱怨两句,阿里放开源出来,感觉就是让我们这群人给他们找bug~~我曾遇到一个奇怪的问题,然后一直以为自己写的有问题,结果去down了官方demo跑了一下,结果官方的demo居然并没有做这个效果~不解!! 好了,话不多说,我会通过官方的介绍以及自己的写的demo一一介绍。先放上官方的gith原创 2017-03-28 13:18:51 · 35664 阅读 · 14 评论 -
Activity生命周期详解
Activity是什么?Activity是用户和应用程序交互的界面,用户可以在Activity上进行点击、滚动、触摸等操作。一般来说,一个应用是由多个Activity组成,首次进入的Activity称为主Activity。至于如何判断一个Activity是不是主Activity。本篇文章我们先不讨论。后面会讲到。Activity的活动状态当我查阅关于Activity的官方文档的时候,我原创 2018-01-29 16:45:04 · 865 阅读 · 0 评论 -
android教你打造独一无二的刷新加载框架
其实早在去年七月,群里小伙伴就有让我共享这个。但我当时绝的技术不纯熟。代码有bug什么的。没有写出来。现在感觉整理的差不多了。就写出来让大家看看,有问题一起讨论解决。说到刷新加载,我们第一个想到啥,对了就是swiperefreshlayout,还有什么SuperSwiperefreshlayout,XRecyclerView等等。反正老多了,我还是之前那句话,不管用什么,我们需要知道他的原理。打造框原创 2017-03-05 21:47:45 · 5741 阅读 · 11 评论 -
你必须学会的okhttp——进阶篇
今天上一篇博客刚好在郭神公众号出现了。也有一个多月没写点什么了。今天就继上一次的okhttp继续深入了解把。在你必须学会的okhttp——入门篇中我简单介绍了okhttp的使用方法。不了解可以看完在回来看这篇文章。 好了。话不多说。这次我主要介绍下okhttp如何实现多文件断点下载。 参考博客:http://blog.youkuaiyun.com/Kevins优快云/article/details/519原创 2017-01-11 10:21:02 · 6665 阅读 · 17 评论 -
Android手势检测GestureDetector
现在的智能机应该是100%触屏手机了。当我们触摸手机的时候,发生了一些操作如:action_up,action_down,action_move,action_cancle。我们可以通过setonTouchListener来处理这些操作。但ontouch处理一些复杂的手势就比较麻烦了。什么单击,长按,单击后长按前等等等等。此时,我们就需要用到手势检测:GestureDetector这个类。然后下午就原创 2016-11-28 16:55:17 · 1324 阅读 · 0 评论 -
android开发五子棋人机对战
昨天我们讲了双人对战的算法,今天我们来说说人机对战,因为代码比较多,比较复杂,我在这边大致说一下算法问题。当然,有不懂的地方可以提出来,我会一一解答。因为下午还有事情要做,我这边就不画图了。 我就用1代表白子(玩家),2代表黑子(电脑),0代表空子了。 电脑的判断顺序肯定是4,3,2,1. 当然这边有2种情况就是11011和1101的情况,我把他分别放出来了。这种情况算成5和成4的情况,不能按原创 2016-07-19 13:23:37 · 5040 阅读 · 1 评论 -
android开发五子棋人人对战
转载请注明出处:http://blog.youkuaiyun.com/sw950729/article/details/51942858 本文出自:马云飞的博客 当初学编程的,都想做一个游戏,俄罗斯方块?贪吃蛇?不不不,今天我所讲的是五子棋双人对战,对比那些来说,应该算比较简单的了。好了,先贴上视频地址http://www.imooc.com/learn/641。 相信很多人都有看过,不过视频中,我发现有原创 2016-07-18 16:06:23 · 9756 阅读 · 4 评论 -
android开发百度地图
今天早上稍微研究了下百度地图。代码很少。不过需要密钥。 先甩地址把:http://lbsyun.baidu.com/apiconsole/key 去创建一个属于自己的项目的密钥。 应用类型写Android SDk 名称随便填 这里主要说下SHA1 1.debug.keystore不存在(今天我就是,做如下操作) 在cmd下,进入C:\Users\Administrator.and原创 2016-07-06 14:40:53 · 917 阅读 · 0 评论 -
从源码角度分析嵌套滑动机制NestedScrolling
转载请注明出处:http://blog.youkuaiyun.com/sw950729/article/details/52050777 本文出自:马云飞的博客现在讲到android的机制,就是事件分发,事件拦截。但我不知道大家听没听说过嵌套的滑动机制,准确的可以理解成把事件分发,事件拦截综合在一起。 如果听说过这个的,你们第一个应该是想到的CoordinatorLayout。也就是只要自己定义个layo原创 2016-08-05 15:07:12 · 5740 阅读 · 3 评论 -
Android懒人框架Android annotation
不知不觉有一个多月没更新了。唉,辞职了,最近一直在找工作没办法。蓝瘦。香菇。 annotation的配置 project的build.gradlebuildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:原创 2016-10-23 14:43:01 · 3399 阅读 · 0 评论 -
你必须学会的okhttp——入门篇
早在毕业那段期间,群里有很多小伙伴在问关于okhttp的问题,当时因为不了解。所以没有回答的上。记得十月份有次面试,一个面试官问我关于网络请求的东西时,我记得当时我是说。我是通过HttpClient封装了一个网络请求的工具类。当然,或许他想问的是我关于okhttp有没有了解把。谷歌在6.0中删除了关于httpclient的API。(其实我有httpclient源码)。于是乎,为了了解下,最近还是学习原创 2016-12-03 14:27:36 · 4953 阅读 · 0 评论 -
从源码角度分析ViewDragHelper
最近群里的小伙伴都在说ViewDragHelper这玩意,我就感觉好像很牛逼的样子。然后稍微看了下,不是很难,在此先做个笔记。因为之前他们说scroller的时候,我都不知道是啥。然后今天发现我去年写的demo中还用到了。原来我猪一般的记性!! 先来个测试demo的效果图。 下面直接上代码:/** * Created by Angel on 2016/11/26. */public原创 2016-11-26 16:25:07 · 1292 阅读 · 0 评论 -
Android建造者模式
Android设计模式在开发中还是比较常用的,当初除了会个单例其他啥都不会。今天为了修改工具类,稍微了解了下建造者模式。 用了明了的例子就是:A.b().c()。这种情况。我们最常见的就是dialog会用到了。先上dialog的demo: private void showDialog(Context context) { AlertDialog.Builder buil原创 2016-11-23 19:24:12 · 1761 阅读 · 0 评论 -
2018年博客之星评选,需要您宝贵的一票!非常感谢!
我正在参加优快云 2018年博客之星评选,希望大家能投我一票,我在NO.018。感谢大家宝贵的一票,投票地址:https://bss.youkuaiyun.com/m/topic/blog_star2018/index原创 2018-12-31 16:59:22 · 783 阅读 · 2 评论