<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yrmao9893的博客]]></title><description><![CDATA[android进阶之路]]></description><link>https://blog.youkuaiyun.com/yrmao9893</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yrmao9893]]></copyright><item><title><![CDATA[google 支付教程]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/127451442</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/127451442</guid><author>yrmao9893</author><pubDate>Fri, 21 Oct 2022 18:34:00 +0800</pubDate><description><![CDATA[集成非常简单，国内很多公司有google play 上架需求，也需要对接google play  内购，这篇文章就是对接教程，非常适用于。，文章后面会贴代码块，直接复制到项目中就行。在Activity调用。]]></description><category></category></item><item><title><![CDATA[Handler机制相关学习文档]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/125001350</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/125001350</guid><author>yrmao9893</author><pubDate>Fri, 27 May 2022 12:03:33 +0800</pubDate><description><![CDATA[Handler机制
介绍
Handler机制的作用：实现线程间通信的
如何实现Handler机制：
简单模型

Handler、Looper、MessageQueue、Message
Handler：消息的处理者或者消费者,持有Looper的引用
Looper：通过loop()不停的读取MessageQueue消息，让Message.target(Handler)进行处理消息
MessageQueue：由链表实现的消息队列，方便插入和删除
Message：关键字段

when:用作消息延时使用
mCallB]]></description><category></category></item><item><title><![CDATA[多级地址选择器]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/109003003</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/109003003</guid><author>yrmao9893</author><pubDate>Sat, 29 May 2021 11:39:30 +0800</pubDate><description><![CDATA[模块介绍

模块功能：多级联动选择器

基本使用示例
                PickerDialog(this)
                .setTitle("这是选择标题")
                .setThemeTextColor(Color.GRAY)
                .setTabSelectTextColor(Color.BLACK)
                .setLevelSum(2)
                .setPickerD]]></description><category></category></item><item><title><![CDATA[EventBus3.0源码解析-第一篇]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/103295325</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/103295325</guid><author>yrmao9893</author><pubDate>Fri, 29 Nov 2019 16:15:20 +0800</pubDate><description><![CDATA[先介绍一下写这篇文章的背景，因为几乎每个项目中都使用到了EventBus，但是对它的理解仅仅在于如何使用，而不知其详细由来（当然以前还是知道个大概!），俗话说的好：“授人以鱼不如授人以渔”，今天让我这个老菜鸟来学习一下渔术！！！
什么是EventBus
EventBus翻译过来是事件总线的意思，官方对其描述由一张图即可说明其作用是不是很清晰呢！
简单的翻译一下这张图，Subscriber订阅Eve...]]></description><category></category></item><item><title><![CDATA[Android屏幕适配-第三篇（今日头条适配方案）]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/96857524</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/96857524</guid><author>yrmao9893</author><pubDate>Wed, 24 Jul 2019 13:50:17 +0800</pubDate><description><![CDATA[今天记录的笔记是今日头条的适配方案原理以及开源库”AndroidAutoSize“的实现剖析！（备注：此文仅供自己参考，全文全是文字，如果读者读起来比较生涩难懂，建议阅读引入文章）

此篇文章是通过阅读《骚年你的屏幕适配方式该升级了!-今日头条适配方案》理解的整理。感谢作者JessYan

适配的前提是你需要知道安卓适配的基础知识和基本方法 《Android屏幕适配-第一篇（基础知识）》、《And...]]></description><category></category></item><item><title><![CDATA[Android屏幕适配-第二篇（你要知道的适配基本操作）]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/96857456</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/96857456</guid><author>yrmao9893</author><pubDate>Tue, 23 Jul 2019 15:49:03 +0800</pubDate><description><![CDATA[为什么要进行屏幕适配？

1.安卓手机碎片化非常严重，每个手机厂商的手机尺寸都可能有所不同，常见的尺寸为4.7、5.0、5.5等

2.不仅尺寸不同而且手机分辨率，有所差异，常见的分辨率有720x1280,1080x1920,1920x2440 等

3.ui出的图都是针对一套手机尺寸来标注的，单位一般为px或dp，如果我们用一套大小来标准不同尺寸不同分辨率的话，可能导致，view变大或缩小，原因...]]></description><category></category></item><item><title><![CDATA[Android屏幕适配-第一篇（基础知识）]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/96840502</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/96840502</guid><author>yrmao9893</author><pubDate>Mon, 22 Jul 2019 14:35:37 +0800</pubDate><description><![CDATA[一直以来对手机屏幕这块云里雾里的，以前以为用dp就可以了可以满足大部分条件，但是越开发越发现，每个知识点都是非常重要的，而且不是说你看懂了就好了，而要想为什么这样，所以我决定将以前的知识稀松的知识one more time ，亡羊补牢，希望为时不晚，就从屏幕适配开始吧！

参考文章：Android 屏幕适配：最全面的解决方案 谢谢作者给我以学习上的帮助，我写的此篇文字基本上是此篇文章的背诵版，和...]]></description><category></category></item><item><title><![CDATA[自定义View实现手绘签名并保存成图片存入本地]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/93386527</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/93386527</guid><author>yrmao9893</author><pubDate>Sun, 23 Jun 2019 16:59:06 +0800</pubDate><description><![CDATA[由于上个星期公司要实现一个功能，是关于合同的，需要用户签名，由此引发书写了这篇文章，此文设计的内容并不复杂，下面是梳理过程
自定义一个View监听手势动作，利用Path将手势轨迹绘制到canvas。然后创建一个CacheCanvas,并设置一个Bitmap，在绘制的到canvas的同时并绘制到cacheCanvas上，以便将其取出，将bitmap存入本地
直接看代码 SignatureView
i...]]></description><category></category></item><item><title><![CDATA[How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/93192793</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/93192793</guid><author>yrmao9893</author><pubDate>Fri, 21 Jun 2019 14:54:31 +0800</pubDate><description><![CDATA[我已经很久没有写博客了，由于今天遇到问题是关于jdk版本的，想要写一篇博客记录一下此问题，重拾久违的blog编辑器，倍感惭愧！ok切入正题了哦

问题大致如下截图



JAVA SE 9 以后 没有引入JAVA EE 的APIs了如下


java.activation
java.corba
java.transaction
java.xml.bind  &lt;&lt; This one co...]]></description><category></category></item><item><title><![CDATA[StatusLayout布局又称为多状态布局包含（空布局，加载中，加载失败，网络错误4种状态），此布局十分灵活]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/84392161</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/84392161</guid><author>yrmao9893</author><pubDate>Fri, 23 Nov 2018 16:02:41 +0800</pubDate><description><![CDATA[介绍下写这个布局的背景

之前一直用鸿洋大神公众号推荐文章里的StatusLayoutManager是在java的的的的代码用构建的方式来创建，具体是哪篇文章，实在抱歉没有翻阅到。贴下代码


 mStatusLayoutManager = StatusLayoutManager.newBuilder(this)
                .contentView(layoutResID)
...]]></description><category></category></item><item><title><![CDATA[android 自定义网络变化时全局提醒]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/81318524</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/81318524</guid><author>yrmao9893</author><pubDate>Tue, 31 Jul 2018 20:23:34 +0800</pubDate><description><![CDATA[前言：今天在鸿洋大神的公众号中看到一篇文章，叫10分钟让你实现在APP中对网络状态变化进行全局提醒。这在APP开发中是一个硬性需求，虽然我开发的app并没有要求，但我觉得这个功能有必要亲手实现一下。当然我也借鉴了作者的一些思路

参考文章：https://mp.weixin.qq.com/s/W9U7uzXRYcqCmgbX3gbbKg

实现思路：1、定时获取当前网络状态

     ...]]></description><category></category></item><item><title><![CDATA[Android 检测内存泄漏工具]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/81136249</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/81136249</guid><author>yrmao9893</author><pubDate>Fri, 20 Jul 2018 17:48:22 +0800</pubDate><description><![CDATA[1.Android studio 自带的工具&quot;Android Profilter&quot; ---&amp;gt;找到MEMORY栏目

2.LeakCanary
开始使用

在 build.gradle中加入引用，不同的编译使用不同的引用


dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
   re...]]></description><category></category></item><item><title><![CDATA[Android 内存泄漏原因]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/81135915</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/81135915</guid><author>yrmao9893</author><pubDate>Fri, 20 Jul 2018 17:27:16 +0800</pubDate><description><![CDATA[在Android 中导致内存泄漏的原因有很多如下：

android常见内存泄漏主要有以下几类：

一、Handler 引起的内存泄漏。

在Android开发中，我们经常会使用Handler来控制主线程UI程序的界面变化，使用非常简单方便，但是稍不注意，很容易引发内存泄漏。

我们知道，Handler、Message、MessageQueue是相互关联在一起的，Handler通过发送消息Mess...]]></description><category></category></item><item><title><![CDATA[微信公众号支付踏坑篇-URL未注册]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/79898594</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/79898594</guid><author>yrmao9893</author><pubDate>Wed, 11 Apr 2018 16:30:13 +0800</pubDate><description><![CDATA[首先先到对应的商户号去设置：url路径注意事项：你的支付起调页面 http://h5test.80ct.com/pay/recharge-view                     URL配置应为：http://h5test.80ct.com/pay/一定要切记哦！我之前就被这个坑了 我的支付页面为“http://h5test.80ct.com/pay/recharge-view” 我在商户...]]></description><category></category></item><item><title><![CDATA[python创建Excel文件 xlwt]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/78719308</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/78719308</guid><author>yrmao9893</author><pubDate>Tue, 05 Dec 2017 13:26:56 +0800</pubDate><description><![CDATA[这个功能并不难，但不知道方法的同学也是很苦恼的。由此记录一下


我的环境为python2.7
首先安装 xlwt 


pip install xlwt
然后直接看代码



# -*- coding: utf-8 -*-

import xlwt
from xlwt import Workbook

book = Workbook(encoding='utf-8')

]]></description><category></category></item><item><title><![CDATA[Android 自己的应用中，跳转到该应用的详细设置页面，设置权限页面--以及跳转到系统的设置页面]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/74611165</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/74611165</guid><author>yrmao9893</author><pubDate>Thu, 06 Jul 2017 20:36:59 +0800</pubDate><description><![CDATA[跳转到自己的设置界面
    public static void toSelfSetting(Context context) {
        Intent mIntent = new Intent();
        mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        if (Build.VERSION.SDK_INT >=]]></description><category></category></item><item><title><![CDATA[Android 判断应用程序获取通知栏权限是否开启，以及如何跳转到应用程序设置界面]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/74607402</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/74607402</guid><author>yrmao9893</author><pubDate>Thu, 06 Jul 2017 20:06:05 +0800</pubDate><description><![CDATA[Android 判断应用程序获取通知栏权限是否开启，以及如何跳转到应用程序设置界面，     起先我是想通过app手动检测权限是否开启，进行动态设置及：]]></description><category></category></item><item><title><![CDATA[阿里云API网关配置详解]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/73087478</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/73087478</guid><author>yrmao9893</author><pubDate>Mon, 12 Jun 2017 09:18:42 +0800</pubDate><description><![CDATA[首先讲一下使用API网关的原因：
       我想很多公司都因API或开放API的安全性感到苦恼吧，大部分公司都会自己的API进行加密处理，或token验证，可这就能防范，其他人抓取接口进行非法操作了吗？答案是肯定的，不能。他人可能不能破解你的加密方式，或token验证方式，但他不管这些，他就是专门搞破坏，进行重放攻击，频繁的发送请求，造成服务器的负荷。还有一些公司的API根本没有做加密验证和]]></description><category></category></item><item><title><![CDATA[Android 二维码扫描，识别率非常高]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/72655229</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/72655229</guid><author>yrmao9893</author><pubDate>Tue, 23 May 2017 19:39:39 +0800</pubDate><description><![CDATA[这是我在GitHub看到的一个开源二维码码扫描例子，识别率非常高。支出二维码，条形码，以及图片识别。

效果图与示例 apk

    



点击下载 ZXingDemo.apk或扫描下面的二维码安装
点击下载 ZBarDemo.apk或扫描下面的二维码安装










Gradle
 依赖

 「latestVersion」指的是左边这个]]></description><category></category></item><item><title><![CDATA[API网关介绍]]></title><link>https://blog.youkuaiyun.com/yrmao9893/article/details/72629157</link><guid>https://blog.youkuaiyun.com/yrmao9893/article/details/72629157</guid><author>yrmao9893</author><pubDate>Mon, 22 May 2017 19:14:28 +0800</pubDate><description><![CDATA[什么是API网关？
     
      下面我将用一张图来清晰说明      
      外加上一个通俗易懂的例子：
      比如你建设银行存有一笔钱，有一天你要把这笔钱取出来，你走到银行柜台，你对柜台的处理员说，我要取钱，OK这时候处理员，就会叫你出示例银行卡，OK管理员开始拿着这张银行卡，开始你的身份验证，这时候他会叫你输入这张银行卡的密码，OK如果你密码输入正确，处理员会帮]]></description><category></category></item></channel></rss>