<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[android_小路的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/android_freshman</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; android_freshman]]></copyright><item><title><![CDATA[Android 11 微信，QQ ，微博 分享适配]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/113122078</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/113122078</guid><author>android_freshman</author><pubDate>Mon, 25 Jan 2021 16:45:30 +0800</pubDate><description><![CDATA[String filePath = context.getExternalFilesDir(null) + "/shareData/test.png";
    // 该filePath对应于xml/file_provider_paths里的第一行配置：，因此才可被共享]]></description><category></category></item><item><title><![CDATA[(算法练习)二进制求和]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/101695928</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/101695928</guid><author>android_freshman</author><pubDate>Sun, 29 Sep 2019 16:43:06 +0800</pubDate><description><![CDATA[给定两个二进制字符串，返回他们的和（用二进制表示）。

输入为非空字符串且只包含数字1和0。

示例1:

输入: a = "11", b = "1"
输出: "100"
示例2:

输入: a = "1010", b = "1011"
输出: "10101"

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/add-binary
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。]]></description><category></category></item><item><title><![CDATA[RecyclerView item 可展开动画效果的实现]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/94354088</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/94354088</guid><author>android_freshman</author><pubDate>Sun, 30 Jun 2019 20:23:52 +0800</pubDate><description><![CDATA[RecyclerView item 可展开动画效果的实现前文提要：1.相关说明：1-1.布局文件：1-2.动画工具类说明（代码我基本上都添加了注释）：1-3.问题：2.如何使用：2-1.viewHoler 需要实现 ExpandableViewHoldersUtil.Expandable 接口2-2.adapter2-3.ExpandableViewHoldersUtil3.结束：
前文提要：
A...]]></description><category></category></item><item><title><![CDATA[Android 适配6.0 权限检查（PermissionsUtils 相关的辅助类），8.0 ActivieAndroid安全性ContentProvider 问题]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/89176431</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/89176431</guid><author>android_freshman</author><pubDate>Wed, 10 Apr 2019 11:15:46 +0800</pubDate><description><![CDATA[前言：最近华为应用市场要求 app targetSkdVersion 要提高到26以及26以上，在期限内可以上架26以下的app ,在期限外就不给上架 等信息，所以直接把app 升到26 （8.0）.

1.适配6.0 权限检查

首先是自己写了一些权限检查的东西，相关流程就 先检查权限，然后根据结果去处理，再重写onRequestPermissionsResult


//第一步检查权限
pub...]]></description><category></category></item><item><title><![CDATA[Android 上下滚动（跑马灯）效果实现]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/84105637</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/84105637</guid><author>android_freshman</author><pubDate>Thu, 15 Nov 2018 16:26:15 +0800</pubDate><description><![CDATA[产品的有个需求是 文字上下滚动，第一想到的是用属性动画实现，2个TextView 切换滚动，网上看了一堆资料大部分都是 TextSwitch，写博客不贴效果图真的是很惆怅，不知道具体效果如何，第一次进入切换是否有问题，还有就是最后一个切换到第二个是否有问题，动画是否流畅等，啥都看不到。所以还是按照第一个想法，找到了类似的做法，但是好像有点问题，于是修改一番，效果图如下：（gif帧率有点低，不是很顺...]]></description><category></category></item><item><title><![CDATA[PopWindow 展开带阴影平移动画]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/82853361</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/82853361</guid><author>android_freshman</author><pubDate>Wed, 26 Sep 2018 15:36:54 +0800</pubDate><description><![CDATA[前：在看设计图的时候，设计师说需要一个弹出层在指定位置，渐出，背景带阴影层，第一个想到的是 popWindow  ,但是pop 并没有阴影层，直接是一层覆盖在上面。仔细一想带阴影也是可以，但是渐渐出现的动画如何和背景阴影协同展示，是个问题。所以查阅了一些资料，以及填了一些坑。完成了最终的效果。效果如下：



1.首先需要注意的是  showPopupWindow 这个方法

在不同android...]]></description><category></category></item><item><title><![CDATA[浅谈Android进阶之路（转）]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/80814600</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/80814600</guid><author>android_freshman</author><pubDate>Tue, 26 Jun 2018 14:25:38 +0800</pubDate><description><![CDATA[首先附上转载连接 浅谈Android进阶之路，最近可能处于迷茫阶段，不知道如何提升自己的技能，工作之余 Kotlin 也在看，go 语言也有意向去学习，没有一个方向，看了这篇文章，大致有个方向，转载分享下！对我还有些帮助，希望对各位看官也有所帮助。过去十年是移动互联网蓬勃发展的黄金期，相信每个人也都享受到了移动互联网红利，在此期间，移动互联网经历了曙光期、成长期、成熟期、现在来说已经进入饱和期。依...]]></description><category></category></item><item><title><![CDATA[小米手机 布局出现白色边框，黑色背景等（适配）]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/79786638</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/79786638</guid><author>android_freshman</author><pubDate>Mon, 02 Apr 2018 11:19:51 +0800</pubDate><description><![CDATA[前言：eidtText 在小米手机上出现 白色边框条，在华为 三星 等手机上都没有出现这个问题，特地记录下 适配的问题直接 在搜索 部分出现白色的边框，查看代码<RelativeLayout
        android:id="@+id/et_search_root"
        android:layout_width="wrap_content"
        android:layo]]></description><category></category></item><item><title><![CDATA[android 手机号码特殊显示(带空格或者* 号)]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/79556900</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/79556900</guid><author>android_freshman</author><pubDate>Wed, 14 Mar 2018 16:46:48 +0800</pubDate><description><![CDATA[前言：现在app 内部手机号码显示的格式都是  151 1111 1111 或者 151 xxxx 1111，这样显示更加方便显示以及阅读，主要处理逻辑就是对字符串的增加和替换，也不是很难，记录下。 1. 151 1111 1111 中间用空格区分显示我这里是直接写了一个类似格式的控件，在输入字符之后进行处理下面是完整的代码，主要逻辑就是 format 里面对字符传的处理import android]]></description><category></category></item><item><title><![CDATA[WebView 加载https 白屏以及重定向加载]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/79461671</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/79461671</guid><author>android_freshman</author><pubDate>Tue, 06 Mar 2018 18:29:47 +0800</pubDate><description><![CDATA[前言：今天在处理app 内广告跳转的问题时候，遇到官网 公司官网 https 点击打不开的情况，因为公司官网在手机页面上会重定向到手机版的页面去,处理到最后发现是一个细节导致的，特地记录下解决过程。1.针对正常的webView 加载内核：（参考摘录地址）1-1. 启用mixed content在Android5.0中，WebView方面做了些修改，如果你的系统target api为21以上:系统默...]]></description><category></category></item><item><title><![CDATA[TextView 中确定 ClickableSpan 的具体位置]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/66476404</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/66476404</guid><author>android_freshman</author><pubDate>Sun, 26 Mar 2017 16:13:25 +0800</pubDate><description><![CDATA[现在有一个需求是 TextView 中要有特殊的字符加颜色还需要可以点击弹出pop,点击跳转和改变颜色 这个需求  ClickableSpan 就可以胜任。但是找到具体位置就有点困难。1.确定 ClickableSpan 的具体位置注意 需要 加上 textView.setMovementMethod(LinkMovementMethod.getInstance());表示可以点击的Spannabl]]></description><category></category></item><item><title><![CDATA[picasso 显示本地图片]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/66476102</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/66476102</guid><author>android_freshman</author><pubDate>Sun, 26 Mar 2017 15:45:55 +0800</pubDate><description><![CDATA[感慨下，一开始搜索问题的时候，发现文章都没有说如何显示本地图片，都在说一些如何加载网络图片，本地图片直接放url 什么的，几乎找的文章都一样。很是郁闷，也有可能是我关键词有问题；关键时候还得看源码1.问题：一般我们获取到的完整路径： 
/storage/emulated/0/Android/data/xxxx.jpg, 
picasso.load(url) 直接将这个路径进行load 是显示不了的。]]></description><category></category></item><item><title><![CDATA[RoundedImageView 处理图片存在毛边的问题]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/66475760</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/66475760</guid><author>android_freshman</author><pubDate>Sun, 26 Mar 2017 15:17:06 +0800</pubDate><description><![CDATA[现在用户的头像都是圆形的，所以大家都会用到圆形imageView  或者用第三方框架 直接处理。我这里是用的RoundedImageView，但是在处理的时候，发现一个问题,就是加载网络图片的时候完全没问题，就是处理默认的图片的时候，会存在毛边，如图：一开始我以为是默认图片的问题，于是查看xml 和默认图片：<!-- android:scaleType="fitXY" 只有设置才不会有毛边，其他都存]]></description><category></category></item><item><title><![CDATA[Effective 学习（1） ---- 静态工厂方法]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/60871932</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/60871932</guid><author>android_freshman</author><pubDate>Wed, 08 Mar 2017 14:42:28 +0800</pubDate><description><![CDATA[初读《EffectiveJava》考虑静态工厂方法代替构造函数中！始终看不懂他的结构图！也不能理解静态工厂模式的使用点！首先是真看不太懂，有些地方说是源码的某某处，没有具体的概念导致不是很明白，于是上网寻找资料。总结如下：]]></description><category></category></item><item><title><![CDATA[RESTful服务使用HTTP方法相关概念学习理解]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/54585409</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/54585409</guid><author>android_freshman</author><pubDate>Tue, 17 Jan 2017 17:54:35 +0800</pubDate><description><![CDATA[HTTP动词包括我们的“统一接口”约束的主要部分，并且向基于名词的资源提供动作对应物。主要或最常用的HTTP动词或方法被称作，post，get，put，delete。这对应create、read、update、delete（或CRUD）操作。在那些不太频繁的方法中，options 和 head 使用得比其他方法多。1.什么是RESTful一种软件架构风格，设计风格而不是标准，只是提供了一组设计原则和]]></description><category></category></item><item><title><![CDATA[Android View 分析requestLayout、invalidate与postInvalidate]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/54378428</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/54378428</guid><author>android_freshman</author><pubDate>Thu, 12 Jan 2017 15:27:05 +0800</pubDate><description><![CDATA[1.前言：首先我需要了解 invalidate与postInvalidate 的区别，然后网上找了些资料，大多都是一个版本，负责点的排版整齐，不负责的排版直接很乱，一堆代码集中在一起，也没有解释清楚。无奈直接选择看源码，然后源码直接给出了区别invalidate 该方法的调用会引起View树的重绘，常用于内部调用(比如 setVisiblity())或者需要刷新界面的时候,需要在主线程(即UI线程)]]></description><category></category></item><item><title><![CDATA[android 正则表达式校验邮箱、手机号等]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/53909371</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/53909371</guid><author>android_freshman</author><pubDate>Wed, 28 Dec 2016 16:02:31 +0800</pubDate><description><![CDATA[在登陆界面需要填写用户名，现在大部分用户名直接是手机号或者邮箱，所以就需要验证是否是邮箱地址，或者是否是正确的手机号。这样做可以减少和服务器交互的次数，提高效率。下面就提供一个工具类：/**
 * 校验器：利用正则表达式校验邮箱、手机号等
 *
 * @author
 *
 */
public class Validator {
    /**
     * 正则表达式：验证用户名
     */]]></description><category></category></item><item><title><![CDATA[java 线程 --- join,sleep,yield 基础学习]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/53887570</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/53887570</guid><author>android_freshman</author><pubDate>Mon, 26 Dec 2016 17:01:38 +0800</pubDate><description><![CDATA[java 的线程支持提供了一些便捷的工具方法，通过这些工具方法可以很好的控制线程的执行。1.join 线程Thread 提供了让一个线程等待另一个线程的方法 — join()方法。当在某个程序执行流中调用其他线程的join()方法，调用的线程将被阻塞，直到被join()加入的join 线程执行完成。相关代码：    public class JoinThread extends Thread {]]></description><category></category></item><item><title><![CDATA[java 线程 --- Thread,Runnable,Callable 基础学习]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/53787011</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/53787011</guid><author>android_freshman</author><pubDate>Wed, 21 Dec 2016 16:46:16 +0800</pubDate><description><![CDATA[java 使用 Thread 类代表线程，所有现场对象都必须是 Thread 类或者其子类的实例。每个线程的作用是完成一定的任务，实际上就是执行一段程序流。java 使用线程执行体来代表这段程序流。1.继承Thread 类创建线程启动多线程的步骤如下： 
（1）定义Thread 类的子类，并重写该类的run() 方法，该run() 方法的方法体就代表类线程需要完成的任务。因此把run() 方法称为线]]></description><category></category></item><item><title><![CDATA[Android异常之Service启动Activity]]></title><link>https://blog.youkuaiyun.com/android_freshman/article/details/53394744</link><guid>https://blog.youkuaiyun.com/android_freshman/article/details/53394744</guid><author>android_freshman</author><pubDate>Tue, 29 Nov 2016 16:31:55 +0800</pubDate><description><![CDATA[在Activity中其中startActivity这个大家应该是非常熟悉的；那么从service里面调用startActivity话，会怎么样呢？ 
会出现下面的异常： 
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLA]]></description><category></category></item></channel></rss>