<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Single_Shadow的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Single_Shadow</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Single_Shadow]]></copyright><item><title><![CDATA[Android Studio项目将Module依赖（lib）转成jar包]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/77648665</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/77648665</guid><author>Single_Shadow</author><pubDate>Mon, 28 Aug 2017 14:48:07 +0800</pubDate><description><![CDATA[Android Studio项目将Module依赖（lib）转成jar包

项目的lib库是通过创建一个Module，在app中的build.gradle文件中将
apply plugin: 'com.android.application'
改为
apply plugin: 'com.android.library'123123

同时将applicationId删除，这样Module]]></description><category></category></item><item><title><![CDATA[Android点击EditText文本框之外任何地方隐藏键盘的解决办法]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/77648652</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/77648652</guid><author>Single_Shadow</author><pubDate>Mon, 28 Aug 2017 14:47:08 +0800</pubDate><description><![CDATA[1，实现方法一：通过给当前界面布局文件的父layout设置点击事件（相当于给整个Activity设置点击事件），在事件里进行键盘隐藏





[java] view
 plain copy






"http://schemas.android.com/apk/res/android"  
    android:id="@+id/traceroute_root]]></description><category></category></item><item><title><![CDATA[java编译原理2]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/74188450</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/74188450</guid><author>Single_Shadow</author><pubDate>Mon, 03 Jul 2017 13:45:44 +0800</pubDate><description><![CDATA[1． 关于动态加载机制
学习Java比C++更容易理解OOP的思想，毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点，所谓的动态加载机制等等。当然概念往往是先记住而后消化的，可有多少人真正去体会过动态加载的机制，试图去寻找过其中的细节呢? 提供大家一个方法：
在命令行窗口运行Java程序的时候，加上这个很有用的参数：
java verbose *.class
这样会]]></description><category></category></item><item><title><![CDATA[java编译原理]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/74188422</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/74188422</guid><author>Single_Shadow</author><pubDate>Mon, 03 Jul 2017 13:44:26 +0800</pubDate><description><![CDATA[Java 虚拟机(JVM)是可运行Java 代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上，就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程，随后对JVM规格描述作一说明。
　　
　　一.Java源文件的编译、下载 、解释和执行 
　　Java应用程序的开发周期包括编译、下载 、解释和执行几个部分。Java编译程]]></description><category></category></item><item><title><![CDATA[java问答]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/74188383</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/74188383</guid><author>Single_Shadow</author><pubDate>Mon, 03 Jul 2017 13:41:10 +0800</pubDate><description><![CDATA[1、面向对象的特征有哪些方面？ 
答：面向对象的特征主要有以下几个方面： 
- 抽象：抽象是将一类对象的共同特征总结出来构造类的过程，包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为，并不关注这些行为的细节是什么。 
- 继承：继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类（超类、基类）；得到继承信息的类被称为子类（派生类）。继承让变化中的软件系统有了一定的]]></description><category></category></item><item><title><![CDATA[Websocket原理]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/73936384</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/73936384</guid><author>Single_Shadow</author><pubDate>Fri, 30 Jun 2017 10:06:21 +0800</pubDate><description><![CDATA[偶然在知乎上看到一篇回帖，瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有。所以转到我博客里，分享一下。比较喜欢看这种博客，读起来很轻松，不枯燥，没有布道师的阵仗，纯粹为分享。废话这么多了，最后再赞一个~

一、websocket与http

WebSocket是HTML5出的东西（协议），也就是说HTTP协议没有变化，或者说没关系，但HTTP是不支持]]></description><category></category></item><item><title><![CDATA[给空APK进行签名以及找不到keystore证书链问题的解决方案]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/68067899</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/68067899</guid><author>Single_Shadow</author><pubDate>Wed, 29 Mar 2017 18:00:47 +0800</pubDate><description><![CDATA[自已经所做的项目为了增加扩展渠道，需要向线上手机厂商（搜狗、魅族）应用商店推广自已的APP，但APP上传之前，需要走一下各个厂商自已的验证流程。而验证流程有一个特殊的环节，就是厂商会给你一个空的签名包，让你用自已项目的共公密钥(keystore)对空包进行签名。这个环节并不算难，可是在打包过程中出现了一系统列的小问题。

具体的打包方法有很多，在这里主要讲两种：

一、使用命令行进行签名。]]></description><category></category></item><item><title><![CDATA[iOS开发之SMSSDK的简单运用]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/65628080</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/65628080</guid><author>Single_Shadow</author><pubDate>Fri, 24 Mar 2017 10:50:33 +0800</pubDate><description><![CDATA[第一步、获取短信SDK
点击下载最新版SDK，解压后得到以下文件结构：

1、SMSSDK：短信验证码SDK，包括静态库和本地化文件。使用时直接将这个文件夹拖入工程。
2、SMSSDKDemo：示例Demo 。
3、如果想要集成SMSSDK 提供的UI，直接把SMSSDKUI.xcodeproj拖到程序。
第二步、导入SDK
将SMSSDK这个文件夹拖入工程。步骤如下：

第三步]]></description><category></category></item><item><title><![CDATA[Xcode真机测试]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/65628034</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/65628034</guid><author>Single_Shadow</author><pubDate>Fri, 24 Mar 2017 10:47:44 +0800</pubDate><description><![CDATA[Xcode 7真机测试详解

 

1.准备
注意：一定要让你的真机设备的系统版本和app的系统版本想对应，如果不对应就会出现一个很常见的问题：could not find developer disk image
首先，准备好下面的设备机相关软件

MAC版本：OSX10.10.4Xcode版本：Xcode7 beta5（点击下载）
真机设备：iPad Air(iOS 8.1.]]></description><category></category></item><item><title><![CDATA[图片下拉放大 自定义scrollView]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/53350832</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/53350832</guid><author>Single_Shadow</author><pubDate>Sat, 26 Nov 2016 14:18:27 +0800</pubDate><description><![CDATA[使用自定义scrollView的方法实现这个效果。也不多说了，直接上代码。





[java] view
 plain copy


 



package com.example.myapplication.dropzoom;  
  
import android.animation.ObjectAnimator;  
import android.an]]></description><category></category></item><item><title><![CDATA[为什么很多人写代码会在变量名前面加一个小写的m？]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/53006447</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/53006447</guid><author>Single_Shadow</author><pubDate>Wed, 02 Nov 2016 11:34:31 +0800</pubDate><description><![CDATA[最近在读Android源码，发现很多系统变量命名时都加了m，而有的变量又没有加m，这是什么情况？

于是Google了一把，“letter m before variable ”，第一条结果是来自stackoverflow的答案。

终于看到一个不同的答案了， The use of the "m" prefix is more specific than simply denoting a]]></description><category></category></item><item><title><![CDATA[围城—漩涡之城]]></title><link>https://blog.youkuaiyun.com/Single_Shadow/article/details/52862086</link><guid>https://blog.youkuaiyun.com/Single_Shadow/article/details/52862086</guid><author>Single_Shadow</author><pubDate>Wed, 19 Oct 2016 18:31:22 +0800</pubDate><description><![CDATA[读完《围城》后，总是感觉心中有种莫名的压抑。总是感觉有种难受的感觉，一方面是有太多的人生活在那种虚伪，软弱，优柔寡断的气氛之下，有太多的人都像围城中的方鸿渐一样。终日碌碌无为，消耗家中的钱财，浪费别人的机会，欺骗家中人的感情，可最悲哀的是他们本人却活的毫不知情，恬不知耻。太多的人活在自己封闭的区间中，躲在一边不问世事，他们只知道为了自己的饭碗而努力，却对水深火热的广大人民而无动于衷，身为读书人，作]]></description><category></category></item></channel></rss>