<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[陌上丿花已开的博客]]></title><description><![CDATA[像风走了八千里;]]></description><link>https://blog.youkuaiyun.com/Mryoung2015</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mryoung2015]]></copyright><item><title><![CDATA[Glide v4 工具类封装]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/125603950</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/125603950</guid><author>Mryoung2015</author><pubDate>Mon, 04 Jul 2022 17:00:34 +0800</pubDate><description><![CDATA[Glide v4 工具类封装]]></description><category></category></item><item><title><![CDATA[MVX相关设计模式的理解。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/119785756</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/119785756</guid><author>Mryoung2015</author><pubDate>Thu, 19 Aug 2021 17:28:10 +0800</pubDate><description><![CDATA[一  六大设计原则
1. 单一原则
2. 开闭原则
3. 里氏替换
4. 接口隔离
5. 依赖倒置原则
6. 迪米特原则
单一职责原则
一个class文件只做一件事情，如果需要做更多的工作，用继承的方式扩展。
开闭原则
对继承开放，对修改关闭。
里氏替换原则
继承的时候不能改变基类的逻辑。
接口隔离原则
接口最小化，一个接口只做一个小功能
依赖倒置原则
只依赖接口 不依赖实现
迪米特原则
最小支持原则
二 视图 数据 逻辑 分离 静态的角度
1.MVC
Model:  数据  包括了数据 对数据的操作（不依]]></description><category></category></item><item><title><![CDATA[Android studio 更新Gradle 插件到 3.4.2之后出现Cause: buildOutput.apkData must not be null]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/102947694</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/102947694</guid><author>Mryoung2015</author><pubDate>Thu, 07 Nov 2019 09:32:53 +0800</pubDate><description><![CDATA[最近更新了Gradle 到5.5  对应的插件版本是 3.4.2  正常的debug模式调试没问题，但是第一次打relase包报了 异常如下：
Cause: buildOutput.apkData must not be null
字面意思是打包的时候apk的配置信息是空的，其实都配置了。
百度一波大家都是clean project ，但是尝试了下不行。
最终就打了debug包先用着。
然后发现打...]]></description><category></category></item><item><title><![CDATA[Android build.gradle 常用配置。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/102797933</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/102797933</guid><author>Mryoung2015</author><pubDate>Tue, 29 Oct 2019 13:45:36 +0800</pubDate><description><![CDATA[1.配置debug包使用与release包相同的签名。

先配置release下使用的签名信息，如下。


 signingConfigs {

        release {
            keyAlias '***app'
            keyPassword '****'
            storeFile file('**.jks')
           ...]]></description><category></category></item><item><title><![CDATA[Android studio 设置相关。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/102796809</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/102796809</guid><author>Mryoung2015</author><pubDate>Tue, 29 Oct 2019 11:46:27 +0800</pubDate><description><![CDATA[1.不小心点击了 File — Power Save Model ,导致java文件变成蓝色的J 标识，设置的主题也不管用了。

 点击取消省电模式就可以了。
]]></description><category></category></item><item><title><![CDATA[double转string出现科学计数法的解决方案]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/102723663</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/102723663</guid><author>Mryoung2015</author><pubDate>Thu, 24 Oct 2019 15:01:31 +0800</pubDate><description><![CDATA[用DecimalFormat来格式化double，这样转换成字符串就不会采用科学计数法。


  /**
     * 用DecimalFormat来格式化double结果，这样转换成字符串就不会采用科学计数法。
     * @param d
     * @return
     */
    public static String double2Str(Double d) {
      ...]]></description><category></category></item><item><title><![CDATA[Android P CLEARTEXT communication to "" not permitted by network security policy 问题]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/102664758</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/102664758</guid><author>Mryoung2015</author><pubDate>Mon, 21 Oct 2019 15:30:48 +0800</pubDate><description><![CDATA[最近app提交测试的时候发现在9.0版本上无法访问网络，报的异常如下

CLEARTEXT communication to "" not permitted by network security policy。

查阅资料之后发现是因为加密的问题。Android P限制了非加密的流量请求。

解决方法：

1.在res下创建一个xml的子目录，然后创建一个名为：network.xml的文件。...]]></description><category></category></item><item><title><![CDATA[kotlin相关异常记录]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/102477125</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/102477125</guid><author>Mryoung2015</author><pubDate>Thu, 10 Oct 2019 11:04:44 +0800</pubDate><description><![CDATA[Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull

java 与kotlin交互的部分，kotlin 的 空安全机制，数据的来源没有非空限制的话，重载的方法要允许参数为空，就是在入参的地方加上？，如下所示


   override fun o...]]></description><category></category></item><item><title><![CDATA[SmartRefreshLayout使用时无法下拉刷新。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/101421518</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/101421518</guid><author>Mryoung2015</author><pubDate>Thu, 26 Sep 2019 09:21:00 +0800</pubDate><description><![CDATA[SmartRefreshLayout是一款强大的下拉刷新开源库，最近在使用的时候，

因为使用三方开源库BaseRecyclerViewAdapterHelper的以下方法为recycleview 添加了头部。


mAdapter.addHeaderView(headerview);

导致无法下拉刷新 ，应该是两个三方库的冲突。具体原因还要等有时间了看看源码。
...]]></description><category></category></item><item><title><![CDATA[MPchart 饼状图的简单封装与使用。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/101066549</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/101066549</guid><author>Mryoung2015</author><pubDate>Fri, 20 Sep 2019 16:49:57 +0800</pubDate><description><![CDATA[Android中实现常规的图标，就绕不过MPAndroidChart这个强大的开源库。

秉着不重复造轮子（偷懒+水平有限）的原则，在项目中引入了这个强大的图表库，并对其中饼状图的实现做了简单的封装。


package com.bjttsf.sale.widget;

import android.content.Context;
import android.graphics.Color;
i...]]></description><category></category></item><item><title><![CDATA[基于Android-PickerView 的简单封装与使用。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/101065177</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/101065177</guid><author>Mryoung2015</author><pubDate>Fri, 20 Sep 2019 16:37:25 +0800</pubDate><description><![CDATA[Android-PickerView是一款功能强大的仿ios 滚轮选择器，支持时间选择和三级联动。

为了方便使用，对这款开源项目做了简单的封装。

首先在项目里引入相关依赖


 implementation 'com.contrarywind:Android-PickerView:4.1.8'

基于项目封装工具类。


package com.bjttsf.sale.widget;

im...]]></description><category></category></item><item><title><![CDATA[常见异常解决。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/101064669</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/101064669</guid><author>Mryoung2015</author><pubDate>Fri, 20 Sep 2019 16:19:33 +0800</pubDate><description><![CDATA[1.改动一次项目之后，项目突然无法运行，提示 not found default Activity。

百度一下，都告诉我是没有注册启动Activity，但事实上注册了。

最后发现是AdnroidManifest 文件中 一个新建的Activity注册了两次 ，但是这个错误不影响编译。

改过之后就好了。
...]]></description><category></category></item><item><title><![CDATA[Android 项目常用三方依赖。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/100887267</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/100887267</guid><author>Mryoung2015</author><pubDate>Mon, 16 Sep 2019 14:38:53 +0800</pubDate><description><![CDATA[build.gradle 中常用的三方依赖记录，配合mvp架构可满足快速搭建项目框架。其中包含了kotlin 的依赖使用，如果纯java项目可以不使用相关依赖。


 //Retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.5.0'
    implementation 'com.squareup.retrofit2:ad...]]></description><category></category></item><item><title><![CDATA[Android studio 3.5 版本 格式化XML 后标签顺序错乱问题。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/100656710</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/100656710</guid><author>Mryoung2015</author><pubDate>Mon, 09 Sep 2019 11:40:19 +0800</pubDate><description><![CDATA[最近刚更新的AS3.5, 结果发现搭建完页面之后使用Ctrl+Alt+L 格式化布局文件的时候view标签顺序会错乱。

根本原因是AS3.5默认的XML格式设置不是Android规则的。 按以下步骤修改就可以了。

1.File----Settings



2.按顺序依次找到设置Android 下xml格式化设置。



3.点击预留风格中的Android。然后应用。



这样问题就得...]]></description><category></category></item><item><title><![CDATA[CoordinatorLayout  配合 AppBarLayout 实现基本的滑动悬停效果。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/100534668</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/100534668</guid><author>Mryoung2015</author><pubDate>Wed, 04 Sep 2019 10:57:01 +0800</pubDate><description><![CDATA[如下代码


&lt;android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"&gt;

        &lt;android.support.design.widget.App...]]></description><category></category></item><item><title><![CDATA[Android百度地图SDK接入流程。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/99673129</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/99673129</guid><author>Mryoung2015</author><pubDate>Fri, 16 Aug 2019 11:10:41 +0800</pubDate><description><![CDATA[一.登录开发者平台后，在控制台里进行项目创建

可以看到  需要 开发版sha1 值  发布版 sha1 值  PackageName.三个内容需要填写。
其中PackageName  看名字就知道是包名，不多说。主要是两个sha1值的获取。
1.获取开发版本sha1值
1.打开命令行窗口，进入C:\Users\Administrator.android  目录下。
2.输入 keytool -v...]]></description><category></category></item><item><title><![CDATA[kotlin使用小记。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/99633034</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/99633034</guid><author>Mryoung2015</author><pubDate>Thu, 15 Aug 2019 17:06:49 +0800</pubDate><description><![CDATA[最近尝试在项目里使用kotlin ，记录一下使用时遇到的问题。
1.List 创建。
kotlin中没有new 关键字，创建对象如下
 val listIv = mutableListOf&lt;ImageView&gt;()

list添加元素和遍历集合如下
 listIv.add(iv)
  for (i in listIv.indices) {
                    
  ...]]></description><category></category></item><item><title><![CDATA[Android PopupWindow的基本使用。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/98731093</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/98731093</guid><author>Mryoung2015</author><pubDate>Wed, 07 Aug 2019 12:01:41 +0800</pubDate><description><![CDATA[项目中有如下图的弹出框效果：

这种效果用Popuwindow 就可以实现。
package com.bjttsf.sale.widget;

import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.su...]]></description><category></category></item><item><title><![CDATA[Android Studio 几种依赖方式的区别。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/84549698</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/84549698</guid><author>Mryoung2015</author><pubDate>Mon, 26 Nov 2018 17:39:56 +0800</pubDate><description><![CDATA[1.implement

概念 : 将该依赖隐藏在内部，而不对外部公开。比如项目中有一个mudule是basekit,其内部用implement指令依赖了glide这个库, 那么在 app mudule 中无法调用 glide 库中的方法.

2.compile

概念: android studio 3.0 版本后废弃该指令 改用 api 代替, api 完全等同于之前的 com...]]></description><category></category></item><item><title><![CDATA[OkGo 结合Rxjava2 使用flatmap 做网络请求的链式调用。]]></title><link>https://blog.youkuaiyun.com/Mryoung2015/article/details/79756929</link><guid>https://blog.youkuaiyun.com/Mryoung2015/article/details/79756929</guid><author>Mryoung2015</author><pubDate>Fri, 30 Mar 2018 14:57:12 +0800</pubDate><description><![CDATA[最近工作中，需要在okgo的基础上做网络请求的链式调用，然后就查看了一些资料捣鼓了一下。

OkGo github 地址

1.添加的依赖库


compile 'com.lzy.net:okgo:3.0.4'
compile 'com.lzy.net:okrx2:2.0.2'

2.因为OkGo 3.+版本支持Rxjava2 ,所以使用Rxjava2的flatmap操作符就能完成链式调用的

需...]]></description><category></category></item></channel></rss>