<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[粤语伶仃的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/monkey646812329</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; monkey646812329]]></copyright><item><title><![CDATA[RabbitMq的那些事]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/52839500</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/52839500</guid><author>monkey646812329</author><pubDate>Tue, 25 Apr 2023 12:04:23 +0800</pubDate><description><![CDATA[放大镜就是直接调用相机，使用放大缩小的功能实现，调用相机有两种方式，一种是直接调用系统的；另一种是自定义相机，需要自定义一个预览界面，下面简单介绍自定义先]]></description><category></category></item><item><title><![CDATA[Ｒxjava + Retrofit的网络封装]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/81983128</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/81983128</guid><author>monkey646812329</author><pubDate>Thu, 23 Aug 2018 16:24:44 +0800</pubDate><description><![CDATA[具体的知识点可以看看这篇博客：https://blog.youkuaiyun.com/qq_37173653/article/details/78924010

1,封装retrofit:


public class RemoteRepository {
    public static final int SECCESS_CODE = 1;
    private static RemoteReposi...]]></description><category></category></item><item><title><![CDATA[Android　签名大解]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/80163742</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/80163742</guid><author>monkey646812329</author><pubDate>Wed, 02 May 2018 11:20:47 +0800</pubDate><description><![CDATA[前言：　　　开发一个android项目，签名是必须需要学会的，好在android　studio 已经强大到你只需选择几下就可以搞定签名文件，接下来我总结一下大体的签名步骤吧！（图片是共享同仁的图片，哈哈哈，别像我这么懒）１.keystore.jks文件生成，打包APK选择Build &amp;gt; Generate Signed APK 出现如下弹框：然后点击Create new...（创建的意思）出现...]]></description><category></category></item><item><title><![CDATA[Android Studio 3.0及Gradle Plugin 3.0升级过程中踩到的那些坑]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/80136236</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/80136236</guid><author>monkey646812329</author><pubDate>Sat, 28 Apr 2018 16:32:48 +0800</pubDate><description><![CDATA[前言：　　2018转眼已经过去一快小半年，堕落了很长一段时间，觉得回到家乡小地方，没有了追求技术的热情。直到前段时间跟以前的同事聊的过程中发现自己已经脱离正轨了。虽然不再北上广深了，但是技术还是得靠自己去折腾。也许有一天回过头来看看，自己曾经那么爱android是吧。哈哈。废话不多扯了，直接进入今天要给大家带来的唠嗑。正题：大家都知道Ａndroid已经到android８了，开发工具也持续更新到Ａn...]]></description><category></category></item><item><title><![CDATA[ＲxJava２的do系列操作符之doOnNext和doFinally]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/78329438</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/78329438</guid><author>monkey646812329</author><pubDate>Tue, 24 Oct 2017 14:42:34 +0800</pubDate><description><![CDATA[1.doOnNext 
它产生的Observable每发射一项数据就会调用它一次，但是它的Action不是接受一个Notification参数，而是接受发射的数据项。Observable.just(1, 2, 3)
          .doOnNext(new Action1<Integer>() {
          @Override
          public void call(I]]></description><category></category></item><item><title><![CDATA[比较两个list集合是否相等]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/78327975</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/78327975</guid><author>monkey646812329</author><pubDate>Tue, 24 Oct 2017 11:52:01 +0800</pubDate><description><![CDATA[方法： 
１，先比较size是否相等 
２，在size相等的基础上在逐个比较元素   public synchronized <T extends Comparable<T>> boolean compare(List<T> a, List<T> b) {
        if (a.size() != b.size())
            return false;
//        Co]]></description><category></category></item><item><title><![CDATA[全面剖析Rxjava2.0的前世今生]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/76440648</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/76440648</guid><author>monkey646812329</author><pubDate>Mon, 31 Jul 2017 15:14:40 +0800</pubDate><description><![CDATA[引言 随着项目的不断壮大，我们的业务越来越复杂，引入RxJava框架是迟早的事，这段时间正好花了几天时间来认真学习了Rxjava一把，好记性不如烂笔头，还是乖乖记录下来学习的所得所感。
一 、Ｒxjava２.0的前世1. Ｒxjava是什么？ 
查阅了好多文档后，我给Ｒxjava的定义是这样子的：Ｒxjava就是在观察者模式的骨架下，通过丰富的操作符和便捷的异步操作来完成对于复杂业务的处理。即两个核]]></description><category></category></item><item><title><![CDATA[从源码角度来剖析Ｒxjava的运行原理]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/75669576</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/75669576</guid><author>monkey646812329</author><pubDate>Fri, 21 Jul 2017 17:35:41 +0800</pubDate><description><![CDATA[引言相信网上关于Ｒxjava的文章数不胜数，但是我不知道初学者有没有跟我一样觉得好迷茫，似懂非懂的样子真的很让人崩溃，对于我而言，要学一个东西，我就要真真正正把它给学会，学懂，所以我一定要弄懂ＲxJava是怎样运行的，只有弄懂它是怎样跑起来的，咱们后面才知道怎么写代码，怎么用好它，so，在这里我并不是告诉你怎么去用Ｒxjava，因为我也是刚学，但是我决定一步步来，把每天的学习记录下来。这里先讲的是Ｒ]]></description><category></category></item><item><title><![CDATA[深入浅出剖析MVP架构模式]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/74277153</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/74277153</guid><author>monkey646812329</author><pubDate>Mon, 03 Jul 2017 22:43:31 +0800</pubDate><description><![CDATA[引言MVP模式在Android开发领域上据说有着举足轻重的地位，其热度持续发烧，有增无减。作为一名android搬运工，对于mvp架构，我曾经也是一头雾水，这几天才认认真真学习了一把，所以决定把自己所学到的知识整理出来，希望对跟我一样之前不是很懂MVP架构的伙计有一点帮助。相信很多码农都有这样子的习惯，不喜欢看理论，一来就奔代码去，我在这之前也是这样子的，但是有位前辈指导我，要先了解一些架构的思想再]]></description><category></category></item><item><title><![CDATA[从源码角度上探索AdapterViewFlipper怎么实现广告栏的垂直自动滚动]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/73849703</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/73849703</guid><author>monkey646812329</author><pubDate>Wed, 28 Jun 2017 16:33:12 +0800</pubDate><description><![CDATA[一，从源码上认识ＡdapterViewFlipper 
　　我不知道大家有没有跟我一样，看到别人的app一些比较好的交互时，总是好奇别人是怎么实现的，如果是换做自己，我哦该怎么实现。最近在做一个横向轮播的视频展示需求，我们知道viewpager是可以很容易实现横向滚动的，那么很多app上的一些广告栏是垂直滚动的，比如京东，淘宝，一些招聘的app都有。那么别人是在怎么实现的呢。方式有很多中，如果只是简]]></description><category></category></item><item><title><![CDATA[Android “+”号发散菜单动画的实现--- pathMenu的实现思路]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/73530349</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/73530349</guid><author>monkey646812329</author><pubDate>Wed, 21 Jun 2017 11:31:40 +0800</pubDate><description><![CDATA[一，引言最近有需求，需要开发类似淘宝“问大家”进去中间那个“+”号Tab,点击散发出两个菜单按钮的动画，大概效果如下： 
然后点击“+”做发散动画，效果大概如下 
 
对于这样子的动效是很多主流app都在做的，那么我们应该怎么做呢？二，那么怎么实现这个动画呢下面让我来讲讲要怎么实现这样子的pathMenu动画 
先借助前辈的一张图来讲讲扇形原理： 
这款扇形菜单实现的也是非常的好,提供半径 radi]]></description><category></category></item><item><title><![CDATA[Activity之onActivityResult与setResult]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/72898214</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/72898214</guid><author>monkey646812329</author><pubDate>Wed, 07 Jun 2017 11:53:07 +0800</pubDate><description><![CDATA[在Android app开发当中，我们经常会遇到几个activity之间的跳转问题，比如Ａ跳转到B,然后B跳转到Ｃ,然后点击Ｃ的某一项要回到Ａ，这就存在各种数据传值的问题，今天我们就来掰扯这些activity之间的爱恨情仇。一、方法简介android Activity之间的跳转不只是有startActivity(Intent i)的,startActivityForResult(Intent int]]></description><category></category></item><item><title><![CDATA[标签栏TabLayout与ＶiewPager的那些事]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/72771675</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/72771675</guid><author>monkey646812329</author><pubDate>Fri, 26 May 2017 16:54:53 +0800</pubDate><description><![CDATA[一，引言上图是简书Android端的主页Tab,在其他的App中Tab也是很常见的，它的实现方式也有很多：TabHost，自定义控件（第三方库），RadioGroup等等。这里主要介绍Android Design库中的TabLayout的使用。TabLayout和ViewPager配合使用是最常见的运用方式，比如上图所示，接下来我们一一攻破！二，ＴabLayout的属性介绍我在这里就不那么废话的跟大]]></description><category></category></item><item><title><![CDATA[Android调试应用命令式技巧]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/72184335</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/72184335</guid><author>monkey646812329</author><pubDate>Mon, 15 May 2017 17:39:10 +0800</pubDate><description><![CDATA[在应用开发中，我们常常会进行日志打印或者debug调试，以此来分析运行时的一些信息，便于发现bug和问题。Android Studio的Debug功能很好用，但是有时候有些情况下，就显得不是那么快捷和便利。 
比如：
我们调试的点在应用一打开的时候，很靠前，例如Application的onCreate方法中，以至于我们不能足够快的设置进程为debug模式
虽然上面的情况可以通过Android Stu]]></description><category></category></item><item><title><![CDATA[浅谈Android中的json解析]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/72179419</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/72179419</guid><author>monkey646812329</author><pubDate>Mon, 15 May 2017 17:08:40 +0800</pubDate><description><![CDATA[引言 对于一个App开发的Android 开发者而言，json解析算是家常便饭吧，json可以说整个app的地基，时刻都在支撑着我们的app的各种交互。那么，json在Android应用中到底是什么，扮演着怎么样的角色，下面就跟着我一起去揭开json的神秘面纱吧。
## 一，json是神马东东 ## 
  json其实就是一种轻量级的文本数据交换格式，是JavaScript Object Notat]]></description><category></category></item><item><title><![CDATA[列表式弹窗]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/71639391</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/71639391</guid><author>monkey646812329</author><pubDate>Thu, 11 May 2017 16:20:43 +0800</pubDate><description><![CDATA[private void showTakePictureDialog(String[] strs) {
        SingleListDialog listDialog = new SingleListDialog(activity);
        listDialog.setTitleVisible(false);
        listDialog.setListEntries(st]]></description><category></category></item><item><title><![CDATA[华为手机7.0以上华为7.0上popwindow位置显示错乱，飘]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/70327418</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/70327418</guid><author>monkey646812329</author><pubDate>Fri, 21 Apr 2017 16:15:34 +0800</pubDate><description><![CDATA[由于测试手机上华为meta8,升级了7.0以后突然popwindows显示位置往上飘了， 其他机型没啥问题，一直没找到原因？后来看到一个连接？https://code.google.com/p/android/issues/detail?id=221001原来是 in showAtLocation failed to no gravity 在7.0上没有工作解决方法是:   if (android.]]></description><category></category></item><item><title><![CDATA[支持富文本插入图片，文本的自定义Ｖiew]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/70214460</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/70214460</guid><author>monkey646812329</author><pubDate>Mon, 17 Apr 2017 18:14:01 +0800</pubDate><description><![CDATA[在比较潮流的Ａpp中，我们经常看到富文本的身影，能支持图文混排，其实图文混排不是那么难，这段时间由于项目的需要，我自己实现了图文混排，即能支持插入图排，又可以编辑文本。其实原理很简单，把ＩmageView跟ＥditText动态加入一个layout容器里面，然后根据最近的焦点来添加view，具体请看我的view，里面已经注释很清楚了。public class RichTextView extends]]></description><category></category></item><item><title><![CDATA[Ａndroid 常用的时间工具类]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/70212356</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/70212356</guid><author>monkey646812329</author><pubDate>Mon, 17 Apr 2017 15:46:57 +0800</pubDate><description><![CDATA[Ａndroid 常用的一些工具类１.时间对象转换成字符串public static String date2string(Date date) {
        String strDate = "";
        SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS);
        strDate = sdf.fo]]></description><category></category></item><item><title><![CDATA[Dagger2从使用到原理剖析]]></title><link>https://blog.youkuaiyun.com/monkey646812329/article/details/53945450</link><guid>https://blog.youkuaiyun.com/monkey646812329/article/details/53945450</guid><author>monkey646812329</author><pubDate>Fri, 30 Dec 2016 17:53:39 +0800</pubDate><description><![CDATA[有没有像我这种从系统转应用的开发，做系统几乎都不需要跟框架打交道，但是呢，做应用，那这些开源框架就不得不天天见面了。我相信很多都会跟我一样，网上很多Dagger2的文章，但是都云里雾里，似懂非懂，所以我决定再忙都要把我的学习过程分享给大家，血泪总结啊！ 
对于Dagger2,我觉得最好先弄懂依赖注解是什么个意思，然后再来看看Dagger2，它跟ButterKnife还是有一定的区别的。注解并不是我要]]></description><category></category></item></channel></rss>