<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Nobody_else_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Nobody_else_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Nobody_else_]]></copyright><item><title><![CDATA[手把手教你用自定义View实现 长按出现水漫效果的进度按钮（长按取消）]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/113784362</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/113784362</guid><author>Nobody_else_</author><pubDate>Wed, 10 Feb 2021 23:19:17 +0800</pubDate><description><![CDATA[目录效果展示实现方法一、思路二、代码实现三、完整代码及使用示例Demo示例结语
效果展示
实现方法
一、思路
二、代码实现
三、完整代码及使用示例
Demo示例
结语

]]></description><category></category></item><item><title><![CDATA[手把手教你使用自定义View实现 仿Keep长按出现进度条按钮]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/113186425</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/113186425</guid><author>Nobody_else_</author><pubDate>Fri, 05 Feb 2021 18:32:50 +0800</pubDate><description><![CDATA[效果展示
实现方法
一、思路
通过自定义View画出一个长按出现环形包围进度条的按钮，当进度条满了进行接口回调，告诉当前运行的Activity，动画执行完毕。
1.画出中心圆形按钮

确定自定义View的大小尺寸。
画出中心圆按钮。

2.监听点击事件，当手指点击按钮时，放大按钮，环形进度条出现，并进度自动增加

确定获取焦点时按钮的大小，重新绘制。
画出外圆环，使用定时器，定时增加圆环的弧度。
失去焦点时，中心按钮恢复，外圆环弧度逐渐减少。

二、代码实现
自定义View核心代码：
1.使用到的变量介绍
]]></description><category></category></item><item><title><![CDATA[Calling startActivity() from outside of an Activity context requires FLAG_ACTIVITY_NEW_TASK 引发的思考和分析]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/109283369</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/109283369</guid><author>Nobody_else_</author><pubDate>Mon, 26 Oct 2020 10:49:17 +0800</pubDate><description><![CDATA[最近在开发过程中遇到这么个问题，报错如下



当我使用传入context的Intent来启动Activity，app崩溃了，而且报了一个我以前重来没见过的错误。

错误log的意思大概为，我使用了一个不属于Activity的Context来调用startActivity方法，需要设置一个FLAG_ACTIVITY_NEW_TASK的Flag才可以正常运行，而且最后给我来个了疑问句，问我这是不是我所期待的也是挺骚的。

问题分析

（如果急于求解，不管过程和原因的话，可以跳过分析过程，直接看后面的 解...]]></description><category></category></item><item><title><![CDATA[Android打包报错：Lint found fatal errors while assembling a release target.  To proceed, either fix the..]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/109104410</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/109104410</guid><author>Nobody_else_</author><pubDate>Thu, 15 Oct 2020 20:23:04 +0800</pubDate><description><![CDATA[最近在打包Apk时出现以下错误：


Lint found fatal errors while assembling a release target.

To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
    lintOptions {
        checkReleaseBuilds false
        // Or, if ]]></description><category></category></item><item><title><![CDATA[Android 开发TextView跑马灯设置，及其失效解决方法]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/108490479</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/108490479</guid><author>Nobody_else_</author><pubDate>Wed, 09 Sep 2020 15:25:33 +0800</pubDate><description><![CDATA[最近在给TextView设置跑马灯时，发现怎么弄都不生效，加了很多网上所谓的方法，都不行，最后就多加了一句代码，解决了，做个笔记。

xml布局代码：网上所提到的属性都加上了


&lt;TextView
            android:layout_width="match_content"
            android:layout_height="wrap_content"
            android:text="@string/my_location"
        ]]></description><category></category></item><item><title><![CDATA[超详细！apk安装包快速反编译，多种反编译及失败的解决方案（包含classes.dex的反编译，新增加快速反编译）]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/83996441</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/83996441</guid><author>Nobody_else_</author><pubDate>Mon, 17 Aug 2020 19:50:55 +0800</pubDate><description><![CDATA[如要转载，请贴出原地址：https://blog.youkuaiyun.com/Nobody_else_/article/details/83996441



众所周知，我们开发所用的手机App安装包都是apk文件，Android应用开发完成之后，我们最终都会将应用打包成一个apk文件供用户安装，这时候就很难再看到开发这个应用时使用的资源文件以及代码了，所以就有了反编译这个东西。通过一些工具，还是可以将a...]]></description><category></category></item><item><title><![CDATA[提高工作效率的bat脚本，批量修改文件名脚本（批量修改替换、大小写转换）]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/107472753</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/107472753</guid><author>Nobody_else_</author><pubDate>Tue, 21 Jul 2020 09:05:38 +0800</pubDate><description><![CDATA[Android开发里的资源文件名称是不能有空格、横杠 - 、大写字母的，但是美工给过来的图片资源一般都会含有这些，而且图片到达一定数量时，自己手动改名实在是太耗费时间了，所以搞了俩脚本文件来节约改名的时间，提高开发效率。

一、批量修改和替换文件名特殊字符脚本

下载地址：https://download.youkuaiyun.com/download/Nobody_else_/12642369

自己动手：

将下面的代码，复制到txt文件内，将文件后缀.txt改为.bat。建议新建一个单独的文件夹，将.bat文件放]]></description><category></category></item><item><title><![CDATA[2020年度 Android面试知识点总结（持续更新）]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/106041925</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/106041925</guid><author>Nobody_else_</author><pubDate>Sun, 28 Jun 2020 20:38:23 +0800</pubDate><description><![CDATA[Android：





Java：




数据结构：





算法：

堆排序算法

https://blog.youkuaiyun.com/u010452388/article/details/81283998





计算机网络基础：
]]></description><category></category></item><item><title><![CDATA[HTTP和HTTPS的区别，TCP为何要三次握手和四次挥手]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/106124887</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/106124887</guid><author>Nobody_else_</author><pubDate>Thu, 14 May 2020 17:49:07 +0800</pubDate><description><![CDATA[参考：https://blog.youkuaiyun.com/xiaoming100001/article/details/81109617

HTTP特点

无状态：协议对客户端没有状态存储，对事物处理没有“记忆”能力，比如访问一个网站需要反复进行登录操作
	无连接：HTTP/1.1之前，由于无状态特点，每次请求需要通过TCP三次握手四次挥手，和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源，服务器并不能区别是否已经响应过用户的请求，所以每次需要重新响应请求，需要耗费不必要的时间和流量。
	基于请求和响]]></description><category></category></item><item><title><![CDATA[List、Map和Set的区别，以及它们的使用场景]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/105658244</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/105658244</guid><author>Nobody_else_</author><pubDate>Tue, 21 Apr 2020 15:14:31 +0800</pubDate><description><![CDATA[一、区别

List和Set实现了Collection接口（属于Collection的子接口）：

List和Set都是实现了Collection接口，而LinkList和HashSet等等的List和Set都是Collection的实现类。

List：1.可以允许重复的对象。

　　 2.可以插入多个null元素。

    3.是一个有序容器，保持了每个元素的插入顺序，输出的顺序...]]></description><category></category></item><item><title><![CDATA[各种情况下的Activity生命周期与及跟Fragment生命周期的比较（为什么横屏切换竖屏会调用两次）]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/105432449</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/105432449</guid><author>Nobody_else_</author><pubDate>Fri, 10 Apr 2020 14:17:49 +0800</pubDate><description><![CDATA[横竖屏切换的时候，Activity 各种情况下的生命周期



平时在网上看到的答案一般都是这样的↓

1）切换横屏时：

onSaveInstanceState-&gt;onPause-&gt;onStop-&gt;onDestory-&gt;onCreate-&gt;onStart-&gt;onRestoreInstanceState-&gt;onResume



2) 切换竖屏时：

...]]></description><category></category></item><item><title><![CDATA[进程和线程的区别，wait()和sleep()区别，wait/notify关键字的理解]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/99723149</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/99723149</guid><author>Nobody_else_</author><pubDate>Mon, 19 Aug 2019 13:59:26 +0800</pubDate><description><![CDATA[进程：

系统资源分配最小单位


线程：

线程是进程的一个实体，程序执行的最小单位
	可与同属一个进程的其他的线程共享进程所拥有的全部资源


关系：

简而言之,一个程序至少有一个进程,一个进程至少有一个线程
	进程有自己独立的地址空间，每启动一个进程，系统都会为其分配地址空间，建立数据表来维护代码段、堆栈段和数据段，线程没有独立的地址空间，它使用相同的地址空间共享数据
...]]></description><category></category></item><item><title><![CDATA[什么是内部类？内部类的作用；什么是抽象类，抽象类和接口]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/99618901</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/99618901</guid><author>Nobody_else_</author><pubDate>Thu, 15 Aug 2019 01:11:53 +0800</pubDate><description><![CDATA[定义：

将一个类定义在另一个类里面或者一个方法里面，这样的类称为内部类，可以完善Java多继承的写法



分类：

成员内部类
	局部内部类
	匿名内部类
	静态内部类


成员内部类： 成员内部类可以无条件访问外部类的所有成员属性和成员方法（包括private成员和静态成员）


class outerClass {
    class innerClass {
    }
}



...]]></description><category></category></item><item><title><![CDATA[String、StringBuffer、StringBuilder区别，int与integer的区别]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/99289958</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/99289958</guid><author>Nobody_else_</author><pubDate>Mon, 12 Aug 2019 10:18:47 +0800</pubDate><description><![CDATA[区别：

String：字符串常量，不可变对象，每一次对String进行修改都相当于生成了一个新的String对象，然后将指针指向新的String对象，如果经常改变，则会频繁GC（Garbage Collection，垃圾回收），影响速度
	StringBuffer：字符串变量（线程安全），修改不会生成新对象，有append()、insert()方法 
	StringBuilder：字符串变量（非...]]></description><category></category></item><item><title><![CDATA[CountDownLatch的原理和并行性]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/97623701</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/97623701</guid><author>Nobody_else_</author><pubDate>Mon, 29 Jul 2019 09:54:58 +0800</pubDate><description><![CDATA[这里借鉴了一篇总结得不错的博客：https://blog.youkuaiyun.com/joenqc/article/details/76794356



CountDownLatch的概念

CountDownLatch是一个同步工具类，用来协调多个线程之间的同步，或者说起到线程之间的通信（而不是用作互斥的作用）。

CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后，再继续执...]]></description><category></category></item><item><title><![CDATA[结合代码！Android常见的设计模式（持续更新）]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/97619462</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/97619462</guid><author>Nobody_else_</author><pubDate>Sun, 28 Jul 2019 21:03:11 +0800</pubDate><description><![CDATA[这里借鉴了一个篇写非常不错的博客：https://www.cnblogs.com/android-blogs/p/5530239.html



什么是设计模式？

设计模式（Design pattern）是一套被反复使用的代码设计经验的总结。使用设计模式的目的是为了可重用代码、让代码更容易被他人理解。设计模式是是软件工程的基石脉络，如大厦的结构一样。



单例模式：

在这之前先要了解单例...]]></description><category></category></item><item><title><![CDATA[HashMap底层原理及各种问题（与HashTable、HashSet、ArrayMap的区别）]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/97560679</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/97560679</guid><author>Nobody_else_</author><pubDate>Sat, 27 Jul 2019 21:45:52 +0800</pubDate><description><![CDATA[这里借鉴了一篇我觉得写得很好的博客：https://blog.youkuaiyun.com/mbshqqb/article/details/79799009

还有另外一篇写的不错的博客，值得学习：https://blog.youkuaiyun.com/suifeng629/article/details/82179996







“你用过HashMap吗？” “什么是HashMap？你为什么用到它？”

固然...]]></description><category></category></item><item><title><![CDATA[重写equals()方法的注意事项及其原因，为什么重写equals()时需要hashCode()方法？]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/97533968</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/97533968</guid><author>Nobody_else_</author><pubDate>Sat, 27 Jul 2019 17:41:56 +0800</pubDate><description><![CDATA[在这之前可以先了解equals()方法的重写：https://blog.youkuaiyun.com/Nobody_else_/article/details/97518556



首先先弄清楚hashCode()是用来干嘛的？

一提到hashcode，很自然就想到哈希表。将某一key值映射到表中的一个位置，从而达到以O(1)的时间复杂度来查询该key值。Object类源码（如下所示）中，hashCod...]]></description><category></category></item><item><title><![CDATA[Java各种变量的不同，Java各种数据类型的默认值]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/97510865</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/97510865</guid><author>Nobody_else_</author><pubDate>Sat, 27 Jul 2019 14:51:38 +0800</pubDate><description><![CDATA[分类定义：

变量分为成员变量、局部变量。

成员变量：包括实例变量和静态变量（类变量）

局部变量：形参（方法签名中定义的变量）、方法局部变量（方法内定义）和代码块局部变量（代码块内定义）



区别：

静态变量：用static修饰，不属于实例对象，属于类所有，只要程序加载了字节码，不用创建实例对象静态变量都会被分配空间，已经可以使用。

实例变量：没有static修饰，只有实例化对象...]]></description><category></category></item><item><title><![CDATA[Android 常见面试题——死锁，线程的运行、阻塞和死亡]]></title><link>https://blog.youkuaiyun.com/Nobody_else_/article/details/97416486</link><guid>https://blog.youkuaiyun.com/Nobody_else_/article/details/97416486</guid><author>Nobody_else_</author><pubDate>Fri, 26 Jul 2019 20:42:19 +0800</pubDate><description><![CDATA[参考：https://blog.youkuaiyun.com/yanxiaolx/article/details/51944048

定义：一组相互竞争系统资源或进行通信的进程间的“永久”阻塞。如两个线程相互等待对方释放同步监视器时就会发生死锁。

一旦发生死锁，整个程序不会发生任何异常，不会给出任何提示，只是所有线程处于阻塞状态，无法继续。



原因：

（1）竞争不可抢占性资源。

（2）竞争可消耗资...]]></description><category></category></item></channel></rss>