<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[EddieTries的博客]]></title><description><![CDATA[What's the meaning of life?]]></description><link>https://blog.youkuaiyun.com/TsuiXh</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TsuiXh]]></copyright><item><title><![CDATA[flutter设置代理]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/128221440</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/128221440</guid><author>TsuiXh</author><pubDate>Wed, 07 Dec 2022 15:41:46 +0800</pubDate><description><![CDATA[在公司网络下为flutter设置网络代理，搭建flutter开发环境]]></description><category></category></item><item><title><![CDATA[Android升级minSdk之后，APK尺寸骤增]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/127917925</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/127917925</guid><author>TsuiXh</author><pubDate>Fri, 18 Nov 2022 10:53:03 +0800</pubDate><description><![CDATA[优快云真的垃圾，我放一个Android官方网站的链接也认为是外链，纯纯的脑瘫]]></description><category></category></item><item><title><![CDATA[AndroidStudio解决Gradle文件占用的问题]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/123985306</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/123985306</guid><author>TsuiXh</author><pubDate>Wed, 06 Apr 2022 11:17:53 +0800</pubDate><description><![CDATA[解决Gradle文件占用导致的编译失败的问题]]></description><category></category></item><item><title><![CDATA[Java集合中是否可以添加null值（或者key为null）]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/123505243</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/123505243</guid><author>TsuiXh</author><pubDate>Tue, 15 Mar 2022 17:07:55 +0800</pubDate><description><![CDATA[Java哪些集合允许添加null值？]]></description><category></category></item><item><title><![CDATA[Java线程安全的集合]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/123503622</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/123503622</guid><author>TsuiXh</author><pubDate>Tue, 15 Mar 2022 16:01:29 +0800</pubDate><description><![CDATA[Java有哪些线程安全的集合？有哪些是常用的，有哪些是不常用的？都是怎么实现线程安全的？]]></description><category></category></item><item><title><![CDATA[【Java】子类列表和父类列表能否互相赋值与添加]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/123501823</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/123501823</guid><author>TsuiXh</author><pubDate>Tue, 15 Mar 2022 14:39:19 +0800</pubDate><description><![CDATA[Java子类列表和父类列表能否互相赋值与添加？]]></description><category></category></item><item><title><![CDATA[Gradle同步工程下载依赖慢]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/121482864</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/121482864</guid><author>TsuiXh</author><pubDate>Mon, 22 Nov 2021 22:53:32 +0800</pubDate><description><![CDATA[最近在家里面学习Android的一些东西遇到了难题，Gradle下载的速度实在是太慢了，一直卡在downloading的状态。
之前的build.gradle项目根目录下的依赖是用的是google()， jcenter()和mavenCentral()。
经过排查，我的情况属于是从mavenCentral和jcenter下载的速度十分缓慢。解决方案也很简单，修改项目的build.gradle中的repositories的部分：
repositories {
        maven{
          ]]></description><category></category></item><item><title><![CDATA[Android根据Locale获取String]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/119866229</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/119866229</guid><author>TsuiXh</author><pubDate>Mon, 23 Aug 2021 11:58:13 +0800</pubDate><description><![CDATA[在开发应用时，某些场景需要我们通过代码动态的获取string中的字符串，调用的context.getString()方法，这个方法返回的是默认的string.xml中的资源，如果用户切换了locale，那么这个方法返回的可能还是默认的语言。如何通过Locale来获取对应的string资源呢？
获取Locale
Locale locale = Locale.getDefault();

获取对应的字符资源
public static String getString(Context context, int ]]></description><category></category></item><item><title><![CDATA[为Mercurial设置代理 hg clone]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/119212827</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/119212827</guid><author>TsuiXh</author><pubDate>Thu, 29 Jul 2021 15:43:01 +0800</pubDate><description><![CDATA[一、前言
学习Java虚拟机的时候在公司的网络通过hg下载代码提示407需要鉴权，由于在代理网络下，需要为hg clone设置代理。下文讲解为Mercurial设置代理的方法。
二、设置代理
我使用的是Ubuntu系统，修改Mercurial的配置文件：
vim ~/.hgrc

键入如下内容：
[http_proxy]
host=http://[username]:[password]@[proxy_host]:[port]

上面中需要填写的变量用中括号括了起来，如果公司的代理网络需要账号密码，那么就填]]></description><category></category></item><item><title><![CDATA[Android设置按钮为disable状态]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/118752649</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/118752649</guid><author>TsuiXh</author><pubDate>Thu, 15 Jul 2021 10:01:46 +0800</pubDate><description><![CDATA[前言
本文介绍Android上如何设置按钮为disable状态。这个虽然很简单，但是我也是查询了才知道调用这个函数，很惭愧，Android相关的接触的较少，所以写下来记录下。
方法
在Button属性中，有setEnabled的方法，通过true和false可以控制enable和disable的状态。
Button button = findViewById(R.id.button);
button.setEnabled(true); // 启用按钮，默认状态
button.setEnabled(false]]></description><category></category></item><item><title><![CDATA[【Java】如何使用Iterator逆序遍历List]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/118546967</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/118546967</guid><author>TsuiXh</author><pubDate>Wed, 07 Jul 2021 15:11:56 +0800</pubDate><description><![CDATA[前言
本文介绍如何使用ListIterator进行逆序遍历List。
背景
在开发的部分场景中，针对已经排序好的数据，我们期望能够进行逆序使用Iterator进行遍历，并对满足条件的数据在遍历中移除。使用for循环无法在循环中移除数据，使用Iterator无法进行逆序遍历，本文着重介绍这种场景。
实现
ListIterator实现了前序遍历的方法，主要api包括：hasPrevious()和previous()等，用于前序遍历。
可以通过list.listIterator(list.size())移动到列表]]></description><category></category></item><item><title><![CDATA[【Android】为项目设定Java语言等级]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/118525597</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/118525597</guid><author>TsuiXh</author><pubDate>Tue, 06 Jul 2021 17:36:05 +0800</pubDate><description><![CDATA[前言
本文介绍如何为Android项目设定语言等级。使用过IDEA或者Eclipse的同学都知道，设定语言等级后，我们可以使用对应的语言等级的特性等，如使用lambda特性就需要设置Java语言等级为8以上。
如何设置
在AndroidStudio中，设置项目语言等级并不向IDEA等，在设置或者项目结构中可以设置。打开项目根目录下的build.gradle，在android下面添加compileOptions，如下：
android {
	...
	compileOptions {
		sourceComp]]></description><category></category></item><item><title><![CDATA[【Android】制作一个简易的画板]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/118494992</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/118494992</guid><author>TsuiXh</author><pubDate>Mon, 05 Jul 2021 19:35:58 +0800</pubDate><description><![CDATA[前言
本文介绍使用Canvas、Paint、Path等原生API，实现一个简易的画板。
绘图原理
Paint
Paint可以理解为我们现实中的画笔，在使用前我们需要对Paint进行初始化，比如颜色、画笔粗细、透明度等。为了让曲线更加的圆滑，我们也可以让Paint划出的内容做一些圆角处理等。下面是一个可以参考的Paint的初始化代码：
// 使用抗锯齿模式初始化画笔
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
// 设定当前画笔的绘制模式，STROKE为画线]]></description><category></category></item><item><title><![CDATA[【Android】getAction识别不到多指手势]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/118494716</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/118494716</guid><author>TsuiXh</author><pubDate>Mon, 05 Jul 2021 17:28:24 +0800</pubDate><description><![CDATA[前言
本文主要讲解了getAction和getActionMasked的常用区别。
背景
在使用getAction作为事件的处理依据时，在多指手势时并没有识别到ACTION_POINTER_DOWN，后续改为getActionMasked之后可以识别到多指的手势。
结论
使用getAction可以获取到当前的交互信息，包括手指的index等；使用getActoinMaked主要返回触摸的信息，包括多指手势，没有index信息。
参考

Android Developer - MotionEvent
Moti]]></description><category></category></item><item><title><![CDATA[理解Java中的值传递和引用传递]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/118149364</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/118149364</guid><author>TsuiXh</author><pubDate>Wed, 23 Jun 2021 12:03:24 +0800</pubDate><description><![CDATA[值传递：
方法调用时，实际参数把它的值传递给对应的形式参数，函数接收的是原始值的一个copy，此时内存中存在两个相等的基本类型，即实际参数和形式参数，方法中的操作都是对形式参数的修改，不影响实际参数的值。
引用传递：
也称为传地址，作为方法的参数传递时，实际参数的引用（地址）被传递给方法中相对应的形式参数，函数接收到的是原始值的内存地址。在方法执行中，形参和实参内容相同，指向同一个内存地址，方法执行中对引用的操作将会影响到实际对象。


基本数据类型传值，对形参的修改不会影响实参
引用类型传引用，形参和实参]]></description><category></category></item><item><title><![CDATA[如何去除BootStrap栅格系统默认的15px的padding]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/93891357</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/93891357</guid><author>TsuiXh</author><pubDate>Thu, 27 Jun 2019 17:24:18 +0800</pubDate><description><![CDATA[BootStrap的栅格系统对于响应式的网页开发非常方便，在使用栅格系统的时候可以非常方便的时候row和col-*-*来控制布局。但是col-*-*默认会带15像素的左右padding，这个会比较困扰。解决方案可以在row的class上添加no-gutter，这样会去掉表格的默认padding。示例如下：
&lt;div class="row no-gutter"&gt;
	&lt;div cla...]]></description><category></category></item><item><title><![CDATA[Oracle查看主键、删除主键、添加联合主键]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/92986657</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/92986657</guid><author>TsuiXh</author><pubDate>Thu, 20 Jun 2019 10:50:30 +0800</pubDate><description><![CDATA[Oracle主键保证了单条记录的唯一性，设置了主键的表在插入数据的时候比没有设置主键的表速度更快一些，在给某一张表设置或者更改主键之前，先检查下当前表时候已经设置了主键，可以按照如下步骤进行操作
1、查询某个表的主键
select * from user_constraints where table_name = 'your_table_name' and constraint_type = '...]]></description><category></category></item><item><title><![CDATA[JavaScript判断当前浏览器是否为IE或者Edge]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/90634594</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/90634594</guid><author>TsuiXh</author><pubDate>Tue, 28 May 2019 10:35:38 +0800</pubDate><description><![CDATA[以前我们喜欢使用ActiveXObject判断IE浏览器和其他浏览器，但是现在大家都用IE11了，而在IE11中，我们在控制台中输入window.ActiveXObject，返回的是undefined。所以说不建议使用这个方法，采用获取UA判断其中是否包含对应的IE或者Edge的标识即可，代码如下：
function detectIE() {
  var ua = window.navigator...]]></description><category></category></item><item><title><![CDATA[MacOS如何将MySQL的启动路径添加到PATH中]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/90615797</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/90615797</guid><author>TsuiXh</author><pubDate>Tue, 28 May 2019 00:28:02 +0800</pubDate><description><![CDATA[MySQL的安装路径为：
/usr/local/mysql/

打开PATH配置文件
$ vim ~/.bash_profile

按I插入
# added by mysql
export MYSQL_HOME=/usr/local/mysql/
export PATH=${MYSQL_HOME}/bin:$PATH

按下esc,输入:wq保存
输入如下命令使配置文件生效
$ source ~/...]]></description><category></category></item><item><title><![CDATA[【转载】跨域的几种解决办法]]></title><link>https://blog.youkuaiyun.com/TsuiXh/article/details/90438082</link><guid>https://blog.youkuaiyun.com/TsuiXh/article/details/90438082</guid><author>TsuiXh</author><pubDate>Wed, 22 May 2019 09:57:07 +0800</pubDate><description><![CDATA[(https://segmentfault.com/a/1190000015597029)[跨域的几种解决办法]

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