<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title></title>
    <description>zhangming | where there is a will,there is a way</description>
    <link>https://shuihuo379.github.io/</link>
    <atom:link href="https://shuihuo379.github.io/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 13 Aug 2016 07:39:06 +0000</pubDate>
    <lastBuildDate>Sat, 13 Aug 2016 07:39:06 +0000</lastBuildDate>
    <generator>Jekyll v3.1.6</generator>
    
      <item>
        <title>Gradle快速编译配置</title>
        <description>&lt;h3 id=&quot;settingbuildexecutiongradleoffline-work&quot;&gt;1.打开文件setting,找到Build,Execution下的Gradle选项,注意勾选offline work,如图所示：&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/2015/gradle_setting_pic.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;android-stdiogradlegradlegradle-22zip&quot;&gt;2.打开android stdio安装目录,找到其下的Gradle目录，将下载好的gradle压缩包解压后放入其中即可,如图所示是将gradle-2.2.zip加入其中的&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/images/2015/gradle_file_pic.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;section&quot;&gt;链接&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://services.gradle.org/distributions&quot;&gt;Gradle各种版本下载地址&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://jcenter.bintray.com/com/android/tools/build/gradle/&quot;&gt;Gradle各种插件版本下载地址&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 06 Apr 2015 00:00:00 +0000</pubDate>
        <link>https://shuihuo379.github.io/Gradle%E5%BF%AB%E9%80%9F%E7%BC%96%E8%AF%91%E9%85%8D%E7%BD%AE/</link>
        <guid isPermaLink="true">https://shuihuo379.github.io/Gradle%E5%BF%AB%E9%80%9F%E7%BC%96%E8%AF%91%E9%85%8D%E7%BD%AE/</guid>
        
        <category>Android</category>
        
        
        <category>Android</category>
        
      </item>
    
      <item>
        <title>jekyll本地环境搭建(Windows)</title>
        <description>&lt;h3 id=&quot;section&quot;&gt;序言&lt;/h3&gt;
&lt;p&gt;本人一般使用window8，所以下文都是针对window8系统的，一般情况下对于win系列系统都是适用的。至于linux/unix系统，本人很少玩，有机会试试。&lt;/p&gt;

&lt;h3 id=&quot;ruby&quot;&gt;一.配置ruby环境&lt;/h3&gt;
&lt;p&gt;由于jekyll是用ruby语言写的一个静态网页生成工具，所以要搭建jekyll本地环境就需要先配置好ruby环境。&lt;/p&gt;

&lt;p&gt;1）去官网下载Ruby：&lt;a href=&quot;https://www.ruby-lang.org/zh_cn/downloads/&quot;&gt;Ruby下载地址&lt;/a&gt;，可以是安装包类型，也可以是解压版的。&lt;/p&gt;

&lt;p&gt;2）如果是安装版，则默认会给你配置系统环境变量，如果是解压版的，则需要自己配置系统环境变量。虽然本人喜欢解压版的，但由于本人功力还不够，发现解压版的缺少很多必要的东东，无奈只能罢了。（当然如果一定要解压版的，就把别人安装好的拷过来吧！）&lt;/p&gt;

&lt;p&gt;3）鉴于本人是初学者吧，而且官方推荐不知道如何安装的，就选择RubyInstaller（这种安装方式除 Ruby 之外，捆绑一些额外的资源库。）。所以上面两步就略过了，呵呵，下载了“rubyinstaller-2.3.0-x64.exe”，记得安装的时候选上“Add Ruby executables to your PATH”（添加系统环境变量），我这里安装到了F:\Program Files (x86)\Ruby23-x64下&lt;/p&gt;

&lt;p&gt;4）下载DevKit，解压进行执行相关命令（至于为啥，我还不懂，这个是win系统下必要的步骤）。我解压到了C:\devkit下，打开cmd，切换到F:\Program Files (x86)\devkit下，分步执行如下红色字样命令，出现如下提示表示安装成功了： 
&lt;img src=&quot;/images/2015/ruby_check_pic.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;jekyll&quot;&gt;二.安装jekyll(需要联网安装)&lt;/h3&gt;
&lt;p&gt;打开cmd,执行gem install jekyll命令，这里会安装jekyll所依赖的东西，由于是联网安装，所以存在连接速度等网络问题，如果出现错误，在确认前面安装步骤正常的情况下请多尝试，耐心等待！！！
注明:修改gem命令代码源为ruby.taobao.org速度应该会较快的，具体设置见：&lt;a href=&quot;http://ruby.taobao.org/&quot;&gt;RubyGems 镜像 &lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;jekyll-1&quot;&gt;三.使用jekyll创建网站并运行&lt;/h3&gt;
&lt;p&gt;jekyll是一个静态网页生成工具，那么必然有所谓的“源码”，或者说jekyll可以把你写的有一定格式的文件转换成静态网页。通过jekyll -h查看帮助可以发现有new参数，让jekyll帮助创建一个网站，即在cmd中执行“jekyll new 网站名”即可，jekyll会在当前目录下新建一个以网站名为名的文件夹，里面的是自动生成的一个简单的网站内容。&lt;/p&gt;

&lt;p&gt;为了能够让这里网站正常运行，这里需要删除_post文件夹里的文件（应该有一个xxxx-xx-xx-welcome-to-jekyll.markdown字样的文件），因为这个文件内部使用了语法高亮插件（另外不删，则可以修改配置文件禁用该语法高亮插件，即修改根目录下_config.yml中的pygments: true为false便可。），这个需要另外安装，不再本文范围内，不删会导致生成的静态页面有问题，因时间有限本文暂不提此问题。&lt;/p&gt;

&lt;p&gt;另外还会存在编码上的问题，但现在只要不在里面用中文，就暂时没事，后面文章再提。&lt;/p&gt;

&lt;p&gt;最后切换到新建的网站目录下，执行jekyll serve来启动网站，默认生成的静态网页等相关资源会放入_site文件夹。命令执行结果如下：
&lt;img src=&quot;/images/2015/jekyll_execute_pic.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;如上可见:
访问的服务器地址为：http://127.0.0.1:4000/，其中主机为本机，端口为4000&lt;/p&gt;

</description>
        <pubDate>Fri, 06 Mar 2015 00:00:00 +0000</pubDate>
        <link>https://shuihuo379.github.io/jekyll%E6%9C%AC%E5%9C%B0%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/</link>
        <guid isPermaLink="true">https://shuihuo379.github.io/jekyll%E6%9C%AC%E5%9C%B0%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/</guid>
        
        <category>Android</category>
        
        
        <category>Android</category>
        
      </item>
    
      <item>
        <title>关于屏幕适配的理解</title>
        <description>&lt;h4 id=&quot;android-developerhttpdeveloperandroidcomguidepracticesscreenssupporthtml&quot;&gt;官方地址：&lt;a href=&quot;http://developer.android.com/guide/practices/screens_support.html&quot;&gt;Android Developer屏幕适配教程&lt;/a&gt;&lt;/h4&gt;

&lt;h3 id=&quot;section&quot;&gt;一.关于布局适配建议&lt;/h3&gt;
&lt;p&gt;1.不要使用绝对布局&lt;/p&gt;

&lt;p&gt;2.尽量使用match_parent 而不是fill_parent&lt;/p&gt;

&lt;p&gt;3.能够使用权重的地方尽量使用权重（android:layout_weight）&lt;/p&gt;

&lt;p&gt;4.如果是纯色背景，尽量使用android的shape 自定义&lt;/p&gt;

&lt;p&gt;5.如果需要在特定分辨率下适配，可以在res目录上新建layout-HxW.xml的文件夹。比如要适配1080*1800的屏幕（魅族MX3采用此分辨率）则新建layout-1800x1080.xml的文件夹，然后在下面定义布局。Android系统会优先查找分辨率相同的布局，如果不存在则换使用默认的layout下的布局。&lt;/p&gt;

&lt;h3 id=&quot;section-1&quot;&gt;二.术语和概念&lt;/h3&gt;
&lt;p&gt;四种屏幕尺寸分类：: small, normal, large, and xlarge&lt;/p&gt;

&lt;p&gt;四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)&lt;/p&gt;

&lt;p&gt;需要注意的是: xhdpi是从 Android 2.2 (API Level 8)才开始增加的分类.&lt;/p&gt;

&lt;p&gt;xlarge是从Android 2.3 (API Level 9)才开始增加的分类.&lt;/p&gt;

&lt;p&gt;DPI是“dot per inch”的缩写，每英寸像素数。&lt;/p&gt;

&lt;p&gt;一般情况下的普通屏幕：ldpi是120，mdpi是160，hdpi是240，xhdpi是320。&lt;/p&gt;

&lt;h3 id=&quot;section-2&quot;&gt;三.如何做到自适应屏幕大小&lt;/h3&gt;
&lt;p&gt;1）界面布局方面&lt;br /&gt;
   需要根据物理尺寸的大小准备5套布局，layout(放一些通用布局xml文件，比如界面中顶部和底部的布局，不会随着屏幕大小变化，类似windos窗口的title bar),layout-small(屏幕尺寸小于3英寸左右的布局），layout-normal(屏幕尺寸小于4.5英寸左右），layout-large(4英寸-7英寸之间），layout-xlarge(7-10英寸之间）&lt;/p&gt;

&lt;p&gt;2）图片资源方面&lt;br /&gt;
  需要根据dpi值准备5套图片资源，drawable，drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi&lt;/p&gt;

&lt;p&gt;Android有个自动匹配机制去选择对应的布局和图片资源&lt;/p&gt;

&lt;h3 id=&quot;section-3&quot;&gt;四.关于图片制作&lt;/h3&gt;
&lt;p&gt;1）关于设计：&lt;br /&gt;
设计图先定下一个要设计的尺寸，而且尽量采用在目前最流行的屏幕尺寸（比如目前占屏幕比重比较多的是480系列，也即是480&lt;em&gt;800或者400&lt;/em&gt;854，下面的图标制作也在次基础上进行比例的换算）上设计。
先了解一下屏幕的级别：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;屏幕级别&lt;/th&gt;
      &lt;th&gt;屏幕密度&lt;/th&gt;
      &lt;th&gt;比率（相对）&lt;/th&gt;
      &lt;th&gt;物理大小（英寸）&lt;/th&gt;
      &lt;th&gt;像素大小&lt;/th&gt;
      &lt;th&gt;分辨率&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;ldpi&lt;/td&gt;
      &lt;td&gt;120&lt;/td&gt;
      &lt;td&gt;0.75&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;120&lt;/td&gt;
      &lt;td&gt;240*320&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;mdpi&lt;/td&gt;
      &lt;td&gt;160&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;160&lt;/td&gt;
      &lt;td&gt;320*480&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;hdpi&lt;/td&gt;
      &lt;td&gt;240&lt;/td&gt;
      &lt;td&gt;1.5&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;240&lt;/td&gt;
      &lt;td&gt;480*800&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;xdpi&lt;/td&gt;
      &lt;td&gt;320&lt;/td&gt;
      &lt;td&gt;2&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;320&lt;/td&gt;
      &lt;td&gt;720*1280&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;xxdpi&lt;/td&gt;
      &lt;td&gt;480&lt;/td&gt;
      &lt;td&gt;3&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;480&lt;/td&gt;
      &lt;td&gt;1080*1920&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;2）关于图标的适配：&lt;br /&gt;
在切好图的基础上，根据屏幕密度、像素和实际大小的比例关系。假如设计师在480 * 800的分辨率下做好了设计图，并且切好图，如果你需要适配720 * 1280屏幕，该怎么做？根据比例，他们的关系是2:3，于是你需要按照1.5倍比例制作图标，比如你在480 * 800的设计稿上切下来一个20 * 20像素的图，那么你就需要制作一个等比放大成30 * 30像素的图标，这样同一个图标在480 * 800的屏幕和720 * 1280的屏幕上显示的实际大小才一样。同理，如果你需要适配xxhdpi则需要在20 * 20的基础上制作一个等比放大成40 * 40像素的图标。&lt;/p&gt;

&lt;h3 id=&quot;swltngtdp&quot;&gt;五.关于屏幕适配小技巧sw&amp;lt;n&amp;gt;dp&lt;/h3&gt;

&lt;p&gt;第一种后缀：sw&amp;lt;n&amp;gt;dp,如layout-sw600dp, values-sw600dp
这里的sw代表smallwidth的意思，当你所有屏幕的最小宽度都大于600dp时,屏幕就会自动到带sw600dp后缀的资源文件里去寻找相关资源文件,这里的最小宽度是指屏幕宽高的较小值,每个屏幕都是固定的,不会随着屏幕横向纵向改变而改变。&lt;br /&gt;
第二种后缀w&amp;lt;N&amp;gt;dp 如layout-w600dp, values-w600dp
带这样后缀的资源文件的资源文件制定了屏幕宽度的大于Ndp的情况下使用该资源文件，但它和sw&amp;lt;N&amp;gt;dp不同的是，当屏幕横向纵向切换时，屏幕的宽度是变化的，以变化后的宽度来与N相比，看是否使用此资源文件下的资源。&lt;br /&gt;
第三种后缀h&amp;lt;N&amp;gt;dp 如layout-h600dp, values-h600dp
这个后缀的使用方式和w&lt;N&gt;dp一样，随着屏幕横纵向的变化，屏幕高度也会变化，根据变化后的高度值来判断是否使用h&amp;lt;N&amp;gt;dp ，但这种方式很少使用，因为屏幕在纵向上通常能够滚动导致长度变化，不像宽度那样基本固定，因为这个方法灵活性不是很好，google官方文档建议尽量少使用这种方式。&lt;/N&gt;&lt;/p&gt;

</description>
        <pubDate>Mon, 09 Jun 2014 00:00:00 +0000</pubDate>
        <link>https://shuihuo379.github.io/%E5%85%B3%E4%BA%8E%E5%B1%8F%E5%B9%95%E9%80%82%E9%85%8D%E7%9A%84%E7%90%86%E8%A7%A3/</link>
        <guid isPermaLink="true">https://shuihuo379.github.io/%E5%85%B3%E4%BA%8E%E5%B1%8F%E5%B9%95%E9%80%82%E9%85%8D%E7%9A%84%E7%90%86%E8%A7%A3/</guid>
        
        <category>Android</category>
        
        
        <category>Android</category>
        
      </item>
    
      <item>
        <title>Markdown基本使用语法</title>
        <description>&lt;h3 id=&quot;markdown&quot;&gt;一、Markdown的前世今身&lt;/h3&gt;

&lt;h4 id=&quot;markdown-1&quot;&gt;1. Markdown是什么？&lt;/h4&gt;
&lt;p&gt;Markdown是一种可以使用普通文本编辑器编写的标记语言，通过简单的标记语法，它可以使普通文本内容具有一定的格式。兼容html,更详细的资料参考&lt;a href=&quot;https://zh.wikipedia.org/wiki/Markdown&quot;&gt;维基百科&lt;/a&gt;或者&lt;a href=&quot;http://baike.baidu.com/link?url=-0-g7MR3rtx854uyFqroR2bi24jTdBXproRQFKTM6w419fnWIi54uxccmlwCSuqPE_dVFK4dSuO8otyyU12oBq&quot;&gt;百度百科&lt;/a&gt;&lt;/p&gt;

&lt;h4 id=&quot;markdown-2&quot;&gt;2. Markdown优点&lt;/h4&gt;
&lt;p&gt;Markdown可以写出很好格式的文章来，比如博客（里面的图片，链接，代码块，表格他全可以实现）,还有用Markdown写出来的简历绝对整齐高大上，写电子邮件Big也挺高的。 所以我经常用Markdown写笔记等，个人感觉Markdown是word很好的替代品。Markdown写东西太方便了。&lt;/p&gt;

&lt;h3 id=&quot;markdown-3&quot;&gt;二. Markdown编辑器&lt;/h3&gt;
&lt;p&gt;工要善其事 必先利其器, 市面上Markdown的编辑器挺多的，本人比较习惯用&lt;a href=&quot;http://markdownpad.com/&quot;&gt;MarkdownPad&lt;/a&gt;,界面图如下：（左边是代码，右面是效果，你说帅不帅）&lt;img src=&quot;/images/2013/markdown_show_layout.png&quot; alt=&quot;image&quot; /&gt;,安装挺简单的下载下来，一直点下一步下一步就好了。&lt;/p&gt;

&lt;h3 id=&quot;markdown-4&quot;&gt;三. Markdown语法&lt;/h3&gt;

&lt;h4 id=&quot;section&quot;&gt;3.1 标题设置&lt;/h4&gt;
&lt;p&gt;在Markdown当中设置标题，有两种方式：&lt;br /&gt;
&lt;strong&gt;第一种&lt;/strong&gt;：通过在文字下方添加“=”和“-”，他们分别表示一级标题和二级标题。&lt;br /&gt;
&lt;strong&gt;第二种&lt;/strong&gt;：在文字开头加上 “#”，通过“#”数量表示几级标题。（一共只有1~6级标题，1级标题字体最大）效果如下：&lt;br /&gt;
&lt;img src=&quot;/images/2013/markdown_title.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;section-1&quot;&gt;3.2 粗体和斜体&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;粗体&lt;/strong&gt;将需要设置为斜体的文字两端使用2个“&lt;em&gt;”或者“_”夹起来不要加空格。&lt;br /&gt;
&lt;strong&gt;斜体&lt;/strong&gt;将需要设置为斜体的文字两端使用1个“&lt;/em&gt;”或者“_”夹起来&lt;/p&gt;

&lt;h4 id=&quot;links&quot;&gt;3.3 链接（Links）&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;[]()&lt;/strong&gt;，前面[ ]填写的是想要显示的内容比如Google，后面()填写的是链接https://www.google.com，效果如下:&lt;br /&gt;&lt;img src=&quot;/images/2013/markdown_link.png&quot; alt=&quot;image&quot; /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;[&lt;strong&gt;注&lt;/strong&gt;]：前面加上叹号！就变成图片链接了语法是 &lt;strong&gt;![]()&lt;/strong&gt;
#### 3.4 无序列表和有序列表
 + &lt;strong&gt;无序列表&lt;/strong&gt;在文字开头添加(&lt;em&gt;, +, and -)实现无序列表。但是要注意在(&lt;/em&gt;, +, and -)和文字之间需要添加空格。（建议：一个文档中只是用一种无序列表的表示方式）&lt;br /&gt;
&lt;img src=&quot;/images/2013/markdown_line.png&quot; alt=&quot;image&quot; /&gt;
+ &lt;strong&gt;有序列表&lt;/strong&gt;使用数字后面跟上句号。（还要有空格）如&lt;strong&gt;上图&lt;/strong&gt;所示&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;如果没有起到效果，就在命令前面回车一下&lt;/strong&gt;&lt;/p&gt;

&lt;h4 id=&quot;section-2&quot;&gt;3.5 代码和代码块&lt;/h4&gt;
&lt;p&gt;实现方式有两种：&lt;br /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;第一种：简单文字出现一个代码框。使用&lt;code class=&quot;highlighter-rouge&quot;&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt;。（&lt;code class=&quot;highlighter-rouge&quot;&gt;不是单引号而是左上角的ESC下面~中的&lt;/code&gt;）&lt;/li&gt;
  &lt;li&gt;第二种：大片文字需要实现代码框。使用Tab和四个空格。&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Mon, 01 Apr 2013 00:00:00 +0000</pubDate>
        <link>https://shuihuo379.github.io/Markdown%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8%E8%AF%AD%E6%B3%95/</link>
        <guid isPermaLink="true">https://shuihuo379.github.io/Markdown%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8%E8%AF%AD%E6%B3%95/</guid>
        
        <category>Android</category>
        
        
        <category>Android</category>
        
      </item>
    
  </channel>
</rss>
