<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[平凡之路]]></title><description><![CDATA[Android，H5，React Native，Hybrid，小程序]]></description><link>https://blog.youkuaiyun.com/voidmain_123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; voidmain_123]]></copyright><item><title><![CDATA[【Android日记】深入理解Handler消息处理机制]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/93177758</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/93177758</guid><author>voidmain_123</author><pubDate>Fri, 21 Jun 2019 11:44:00 +0800</pubDate><description><![CDATA[一、Handler的基本用法
我们可以使用一个Handler发送并处理一个线程关联的Message或者Runnable。（注意：Runnable也会被封装到Message.Callback）
基本用法
//自定义Handler创建
static class MHandler extends Handler {
    @Override
    public void handleMessage(...]]></description><category></category></item><item><title><![CDATA[手动实现双向链表MLinkedList，性能优于LinkedList]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/84645328</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/84645328</guid><author>voidmain_123</author><pubDate>Fri, 30 Nov 2018 10:57:39 +0800</pubDate><description><![CDATA[public class MLinkedList&amp;lt;E&amp;gt; {

    /**
     * Node
     */

    private static class Node&amp;lt;E&amp;gt; {
        Node&amp;lt;E&amp;gt; prev;
        E data;
        Node&amp;lt;E&amp;gt; next;

        Node(Node&amp;lt...]]></description><category></category></item><item><title><![CDATA[DES、RSA（分段加解密） Android中常用的两种加密方式]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/78962357</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/78962357</guid><author>voidmain_123</author><pubDate>Wed, 03 Jan 2018 16:08:39 +0800</pubDate><description><![CDATA[DES加解密
public class DESEncrypt {    /**
     * DES解密
     * @param decryptString 密文
     * @param ivStr 加密key
     * @param keyStr 加密偏移量
     * @return 明文
     * @throws Exception exception
     */]]></description><category></category></item><item><title><![CDATA[最新、最全、最准确的手机号正则表达式]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/78962164</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/78962164</guid><author>voidmain_123</author><pubDate>Wed, 03 Jan 2018 15:55:50 +0800</pubDate><description><![CDATA[更新到2018年1月，支持最新的166号段
/**
 * 手机号码正则表达式
 */
private static final String PHONE_NUMBER_REG = &quot;^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$&quot;;]]></description><category></category></item><item><title><![CDATA[React Native Android白屏优化终极方案]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/73549825</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/73549825</guid><author>voidmain_123</author><pubDate>Wed, 21 Jun 2017 15:42:29 +0800</pubDate><description><![CDATA[我们公司的APP部分模块使用了react native进行开发，使用react native开发确实很爽，一次编写到处运行，前端的开发体验，高效的开发效率，但是我们进入react native模块的时候，会有明显的白屏，时间大概是1-2s，这是很差的用户体验，我们今天的这篇文章就是为了解决这个痛点]]></description><category></category></item><item><title><![CDATA[error: bundling: UnableToResolveError: Unable to resolve module `react/lib/ReactDebugCurrentFrame`]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/72357429</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/72357429</guid><author>voidmain_123</author><pubDate>Wed, 17 May 2017 10:32:44 +0800</pubDate><description><![CDATA[error: bundling: UnableToResolveError: Unable to resolve module `react/lib/ReactDebugCurrentFrame`]]></description><category></category></item><item><title><![CDATA[Android原生项目集成React Native]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/68946774</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/68946774</guid><author>voidmain_123</author><pubDate>Sat, 01 Apr 2017 17:49:00 +0800</pubDate><description><![CDATA[开发环境准备首先按照开发环境搭建教程来安装React Native在安卓平台上所需的一切依赖软件（比如npm）。在应用中添加JS代码在项目的根目录中运]]></description><category></category></item><item><title><![CDATA[【Android安全】自带加密光环的SharedPreference]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/53338393</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/53338393</guid><author>voidmain_123</author><pubDate>Fri, 25 Nov 2016 18:16:14 +0800</pubDate><description><![CDATA[前言安全问题长久以来就是Android系统的一大弊病，很多人也因此舍弃Android选择了苹果，作为一个Android Developer，我们需要对用户的隐私负责，需要对用户的数据安全倾尽全力，想到这里，我就热血沸腾，仿佛自己化身正义的天使（我编不下去了。。。）。]]></description><category></category></item><item><title><![CDATA[OkHttp报错javax.net.ssl.SSLHandshakeException: Handshake failed]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/52703464</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/52703464</guid><author>voidmain_123</author><pubDate>Thu, 29 Sep 2016 17:04:52 +0800</pubDate><description><![CDATA[背景今天学习了一下OkHttp，在使用OkHttp调用https接口的时候，报了SSLHandshakeException的异常，看了网上的资料，主要是服务器端使用了未被信任的证书，然后我就在寻找一种简单快速的解决方案。鸿洋老师在博客里详细阐述了OkHttp访问https的问题，在这里我就不做过多阐述了。现在给大家贴出我的解决方案]]></description><category></category></item><item><title><![CDATA[Android性能优化之内存泄漏分析工具LeakCanary]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/52461464</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/52461464</guid><author>voidmain_123</author><pubDate>Wed, 07 Sep 2016 17:21:52 +0800</pubDate><description><![CDATA[前言Android内存泄漏的分析与解决是每个Android程序员进阶路上的必备技能。今天就和大家分享一下我的一点点学习心得。开始使用
  首先在module的build.gradle添加依赖，不同的版本需要添加不同的依赖
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.andr]]></description><category></category></item><item><title><![CDATA[Android Support Design Library使用详解]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/52452571</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/52452571</guid><author>voidmain_123</author><pubDate>Tue, 06 Sep 2016 18:49:27 +0800</pubDate><description><![CDATA[1.背景 
随着Material Design越来越流行，也得到了广大程序员以及Android用户的芳心。Google为我们带来了Android Support Design Library，给我们提供了更加规范的MD风格的控件。作为一个Android Developer，我们当然要去深入学习一下啦！（抱歉，我觉悟的有点晚了。。。）2.使用介绍 
（1）添加依赖compile 'com.androi]]></description><category></category></item><item><title><![CDATA[Css 仿iOS的开关按钮]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/52302245</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/52302245</guid><author>voidmain_123</author><pubDate>Wed, 24 Aug 2016 17:09:51 +0800</pubDate><description><![CDATA[用Css仿iOS的开关按钮，微信风格]]></description><category></category></item><item><title><![CDATA[Android自定义上下文菜单]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/51363276</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/51363276</guid><author>voidmain_123</author><pubDate>Tue, 10 May 2016 15:37:28 +0800</pubDate><description><![CDATA[今天自定义了一个简单的Android菜单控件。实现方式是：PopupWindow和ListView。 
现在来给大家分享一下源码：
  SHContextMenu.java
核心代码部分：主要是对PopupWindow和ListView的初始化，为ListView设置数据源，以及封装了菜单的显示和隐藏的方法。还有提供了菜单的点击回调。import android.app.Activity;
impo]]></description><category></category></item><item><title><![CDATA[Java/Android单例模式的简单理解]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/51242637</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/51242637</guid><author>voidmain_123</author><pubDate>Mon, 25 Apr 2016 15:29:37 +0800</pubDate><description><![CDATA[1.单例模式的主要特点：
构造函数不对外开放，一般为private； 
通过一个静态方法或枚举返回单例类对象；
确保单例类的对象有且只有一个，尤其是在多线程的情况下；
确保单例类对象在反序列化时重新构建对象。
2.主要优点：
单例模式提供了对唯一实例的受控访问； 
由于系统内存只存在一个对象，因此可以节约系统资源； 
允许可变数目的实例。
3.主要缺点：
由于单例模式没有抽象层，拓展比较困难； 
单]]></description><category></category></item><item><title><![CDATA[Android保存照片到本地，并立即更新在相册显示]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/51222054</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/51222054</guid><author>voidmain_123</author><pubDate>Fri, 22 Apr 2016 17:42:20 +0800</pubDate><description><![CDATA[“` 
/** 
     * 保存照片到本地 
     * @param bitMap 要保存的bitmap对象 
     * @param filePath 保存到的路径 
     * @param name  保存成的文件名 
     * @param mContext 上下文 
     * @return 
     */ 
    public static boolean sa]]></description><category></category></item><item><title><![CDATA[Android实现高斯模糊]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/49948337</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/49948337</guid><author>voidmain_123</author><pubDate>Fri, 20 Nov 2015 16:20:45 +0800</pubDate><description><![CDATA[心血来潮再来一篇博客，和大家分享一下高斯模糊技巧 
核心代码如下：/**
     * bitmap  对象进行模糊处理
     * @param sentBitmap 原图bitmap
     * @param context 上下文
     * @param radius 模糊系数
     * @return
     */
    @SuppressLint("NewApi")]]></description><category></category></item><item><title><![CDATA[Android定制日历，支持周月切换，日期标记，农历显示，节假日]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/49885877</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/49885877</guid><author>voidmain_123</author><pubDate>Tue, 17 Nov 2015 12:31:32 +0800</pubDate><description><![CDATA[公司项目需要一个功能全面的日历，然后就在网上找demo，然后根据demo自己深度定制了一个日历，基本满足了需求，现在把日历核心代码共享给大家。源码下载地址http://download.youkuaiyun.com/detail/voidmain_123/7528505CollapseCalendarView.java 
只需要将该控件引入到布局文件中 
package com.eroad.widget.cal]]></description><category></category></item><item><title><![CDATA[如何写文件到/data/data/packagename/files中]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/48440975</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/48440975</guid><author>voidmain_123</author><pubDate>Mon, 14 Sep 2015 16:35:33 +0800</pubDate><description><![CDATA[FileOutputStream os = mContext.openFileOutput(file.getName(),Context.MODE_WORLD_WRITEABLE);]]></description><category></category></item><item><title><![CDATA[installation error: unknown failure]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/46862811</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/46862811</guid><author>voidmain_123</author><pubDate>Mon, 13 Jul 2015 15:10:59 +0800</pubDate><description><![CDATA[installation error: unknown failure  小问题，看了stackoverflow，说重启电脑，亲自试了，真的可以。。]]></description><category></category></item><item><title><![CDATA[安卓5.0Intent打开相册选择图片无返回值问题]]></title><link>https://blog.youkuaiyun.com/voidmain_123/article/details/45059439</link><guid>https://blog.youkuaiyun.com/voidmain_123/article/details/45059439</guid><author>voidmain_123</author><pubDate>Wed, 15 Apr 2015 14:54:59 +0800</pubDate><description><![CDATA[把打开相册的方式改为

Intent
intent =
new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent,
CHOOSE_PICTURE);
亲测有用！祝各位好运！]]></description><category></category></item></channel></rss>