<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[技术上的那点事]]></title><description><![CDATA[好记性不如烂笔头]]></description><link>https://blog.youkuaiyun.com/ysq_chris</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ysq_chris]]></copyright><item><title><![CDATA[ScrollView 内部子布局如何填充满屏幕]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/107957619</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/107957619</guid><author>ysq_chris</author><pubDate>Wed, 12 Aug 2020 17:14:57 +0800</pubDate><description><![CDATA[ScrollView 包含一个ViewGroup, 在ViewGroup中填充内容，超过一屏就滚动。
但是发现一个问题，在内容不超过一屏的情况下，设置子内容高度为：match_parent ，并不能起到布满屏幕的作用。并且编辑器还提示子布局建议用
wrap_content.
布局代码如下：
 &lt;ScrollView
        android:id="@+id/touch_layout"
        android:layout_width="match_parent"
        and]]></description><category></category></item><item><title><![CDATA[GitLab-视图窗口合并代码]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/104773589</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/104773589</guid><author>ysq_chris</author><pubDate>Tue, 10 Mar 2020 14:33:22 +0800</pubDate><description><![CDATA[先发起一个合并请求（发起合并的入口有好几个地方）下面是第一种
还有第二种：

填写合并的相关信息 （审核人的权限必须是master权限以上，不然是没有审核权限的）

提交合并请求之后，审核的人登录账号之后会在顶部有一个审核提示，点击对应的合并请求进行审核

进行审核 ，然后合并代码

这样就可以到对应的分支上看到相关的提交内容了。


...]]></description><category></category></item><item><title><![CDATA[AndroidStudio SSL peer shut down incorrectly 问题]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/101220822</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/101220822</guid><author>ysq_chris</author><pubDate>Mon, 23 Sep 2019 19:32:04 +0800</pubDate><description><![CDATA[AndroidStudio 编译时出现如下问题 SSL peer shut down incorrectly 或者某些jar包下载不下来，一般是因为墙的原因导致的。这时候我们就需要配置镜像来解决这个问题（提高加载速度）。
配置的方法就是在根build.gradle中添加镜像仓库。
可以选择添加阿里的maven 仓库
maven { url ‘http://maven.aliyun.com/nexu...]]></description><category></category></item><item><title><![CDATA[Android Handler(说说我的理解)]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/88820096</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/88820096</guid><author>ysq_chris</author><pubDate>Wed, 27 Mar 2019 18:11:15 +0800</pubDate><description><![CDATA[前言：
一个Android开发者应该都用过Handler，而且应该说对它的用法都很熟悉。
最简单的使用案例：
// 1. new 一个Handler 实例，并重写handlerMessage方法
private Handler mHandler = new Handler(){  
    public void handleMessage(Message msg){
        mTextV...]]></description><category></category></item><item><title><![CDATA[java设计模式-桥接模式]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/88576534</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/88576534</guid><author>ysq_chris</author><pubDate>Fri, 15 Mar 2019 15:56:31 +0800</pubDate><description><![CDATA[概念：
先把所谓的官方定义拿出来瞅瞅：

桥接模式(Bridge Pattern)：将抽象部分与它的实现部分分离，使它们都可以独立地变化。它是一种对象结构型模式，又称为柄体(Handle and Body)模式或接口(Interface)模式。

在桥接模式结构图中包含如下几个角色：

●Abstraction（抽象类）：用于定义抽象类的接口，它一般是抽象类而不是接口，其中定义了一个Impleme...]]></description><category></category></item><item><title><![CDATA[java设计模式-适配器模式]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/88546167</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/88546167</guid><author>ysq_chris</author><pubDate>Thu, 14 Mar 2019 13:41:45 +0800</pubDate><description><![CDATA[定义：
适配器模式把一个类的接口变换成客户端所期待的另一种接口，从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
概念：
适配器模式是一种结构型模式，对类对象进行结构上的组合，解决一些代码结构问题。 适配器这个词简单的解释就是对接，把两个原本没有办法连接转换的事务进行一个对接，转换。如果是放到代码上来理解的话就是通过代码进行一个替换。把需要被替换的部分换成新的部分。
下面举个例子就是...]]></description><category></category></item><item><title><![CDATA[java设计模式-建造者模式]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/88426326</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/88426326</guid><author>ysq_chris</author><pubDate>Tue, 12 Mar 2019 20:08:01 +0800</pubDate><description><![CDATA[概念： 上一篇记录的是设计模式中的工厂模式（https://blog.youkuaiyun.com/ysq_chris/article/details/88350990），和工厂模式一样，建造者模式也是对象创建型模式，可以创建一些复杂的对象。看过一些介绍后很多时候会有一个疑问，建造者模式和工厂模式有什么不一样，适用的场景有不同吗？
开发过Android的同学都应该知道，Android中的对话框（eg:Aler...]]></description><category></category></item><item><title><![CDATA[java设计模式-工厂模式]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/88350990</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/88350990</guid><author>ysq_chris</author><pubDate>Tue, 12 Mar 2019 13:38:33 +0800</pubDate><description><![CDATA[概念：工厂模式根据实现的方式，简单工厂模式、工厂方法模式、抽象工厂模式，他们是层层递进的，实现的复杂性和应用场景都是不同的。
下面对不同的设计模式一 一进行学习和记录。
1. 简单工厂模式
简单工厂模式是属于创建型模式，又叫做静态工厂方法(static Factory Method)模式，简单工厂模式是由一个工厂对象决定创建出来哪一种产品类的实例.
简单的说创建一个工厂类，工厂类有一个静态的方法，...]]></description><category></category></item><item><title><![CDATA[面向对象编程设计模式之-六个基本原则]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/88194190</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/88194190</guid><author>ysq_chris</author><pubDate>Thu, 07 Mar 2019 18:44:57 +0800</pubDate><description><![CDATA[设计模式概念：
设计模式（Design pattern）是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问，设计模式使代码编制真正工程化；设计模式是软件工程的基石脉络，如同大厦的结构一样。
当有人问起面向对象设计模式的时候，我们脑海里多少能浮现几个设计模式的用法，例如什么单例、工厂等。但很多时候我们在...]]></description><category></category></item><item><title><![CDATA[Fragment的onCreateView方法注意点]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/87863677</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/87863677</guid><author>ysq_chris</author><pubDate>Thu, 21 Feb 2019 16:33:55 +0800</pubDate><description><![CDATA[系统会在片段首次绘制其用户界面时调用onCreateView方法。 要想为您的片段绘制 UI，您从此方法中返回的 View 必须是片段布局的根视图。如果片段未提供 UI，您可以返回 null。
Fragment默认有预加载的功能，默认是预加载左右各一个fragment实例，在预加载的时候会调用onCreateView 方法，当切换Fragment的时候会调用onDestoryView, 但是并不会...]]></description><category></category></item><item><title><![CDATA[如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/87860464</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/87860464</guid><author>ysq_chris</author><pubDate>Thu, 21 Feb 2019 14:33:54 +0800</pubDate><description><![CDATA[说明：当你发布一个应用之后，(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本。这对你的应用意味着什么，所有东西都不能用了？
别担心，向前兼容是 Android 非常关注的事情。用户在升级到新版 Android 的时候，用以前版本的 SDK 构建的现有应用应该不会出问题。这就是 compileSdkVersion, minSdkVersion 和 targetSdkVe...]]></description><category></category></item><item><title><![CDATA[Process 'command 'xxx.java.exe'' finished with non-zero exit value 2]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/84791263</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/84791263</guid><author>ysq_chris</author><pubDate>Tue, 04 Dec 2018 16:47:02 +0800</pubDate><description><![CDATA[编译过程中一直提示这个错误，尝试解决，也从网上看各种解决方案，最后发现是因为在 gradle 配置中在dependencies中依赖了一个lib库：
compile project(':framework_door')

同时在libs文件夹下放了这个库的jar文件包导致同一个的两次引用错误,这个是不是错误提示中最后面的 value 2  中的2 就代表这个错误，还不得而知，仅是猜测。在我的项目中...]]></description><category></category></item><item><title><![CDATA[Androidstudio编译jar和aar]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/81064942</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/81064942</guid><author>ysq_chris</author><pubDate>Mon, 16 Jul 2018 16:09:07 +0800</pubDate><description><![CDATA[在Android项目中经常会需要导入一些第三方的jar文件或者aar文件， 同时我们也会有把我们自己项目编译成jar或者aar文件提供给其他人使用。在Android studio（后文简写as）不同2.0和3.0版本中生成的文件存储路径也有些不同。做一个记录，以防再入坑。



1.首先简单介绍aar和jar文件： 
jar：只包含class文件与清单文件，不包含资源文件，如图片等所有res中的文...]]></description><category></category></item><item><title><![CDATA[设置Android Studio默认启动时打开欢迎界面]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/81061403</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/81061403</guid><author>ysq_chris</author><pubDate>Mon, 16 Jul 2018 10:48:47 +0800</pubDate><description><![CDATA[在windows系统上的Android studio版本默认打开看到的是上一次最后关闭的页面，虽然有一定便利。但是有时候项目多的时候想切换项目的时候就不太方便了。需要打开项目后再通过file-&amp;gt;open 去打开其他项目。



想要直接打开欢迎界面，也就是Welcome to Android Studio界面，在这里选择我最近打开过的工程，则可以通过设置Settings来设置：

1.先通过...]]></description><category></category></item><item><title><![CDATA[新编译器D8]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/81027758</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/81027758</guid><author>ysq_chris</author><pubDate>Fri, 13 Jul 2018 17:19:50 +0800</pubDate><description><![CDATA[新的DEX编译器，D8 
默认情况下，Android Studio现在使用名为D8的新DEX编译器。DEX编译是将.class 字节码转换.dex为Android Runtime（或Dalvik，适用于旧版Android）的字节码的过程。与之前的编译器（称为DX）相比，D8编译速度更快，输出更小的DEX文件，同时具有相同或更好的应用运行时性能。

D8不应该改变您的日常应用开发工作流程。但是，如果...]]></description><category></category></item><item><title><![CDATA[...\build\intermediates\res\resources-official-release-stripped.ap_' specified for property 'resourc]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/81022407</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/81022407</guid><author>ysq_chris</author><pubDate>Thu, 12 Jul 2018 21:05:43 +0800</pubDate><description><![CDATA[编译apk的时候遇到下面的问题：


  Error:A problem was found with the configuration of task’:uhome_app:packageOfficialRelease’. 
   File ‘D:\segi_workspace\branches\uhome\uhome_huarun\joylife_v1.2.0\uhome_app\build...]]></description><category></category></item><item><title><![CDATA[安卓网络基础]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/81003052</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/81003052</guid><author>ysq_chris</author><pubDate>Wed, 11 Jul 2018 16:38:35 +0800</pubDate><description><![CDATA[网络数据是应用的主要数据来源，对于一个应用来说连接到互联网是最基本的需求，也是最常用的功能。但是网络总是存在各种各样的稳定性问题，而如何避开这些问题，实现一个稳定的，交互流畅的应用是对开发人员的基本要求。以下总结了一些网络操作的基楚知识和注意点。



1.使用网络的权限： 
使用网络请求必须要添加的两个请求



&amp;lt;uses-permission android:name=&quot;android...]]></description><category></category></item><item><title><![CDATA[安卓Dialog屏蔽空白区域和物理返回按键的作用]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/80982675</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/80982675</guid><author>ysq_chris</author><pubDate>Tue, 10 Jul 2018 11:02:46 +0800</pubDate><description><![CDATA[在开发过程中，弹出的Dialog表示正在进行某项后台操作，提示用户等待，而且有些情况下不希望用户手动操作去关闭Dialog,打断这个操作。

此时有两种情况 
1.用户点击对话框视图其余的空白处 
2.用户点击了手机的物理返回按钮



AlertDialog.Builder builder = new AlertDialog.Builder(context);//实例化一个对话框


屏蔽点击空...]]></description><category></category></item><item><title><![CDATA[View的渐变动画效果（代码实现）]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/80971383</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/80971383</guid><author>ysq_chris</author><pubDate>Mon, 09 Jul 2018 15:30:12 +0800</pubDate><description><![CDATA[渐变动画（也叫消失）通常指渐渐的淡出某个UI组件，同时同步地淡入另一个。当App想切换内容或View的情况下，这种动画很有用。渐变简短不易察觉，同时又提供从一个界面到下一个之间流畅的转换。如果在需要转换的时候没有使用任何动画效果，这会使得转换看上去感到生硬而仓促。




xml布局




&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.androi...]]></description><category></category></item><item><title><![CDATA[缓存Bitmap]]></title><link>https://blog.youkuaiyun.com/ysq_chris/article/details/80969546</link><guid>https://blog.youkuaiyun.com/ysq_chris/article/details/80969546</guid><author>ysq_chris</author><pubDate>Mon, 09 Jul 2018 14:25:50 +0800</pubDate><description><![CDATA[1.使用内存缓存(Use a Memory Cache) 
内存缓存以花费宝贵的程序内存为前提来快速访问位图。LruCache类（在API Level 4的Support Library中也可以找到）特别适合用来缓存Bitmaps，它使用一个强引用（strong referenced）的LinkedHashMap保存最近引用的对象，并且在缓存超出设置大小的时候剔除（evict）最近最少使用到的对象...]]></description><category></category></item></channel></rss>