-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.json
1 lines (1 loc) · 156 KB
/
search.json
1
[{"title":"诗词集","url":"https://bruceyu1994.github.io/2017/04/26/诗词集/","content":"<h2 id=\"2017年4月26日\"><a href=\"#2017年4月26日\" class=\"headerlink\" title=\"2017年4月26日\"></a>2017年4月26日</h2><p>个人生活照寄语</p>\n<p>春有百花秋有月,<br>夏有凉风冬有雪。<br>本无闲事挂心头,<br>处处人间好时节。</p>\n<blockquote>\n<p>改编自宋朝无门慧开禅师所作《无门关》一书</p>\n</blockquote>\n"},{"title":"Word常见问题","url":"https://bruceyu1994.github.io/2017/03/06/Word常见问题/","content":"<h2 id=\"Word-2016\"><a href=\"#Word-2016\" class=\"headerlink\" title=\"Word 2016\"></a>Word 2016</h2><h3 id=\"文字重叠\"><a href=\"#文字重叠\" class=\"headerlink\" title=\"文字重叠\"></a>文字重叠</h3><p>【Reason】计算机中没有相应的字体 </p>\n<p>【Solution】</p>\n<ul>\n<li>选中重叠字体,查看字体类型</li>\n<li>百度或谷歌搜索相应的字体并下载</li>\n<li>将下载的字体复制到 “C:\\Windows\\Fonts” 目录下即可</li>\n</ul>\n"},{"title":"我的书架","url":"https://bruceyu1994.github.io/2017/01/14/我的书架/","content":"<h2 id=\"The-First-Floor-Computer\"><a href=\"#The-First-Floor-Computer\" class=\"headerlink\" title=\"The First Floor(Computer)\"></a>The First Floor(Computer)</h2><blockquote>\n<ul>\n<li>硅谷之光</li>\n<li>失控</li>\n<li>人月神话</li>\n<li>大教堂与集市(开源运动的《圣经》)</li>\n</ul>\n</blockquote>\n<h2 id=\"The-Second-Floor-Philosophy\"><a href=\"#The-Second-Floor-Philosophy\" class=\"headerlink\" title=\"The Second Floor(Philosophy)\"></a>The Second Floor(Philosophy)</h2><blockquote>\n<ul>\n<li>苏菲的世界</li>\n</ul>\n</blockquote>\n<h2 id=\"The-Third-Floor-國學\"><a href=\"#The-Third-Floor-國學\" class=\"headerlink\" title=\"The Third Floor(國學)\"></a>The Third Floor(國學)</h2><blockquote>\n<ul>\n<li>心经</li>\n<li>坛经</li>\n<li>传习录</li>\n</ul>\n</blockquote>\n<h2 id=\"The-Fourth-Floor-Others\"><a href=\"#The-Fourth-Floor-Others\" class=\"headerlink\" title=\"The Fourth Floor(Others)\"></a>The Fourth Floor(Others)</h2><blockquote>\n<ul>\n<li>卓有成效的管理者</li>\n<li>高效能人士的7个习惯</li>\n<li>自私的基因</li>\n</ul>\n</blockquote>\n"},{"title":"电影集结号","url":"https://bruceyu1994.github.io/2017/01/14/电影集结号/","content":"<h2 id=\"动漫\"><a href=\"#动漫\" class=\"headerlink\" title=\"动漫\"></a>动漫</h2><blockquote>\n<ul>\n<li>头脑特工队</li>\n<li>疯狂动物城</li>\n<li>守护者联盟</li>\n</ul>\n</blockquote>\n<h2 id=\"喜剧\"><a href=\"#喜剧\" class=\"headerlink\" title=\"喜剧\"></a>喜剧</h2><blockquote>\n<ul>\n<li>喜剧之王</li>\n<li>厨子戏子痞子</li>\n<li>人再囧途之泰囧</li>\n<li>葬礼上的的死亡</li>\n<li>憨豆特工</li>\n<li>Bride Wars</li>\n<li>Yours Mine and Ours</li>\n<li>Welcome</li>\n</ul>\n</blockquote>\n<h2 id=\"爱情\"><a href=\"#爱情\" class=\"headerlink\" title=\"爱情\"></a>爱情</h2><blockquote>\n<ul>\n<li>泰坦尼克号(我心永恒)</li>\n<li>毕业生</li>\n<li>风月俏佳人</li>\n<li>大话西游(一生所爱)</li>\n<li>倩女幽魂</li>\n<li>古今大战秦俑情(焚心以火)</li>\n<li>青蛇(流光飞舞)</li>\n<li>假如爱有天意</li>\n<li>滚滚红尘</li>\n<li>再生缘</li>\n<li>唐伯虎点秋香</li>\n<li>布达佩斯之恋</li>\n<li>东邪西毒</li>\n</ul>\n</blockquote>\n<h2 id=\"动作\"><a href=\"#动作\" class=\"headerlink\" title=\"动作\"></a>动作</h2><h2 id=\"武侠\"><a href=\"#武侠\" class=\"headerlink\" title=\"武侠\"></a>武侠</h2><blockquote>\n<ul>\n<li>卧虎藏龙</li>\n</ul>\n</blockquote>\n<h2 id=\"奇幻\"><a href=\"#奇幻\" class=\"headerlink\" title=\"奇幻\"></a>奇幻</h2><blockquote>\n<ul>\n<li>捉妖记</li>\n</ul>\n</blockquote>\n<h2 id=\"剧情\"><a href=\"#剧情\" class=\"headerlink\" title=\"剧情\"></a>剧情</h2><blockquote>\n<ul>\n<li>美丽心灵</li>\n<li>闻香识女人</li>\n<li>追风筝的人</li>\n<li>光辉岁月</li>\n<li>霸王别姬</li>\n<li>天使之城</li>\n<li>保镖</li>\n<li>海上钢琴师</li>\n<li>辛德勒的名单</li>\n<li>西西里的美丽传说</li>\n<li>色戒 2002 主演:古桑 钟丽缇</li>\n</ul>\n</blockquote>\n"},{"title":"RecyclerView的使用","url":"https://bruceyu1994.github.io/2016/11/20/RecyclerView的使用/","content":"<h2 id=\"常见问题\"><a href=\"#常见问题\" class=\"headerlink\" title=\"常见问题\"></a>常见问题</h2><h3 id=\"Rendering-Problems\"><a href=\"#Rendering-Problems\" class=\"headerlink\" title=\"Rendering Problems\"></a>Rendering Problems</h3><p>在布局文件中添加 RecyclerView,会出现 Rendering Problems,具体问题如下图所示:</p>\n<center><br><img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/RecycleView/exception.png\" alt=\"Rendering Problems\"><br></center>\n\n<p>详细异常如下:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div><div class=\"line\">24</div></pre></td><td class=\"code\"><pre><div class=\"line\">java.lang.IllegalStateException: Unable to locate mode 0</div><div class=\"line\">\tat android.view.DisplayInfo.findMode(DisplayInfo.java:458)</div><div class=\"line\">\tat android.view.DisplayInfo.getMode(DisplayInfo.java:445)</div><div class=\"line\">\tat android.view.Display.getRefreshRate(Display.java:648)</div><div class=\"line\">\tat android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2392)</div><div class=\"line\">\tat android.view.View.dispatchAttachedToWindow(View.java:15392)</div><div class=\"line\">\tat android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2953)</div><div class=\"line\">\tat android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)</div><div class=\"line\">\tat android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)</div><div class=\"line\">\tat android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)</div><div class=\"line\">\tat android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)</div><div class=\"line\">\tat android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42)</div><div class=\"line\">\tat com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:333)</div><div class=\"line\">\tat com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)</div><div class=\"line\">\tat com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)</div><div class=\"line\">\tat com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548)</div><div class=\"line\">\tat com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533)</div><div class=\"line\">\tat com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966)</div><div class=\"line\">\tat com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533)</div><div class=\"line\">\tat com.android.tools.idea.rendering.RenderTask.lambda$inflate$53(RenderTask.java:659)</div><div class=\"line\">\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)</div><div class=\"line\">\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div class=\"line\">\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div class=\"line\">\tat java.lang.Thread.run(Thread.java:745)</div></pre></td></tr></table></figure>\n<p>我的工程中的 build.gradle dependencies如下:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\">compile 'com.android.support:appcompat-v7:25.0.0'</div><div class=\"line\">compile 'com.android.support:recyclerview-v7:25.0.0'</div></pre></td></tr></table></figure>\n<p>改为如下即可解决问题,貌似是25.0.0的bug</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\">compile 'com.android.support:appcompat-v7:25.0.1'</div><div class=\"line\">compile 'com.android.support:recyclerview-v7:25.0.1'</div></pre></td></tr></table></figure>\n<p>Sync Now 之后,问题完美解决</p>\n<p><a href=\"http://stackoverflow.com/questions/40161934/exception-raised-during-rendering-unable-to-locate-mode-0\" target=\"_blank\" rel=\"external\">参考网址</a></p>\n"},{"title":"EndNote使用","url":"https://bruceyu1994.github.io/2016/11/20/EndNote使用/","content":"<blockquote>\n<p>提示:本文以Word2016 和 EndNote7 爲例,默認你已經安裝好EndNote,如果沒有,請先將EndNote安裝好,再繼續閲讀這篇文章</p>\n</blockquote>\n<h2 id=\"导入文献\"><a href=\"#导入文献\" class=\"headerlink\" title=\"导入文献\"></a>导入文献</h2><p>首先將需要參考的文獻導入到EndNote,文件 → 导入 → 文件夹</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/import_dir.jpg\" alt=\"import directory\"><br></center>\n\n<p>出现导入文件夹对话框,如下所示。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/import_select.jpg\" alt=\"导入文件夹对话框\"><br></center>\n\n<p>点击选择按钮,选择的文献所在的文件夹</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/import_select_dir.jpg\" alt=\"选择文献所在文件夹\"><br></center>\n\n<p>选择好之后,点击确定,回到“导入文件夹”对话框,点击“导入”按钮,即可完成文献导入,如下图所示。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/click_import.jpg\" alt=\"click import\"><br></center>\n\n<p>如下為导入结果</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/import_result.jpg\" alt=\"import result\"><br></center>\n\n<h2 id=\"修改文献格式\"><a href=\"#修改文献格式\" class=\"headerlink\" title=\"修改文献格式\"></a>修改文献格式</h2><p>有时候,可能因为文献格式的原因,导出的结果并不理想,如上图,导出的标题莫名其妙含有尖括号,作者栏没有内容等,我们需要手动对其进行修改。</p>\n<p>如图,选中对应的文献,将title两边的尖括号(<>)删除</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/manual_modify.jpg\" alt=\"手动修改\"><br></center>\n\n<p>修改好之后,然后点击其他文献,会提示你是否保存修改,点击确定按钮即可完成保存,如下图所示。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/ask_save.jpg\" alt=\"是否保存修改\"><br></center>\n\n<p>同样,你同时也可以手动添加或修改Author, Journal等其他信息。</p>\n<p>修改好文献格式后,你就可以在Word中随性地引用文献了。</p>\n<h2 id=\"插入引用\"><a href=\"#插入引用\" class=\"headerlink\" title=\"插入引用\"></a>插入引用</h2><p>在Word中,将光标定位到需要引用文献的地方,点击 Insert Citation 按钮,如下图所示</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/click_insert_citation.jpg\" alt=\"Insert Citation\"><br></center>\n\n<p>如下图所示,跳出文献搜索对话框,在输入框中输入你导入的文献的名称,点击“Find”按钮,即可搜索到你要引用的文献。点击选中对应的文献,点击“Insert”按钮,即可完成引用。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/click_insert_button.jpg\" alt=\"点击插入按钮\"><br></center>\n\n\n<p>文中的引用结果如下:</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/insert_citation_result.jpg\" alt=\"文中的引用结果\"><br></center>\n\n<p>此时,你会发现论文的末尾会有一条刚引用的文献,如下图所示。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/insert_citation_result2.jpg\" alt=\"文中的引用结果\"><br></center>\n\n<h2 id=\"设置引用样式\"><a href=\"#设置引用样式\" class=\"headerlink\" title=\"设置引用样式\"></a>设置引用样式</h2><p>做到这里,很多读者可能会说,怎么跟我的引用结果不一样,我的引用编号中没有中括号呀,别急,继续往下看,你会发现很神奇的事情。下面就是见证奇迹的时刻了[坏笑]</p>\n<h3 id=\"设置引用列表布局样式\"><a href=\"#设置引用列表布局样式\" class=\"headerlink\" title=\"设置引用列表布局样式\"></a>设置引用列表布局样式</h3><p>一般 Endnote 的默认样式,不是我们想要的样式,这时我们需要手动进行引用样式的修改。我用的样式时Nature样式,具体可通过下拉菜单进行选择,点击“选择另一个样式”,找到Nature,选择即可。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/select_citation_style.jpg\" alt=\"选择另一个样式\"><br></center>\n\n<p>点击编辑 → 输出样式 → 编辑”Nature”, 选择 参考文献 → 布局;默认布局如下</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/reference_layout.jpg\" alt=\"引用默认布局\"><br></center>\n\n<p>将Bibliography Number前后加上中括号,即“[Bibliography Number]”, 并将其后面的制表符删除,换成2个空格,因为制表符会比较宽,在word中并不美观。编辑结果如下图所示:</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/reference_layout_modify_result.jpg\" alt=\"修改引用布局\"><br></center>\n\n<p>点击右上角的叉号</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/click_cross_button.jpg\" alt=\"点击右上角叉\"><br></center>\n\n<p>提示你是否保存之前的修改,点击是,EndNote 跳出重命名对话框,默认 “Nature 复制”,点击保存即可。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/ask_save_style.jpg\" alt=\"保存修改样式\"><br></center>\n\n<p>然后在word中选择,EndNote工具栏 → Style → Select Another Style, 选择新保存的”Nature 复制”样式,这时你会发现,文章最后的引用文献列表已经发生了变化。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/switch_word_refrence_style.jpg\" alt=\"word中切换EndNote样式\"><br></center>\n\n<h3 id=\"设置文中引用处编号样式\"><a href=\"#设置文中引用处编号样式\" class=\"headerlink\" title=\"设置文中引用处编号样式\"></a>设置文中引用处编号样式</h3><p>细心的读者可能会发现,文章中引用处的编号没有中括号“[]”,如下所示</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/citation_no_bracket.jpg\" alt=\"word中切换EndNote样式\"><br></center>\n\n<p>在EndNote中编辑 “Nature 复制”输出样式,选择 “引用” → “模板”,将 Citation 下的 “Bibliography Number”前后添加中括号,即“[Bibliography Number]”,修改结果如下:</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/citation_add_bracket.jpg\" alt=\"引用序号添加中括号\"><br></center>\n\n<p>点击右上角的叉,保存修改,然后在word中更新引用即可。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/update_citations_and_bibliography.jpg\" alt=\"更新引用\"><br></center>\n\n<h3 id=\"引用列表缩进\"><a href=\"#引用列表缩进\" class=\"headerlink\" title=\"引用列表缩进\"></a>引用列表缩进</h3><p>到了这里,有强迫症的同胞可能会发现,如果引用列表中,如果引用过长,第二行会顶格显示,想把该引用的第二行设置悬挂缩进,和第一行对齐,简单,继续往下看。</p>\n<p>将光标定位到引用列表,右击,Edit Citation(s) → More</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/edit_citation_more.jpg\" alt=\"更新引用\"><br></center>\n\n<p>选择 Tools → Format Bibliography</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/tools_format_bibliography.jpg\" alt=\"更新引用\"><br></center>\n\n<p>选择 Layout,设置 Hanging即可,这里我设置的為0.848cm。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/EndNote/layout_hanging.jpg\" alt=\"更新引用\"><br></center>\n\n\n\n\n\n\n"},{"title":"Android开发中的空指针异常","url":"https://bruceyu1994.github.io/2016/11/20/Android开发中的空指针异常/","content":"<h2 id=\"常见空指针异常\"><a href=\"#常见空指针异常\" class=\"headerlink\" title=\"常见空指针异常\"></a>常见空指针异常</h2><h2 id=\"不易发现的空指针异常\"><a href=\"#不易发现的空指针异常\" class=\"headerlink\" title=\"不易发现的空指针异常\"></a>不易发现的空指针异常</h2><h3 id=\"1-TextView-设置内容为整型\"><a href=\"#1-TextView-设置内容为整型\" class=\"headerlink\" title=\"1. TextView 设置内容为整型\"></a>1. TextView 设置内容为整型</h3><p>可能原因:在适配器中(如BaseQuickAdapter),为TextView设置内容为整型。<br>如下為TextView方法簽名:<br><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div></pre></td><td class=\"code\"><pre><div class=\"line\">public final void setText(int resid) {</div><div class=\"line\"> throw new RuntimeException("Stub!");</div><div class=\"line\">}</div></pre></td></tr></table></figure></p>\n<p>儅該方法接收int型参数时,系统会去R文件里面找int值匹配的String值,在R文件里找不到这个值,所以可能会报如下异常:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div><div class=\"line\">24</div><div class=\"line\">25</div><div class=\"line\">26</div><div class=\"line\">27</div><div class=\"line\">28</div><div class=\"line\">29</div><div class=\"line\">30</div><div class=\"line\">31</div><div class=\"line\">32</div><div class=\"line\">33</div><div class=\"line\">34</div><div class=\"line\">35</div><div class=\"line\">36</div><div class=\"line\">37</div><div class=\"line\">38</div><div class=\"line\">39</div><div class=\"line\">40</div><div class=\"line\">41</div><div class=\"line\">42</div><div class=\"line\">43</div><div class=\"line\">44</div><div class=\"line\">45</div><div class=\"line\">46</div><div class=\"line\">47</div><div class=\"line\">48</div><div class=\"line\">49</div><div class=\"line\">50</div><div class=\"line\">51</div><div class=\"line\">52</div><div class=\"line\">53</div><div class=\"line\">54</div><div class=\"line\">55</div><div class=\"line\">56</div><div class=\"line\">57</div><div class=\"line\">58</div><div class=\"line\">59</div><div class=\"line\">60</div></pre></td><td class=\"code\"><pre><div class=\"line\">E/AndroidRuntime: FATAL EXCEPTION: main</div><div class=\"line\">\t Process: com.zhefish.androidtest, PID: 13193</div><div class=\"line\">\t android.content.res.Resources$NotFoundException: String resource ID #0x0</div><div class=\"line\">\t at android.content.res.Resources.getText(Resources.java:312)</div><div class=\"line\">\t at android.widget.TextView.setText(TextView.java:4417)</div><div class=\"line\">\t at com.chad.library.adapter.base.BaseViewHolder.setText(BaseViewHolder.java:102)</div><div class=\"line\">\t at com.zhefish.androidtest.adapter.TestAdapter.convert(TestAdapter.java:24)</div><div class=\"line\">\t at com.zhefish.androidtest.adapter.TestAdapter.convert(TestAdapter.java:16)</div><div class=\"line\">\t at com.chad.library.adapter.base.BaseQuickAdapter.onBindViewHolder(BaseQuickAdapter.java:607)</div><div class=\"line\">\t at com.chad.library.adapter.base.BaseQuickAdapter.onBindViewHolder(BaseQuickAdapter.java:57)</div><div class=\"line\">\t at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6067)</div><div class=\"line\">\t at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6100)</div><div class=\"line\">\t at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5282)</div><div class=\"line\">\t at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5158)</div><div class=\"line\">\t at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2061)</div><div class=\"line\">\t at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1445)</div><div class=\"line\">\t at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1408)</div><div class=\"line\">\t at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:580)</div><div class=\"line\">\t at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3379)</div><div class=\"line\">\t at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3188)</div><div class=\"line\">\t at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3632)</div><div class=\"line\">\t at android.view.View.layout(View.java:16630)</div><div class=\"line\">\t at android.view.ViewGroup.layout(ViewGroup.java:5437)</div><div class=\"line\">\t at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)</div><div class=\"line\">\t at android.view.View.layout(View.java:16630)</div><div class=\"line\">\t at android.view.ViewGroup.layout(ViewGroup.java:5437)</div><div class=\"line\">\t at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)</div><div class=\"line\">\t at android.widget.FrameLayout.onLayout(FrameLayout.java:273)</div><div class=\"line\">\t at android.view.View.layout(View.java:16630)</div><div class=\"line\">\t at android.view.ViewGroup.layout(ViewGroup.java:5437)</div><div class=\"line\">\t at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:437)</div><div class=\"line\">\t at android.view.View.layout(View.java:16630)</div><div class=\"line\">\t at android.view.ViewGroup.layout(ViewGroup.java:5437)</div><div class=\"line\">\t at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)</div><div class=\"line\">\t at android.widget.FrameLayout.onLayout(FrameLayout.java:273)</div><div class=\"line\">\t at android.view.View.layout(View.java:16630)</div><div class=\"line\">\t at android.view.ViewGroup.layout(ViewGroup.java:5437)</div><div class=\"line\">\t at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)</div><div class=\"line\">\t at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)</div><div class=\"line\">\t at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)</div><div class=\"line\">\t at android.view.View.layout(View.java:16630)</div><div class=\"line\">\t at android.view.ViewGroup.layout(ViewGroup.java:5437)</div><div class=\"line\">\t at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)</div><div class=\"line\">\t at android.widget.FrameLayout.onLayout(FrameLayout.java:273)</div><div class=\"line\">\t at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678)</div><div class=\"line\">\t at android.view.View.layout(View.java:16630)</div><div class=\"line\">\t at android.view.ViewGroup.layout(ViewGroup.java:5437)</div><div class=\"line\">\t at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171)</div><div class=\"line\">\t at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931)</div><div class=\"line\">\t at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)</div><div class=\"line\">\t at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)</div><div class=\"line\">\t at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)</div><div class=\"line\">\t at android.view.Choreographer.doCallbacks(Choreographer.java:670)</div><div class=\"line\">\t at android.view.Choreographer.doFrame(Choreographer.java:606)</div><div class=\"line\">\t at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)</div><div class=\"line\">\t at android.os.Handler.handleCallback(Handler.java:739)</div><div class=\"line\">\t at android.os.Handler.dispatchMessage(Handler.java:95)</div><div class=\"line\">\t at android.os.Looper.loop(Looper.java:148)</div><div class=\"line\">\t at android.app.ActivityThread.main(ActivityThread.java:5417)</div><div class=\"line\">\t \tat java.lang.reflect.Method.invoke(Native</div></pre></td></tr></table></figure>\n<p>有时候在做项目时,可能由于项目框架的问题导致该错误会报空指针异常,让你丈二的和尚,摸不着头脑。此时如果真的去找空指针异常,可能就会南辕北辙了。这时,我们应该做减法,将代码一点一点的注释掉进行测试,最终定位到出错的代码,才能以最快的速度找到问题的答案。</p>\n"},{"title":"test","url":"https://bruceyu1994.github.io/2016/10/23/test/","content":"<p>測試博客</p>\n"},{"title":"Fexo","url":"https://bruceyu1994.github.io/2016/10/22/Fexo/","content":"<h2 id=\"简介\"><a href=\"#简介\" class=\"headerlink\" title=\"简介\"></a>简介</h2><p>Fexo是Hexo的一款极简主题之一</p>\n<h2 id=\"自定义Fexo\"><a href=\"#自定义Fexo\" class=\"headerlink\" title=\"自定义Fexo\"></a>自定义Fexo</h2><h3 id=\"添加评论数量显示\"><a href=\"#添加评论数量显示\" class=\"headerlink\" title=\"添加评论数量显示\"></a>添加评论数量显示</h3><h4 id=\"添加显示的代码段\"><a href=\"#添加显示的代码段\" class=\"headerlink\" title=\"添加显示的代码段\"></a>添加显示的代码段</h4><p>首先,确认你的评论系统用的是多说,如果不是,那就不用继续往下看了</p>\n<p>在fexo/layout/_partial/article.esj的header标签内的div标签中添加如下代码:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div></pre></td><td class=\"code\"><pre><div class=\"line\"><% if (theme.duoshuo_shortname){ %></div><div class=\"line\"><i class="icon-comment"></i> </div><div class=\"line\"><span class="ds-thread-count" data-thread-key="<%= url %>"><i class="fa fa-spinner fa-spin"></i></span>条评论</div><div class=\"line\"><% } %></div></pre></td></tr></table></figure>\n<p>尤其注意data-thread-key的设置,它和你之前配置多说的时候是一致的,每篇文章有一个独一无二的key。</p>\n<p>Fexo已经集成了多说,fexo/layout/_partial/component/duoshuo.ejs文件中,我们可以看到</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">data-thread-key="<%= url %>"</div></pre></td></tr></table></figure>\n<p>注:</p>\n<ul>\n<li><p>不是fexo/layout/_partial/duoshuo.ejs文件</p>\n</li>\n<li><p>使用<code>class="fa fa-spinner fa-spin"</code>图标(没加载出来前就显示个菊花转转转),需要引入引入font-awesome字体,在fexo/layout/_partial/head.esj中head标签中添加如下引用</p>\n</li>\n</ul>\n<figure class=\"highlight html\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"tag\"><<span class=\"name\">link</span> <span class=\"attr\">rel</span>=<span class=\"string\">\"stylesheet\"</span> <span class=\"attr\">href</span>=<span class=\"string\">\"//cdn.bootcss.com/font-awesome/4.3.0/css/font-awesome.min.css\"</span>></span></div></pre></td></tr></table></figure>\n<h4 id=\"多说自定义文本设置\"><a href=\"#多说自定义文本设置\" class=\"headerlink\" title=\"多说自定义文本设置\"></a>多说自定义文本设置</h4><p>主要设置三个参数:暂无评论,1条评论,{num}条评论</p>\n<p>设置结果如下所示:</p>\n<center><br><img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/fexo/%25E5%25A4%259A%25E8%25AF%25B4%25E8%2587%25AA%25E5%25AE%259A%25E4%25B9%2589%25E6%2596%2587%25E6%259C%25AC.png\" alt=\"多说自定义文本设置\"><br></center>\n\n<h4 id=\"查看运行结果\"><a href=\"#查看运行结果\" class=\"headerlink\" title=\"查看运行结果\"></a>查看运行结果</h4><center><br><img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/fexo/%25E8%25BF%2590%25E8%25A1%258C%25E7%25BB%2593%25E6%259E%259C01.png\" alt=\"fexo主题添加评论数运行结果01\"><br></center>\n\n<p>发现无法显示访问数,没有达到预期的效果,顿时要崩溃了</p>\n<h4 id=\"一线生机\"><a href=\"#一线生机\" class=\"headerlink\" title=\"一线生机\"></a>一线生机</h4><p>查看多说官方文档,有如下发现:</p>\n<blockquote>\n<p>data-thread-key中:和,即冒号和逗号有特别的用途,请不要使用url或其他有这两个符号的内容作为data-thread-key。</p>\n</blockquote>\n<p><a href=\"http://dev.duoshuo.com/docs/5003ecd94cab3e7250000008\" target=\"_blank\" rel=\"external\">评论框调用代码参数说明</a></p>\n<p>Fexo主题默认的多说data-thread-key是url,包含”:”,这是Fexo主题的一大不足</p>\n<h4 id=\"重拾信心\"><a href=\"#重拾信心\" class=\"headerlink\" title=\"重拾信心\"></a>重拾信心</h4><p>将fexo/layout/_partial/component/duoshuo.ejs文件中data-thread-key改为如下:</p>\n<figure class=\"highlight html\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\"><!-- 多说评论框 start --></span></div><div class=\"line\"><span class=\"tag\"><<span class=\"name\">div</span> <span class=\"attr\">class</span>=<span class=\"string\">\"ds-thread\"</span> <span class=\"attr\">data-thread-key</span>=<span class=\"string\">\"<%= page.layout %>-<%= page.slug %>\"</span> </span></div><div class=\"line\"><span class=\"attr\">data-title</span>=<span class=\"string\">\"<%= page.title %>\"</span> <span class=\"attr\">data-url</span>=<span class=\"string\">\"<%= url %>\"</span>><span class=\"tag\"></<span class=\"name\">div</span>></span></div><div class=\"line\"><span class=\"comment\"><!-- 多说评论框 end --></span></div></pre></td></tr></table></figure>\n<p>将fexo/layout/_partial/article.esj的header标签内的div标签中评论显示代码改为如下:<br><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div></pre></td><td class=\"code\"><pre><div class=\"line\"><% if (theme.duoshuo_shortname){ %></div><div class=\"line\">\t<i class="icon-comment"></i> </div><div class=\"line\">\t<span class="ds-thread-count" data-thread-key="<%= page.layout %>-<%= page.slug %>"></div><div class=\"line\">\t<i class="fa fa-spinner fa-spin"></i></span> 条评论</div><div class=\"line\"><% } %></div></pre></td></tr></table></figure></p>\n<p>运行观察结果,成功!</p>\n<center><br><img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/fexo/%25E8%25BF%2590%25E8%25A1%258C%25E7%25BB%2593%25E6%259E%259C02.png\" alt=\"fexo主题添加评论数运行结果01\"><br></center>\n\n<h3 id=\"添加访问量显示\"><a href=\"#添加访问量显示\" class=\"headerlink\" title=\"添加访问量显示\"></a>添加访问量显示</h3><p>关于访问量统计这事儿,静态博客不太好搞,我找到了这个<a href=\"http://ibruce.info/2015/04/04/busuanzi/\" target=\"_blank\" rel=\"external\">不蒜子</a>,这位非著名码农自己做的访问统计,哈哈,点个赞</p>\n<h4 id=\"安装脚本\"><a href=\"#安装脚本\" class=\"headerlink\" title=\"安装脚本\"></a>安装脚本</h4><p>在fexo/layout/_partial/head.esj文件的head标签中引入不算子js文件</p>\n<figure class=\"highlight html\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"tag\"><<span class=\"name\">script</span> <span class=\"attr\">async</span> <span class=\"attr\">src</span>=<span class=\"string\">\"//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js\"</span>></span><span class=\"undefined\"></span></div><div class=\"line\"><span class=\"tag\"></<span class=\"name\">script</span>></span></div></pre></td></tr></table></figure>\n<h4 id=\"安装标签\"><a href=\"#安装标签\" class=\"headerlink\" title=\"安装标签\"></a>安装标签</h4><p>在fexo/layout/_partial/article.esj的header标签内的div标签中添加如下代码:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div></pre></td><td class=\"code\"><pre><div class=\"line\"><% if (theme.busuanzi){ %></div><div class=\"line\"><i class="fa fa-eye"></i> </div><div class=\"line\"><span id="busuanzi_container_page_pv"></div><div class=\"line\"> &nbsp热度 <span id="busuanzi_value_page_pv"></div><div class=\"line\"> <i class="fa fa-spinner fa-spin"></i></span>℃</div><div class=\"line\"></span></div><div class=\"line\"><% } %></div></pre></td></tr></table></figure>\n<p>注:&nbsp表示空格,是爲了增加”fa fa-eye” icon 與“熱度”的距離</p>\n<h4 id=\"配置\"><a href=\"#配置\" class=\"headerlink\" title=\"配置\"></a>配置</h4><p>hexo/_config.yml添加如下设置:</p>\n<figure class=\"highlight yml\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\"># 不算子 站点访问量及文章访问量统计</span></div><div class=\"line\"><span class=\"attr\">busuanzi:</span> <span class=\"literal\">true</span></div></pre></td></tr></table></figure>\n<p>至此大功告成,运行结果如上图所示!</p>\n<h2 id=\"小技巧\"><a href=\"#小技巧\" class=\"headerlink\" title=\"小技巧\"></a>小技巧</h2><p>如上述的font-awesome字体库,若要查看网址链接的CSS有哪些class icon图标,可以通过开发者工具将CSS文件下载到本地,一般CSS样式是压缩过的,可以用sublime的HTML-CSS-JS Prettify插件,将css代码格式化(只需右击选择HTML/CSS/JS Prettify -> Prettify Code即可),再查找有哪些class icon。</p>\n<h2 id=\"参考链接\"><a href=\"#参考链接\" class=\"headerlink\" title=\"参考链接\"></a>参考链接</h2><ol>\n<li><a href=\"http://bblove.me/2015/05/30/hexo-setting-with-comments-and-visitors/\" target=\"_blank\" rel=\"external\">给hexo配置上评论和访问量</a></li>\n<li><a href=\"http://dev.duoshuo.com/docs/5003ecd94cab3e7250000008\" target=\"_blank\" rel=\"external\">多说官方文档:评论框调用代码参数说明</a></li>\n<li><a href=\"http://ibruce.info/2015/04/04/busuanzi/\" target=\"_blank\" rel=\"external\">不算子</a></li>\n<li><a href=\"https://bruceyu1994.github.io/2016/10/22/Fexo/\">我的博客展示地址</a></li>\n</ol>\n"},{"title":"正則表達式","url":"https://bruceyu1994.github.io/2016/10/16/正則表達式/","content":"<h2 id=\"匹配任意字符\"><a href=\"#匹配任意字符\" class=\"headerlink\" title=\"匹配任意字符\"></a>匹配任意字符</h2><p>使用([\\s\\S]*)</p>\n<p>注:</p>\n<blockquote>\n<p>此不同于(.*),(.*)不匹配换行符\\n, 而\\s匹配任何空白字符,包括空格、制表符、换页符等等,\\S匹配任何非空白字符,合起来,([\\s\\S]*)可匹配任意字符</p>\n</blockquote>\n"},{"title":"Fiddler常見問題","url":"https://bruceyu1994.github.io/2016/10/16/Fiddler常見問題/","content":"<h2 id=\"无法显示会话结果\"><a href=\"#无法显示会话结果\" class=\"headerlink\" title=\"无法显示会话结果\"></a>无法显示会话结果</h2><p>可能是编码原因,一般Fiddler也会提示:</p>\n<blockquote>\n<p>“Response body is encoded. Click to decoded”</p>\n</blockquote>\n<p>只需点击提示按钮即可显示get到的信息,或者选择对应的Session,右击选择“decode selected session”即可。</p>\n"},{"title":"Android基本概念和語法","url":"https://bruceyu1994.github.io/2016/10/16/Android基本概念和語法/","content":"<h2 id=\"1-什么是Intent\"><a href=\"#1-什么是Intent\" class=\"headerlink\" title=\"1. 什么是Intent?\"></a>1. 什么是Intent?</h2><p>Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。</p>\n<h2 id=\"2-什么是Bundle\"><a href=\"#2-什么是Bundle\" class=\"headerlink\" title=\"2. 什么是Bundle?\"></a>2. 什么是Bundle?</h2><p>键值对类</p>\n<h2 id=\"3-Intent如何传递数据?\"><a href=\"#3-Intent如何传递数据?\" class=\"headerlink\" title=\"3. Intent如何传递数据?\"></a>3. Intent如何传递数据?</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div></pre></td><td class=\"code\"><pre><div class=\"line\">//发送端</div><div class=\"line\">Intent intent = new Intent();</div><div class=\"line\">intent.setClass(Login.this, MainActivity.class);</div><div class=\"line\">Bundle bundle = new Bundle();</div><div class=\"line\">bundle.putSerializable("user", user);</div><div class=\"line\">intent.putExtras(bundle);</div><div class=\"line\">this.startActivity(intent);</div><div class=\"line\"></div><div class=\"line\">//接收端</div><div class=\"line\">Intent intent = this.getIntent(); </div><div class=\"line\">user=(User)intent.getSerializableExtra("user");</div></pre></td></tr></table></figure>\n<h2 id=\"4-id不能在string-xml中定义\"><a href=\"#4-id不能在string-xml中定义\" class=\"headerlink\" title=\"4. id不能在string.xml中定义\"></a>4. id不能在string.xml中定义</h2><p>控件id的格式:”@+id/id名”</p>\n<h2 id=\"5-onActivityResult-方法\"><a href=\"#5-onActivityResult-方法\" class=\"headerlink\" title=\"5. onActivityResult()方法\"></a>5. onActivityResult()方法</h2><p>在onActivityResult(int requestCode, int resultCode, Intent data)方法中有现成的Intent,即data,无需通过getIntent获取Intent,再通過Intent獲取數據</p>\n<h2 id=\"6-Android-Studio如何导入jar包\"><a href=\"#6-Android-Studio如何导入jar包\" class=\"headerlink\" title=\"6. Android Studio如何导入jar包\"></a>6. Android Studio如何导入jar包</h2><ol>\n<li>复制你需要添加的jar,并将其黏贴到app –> libs文件夹下</li>\n<li>右键点击新添加的jar,在弹出菜单中点击Add As Library</li>\n</ol>\n<h2 id=\"7-SocketException\"><a href=\"#7-SocketException\" class=\"headerlink\" title=\"7. SocketException\"></a>7. SocketException</h2><p>具體異常:<br>java.net.SocketException: socket failed: EACCES (Permission denied)</p>\n<p>说明:缺少网络访问权限 </p>\n<p>解决方案:<br>在AndroidManifest.xml中添加<br><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\"><uses-permission android:name="android.permission.INTERNET" /></div></pre></td></tr></table></figure></p>\n<h2 id=\"8-添加权限的两种方式\"><a href=\"#8-添加权限的两种方式\" class=\"headerlink\" title=\"8. 添加权限的两种方式\"></a>8. 添加权限的两种方式</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div></pre></td><td class=\"code\"><pre><div class=\"line\">//第一种方式</div><div class=\"line\">< uses-permission android:name =”android.permission.INTERNET” /> </div><div class=\"line\">//第二种方式</div><div class=\"line\">< application android:permission =”android.permission.INTERNET” /></div></pre></td></tr></table></figure>\n<h2 id=\"9-NetworkOnMainThreadException\"><a href=\"#9-NetworkOnMainThreadException\" class=\"headerlink\" title=\"9. NetworkOnMainThreadException\"></a>9. NetworkOnMainThreadException</h2><p>具體異常:<br>android.os.NetworkOnMainThreadException</p>\n<p>说明:不允许在主线程中进行网络访问</p>\n<p>解决方案:将网络访问的操作单独放到一个线程中</p>\n<h2 id=\"10-gbk与gb2312的区别?\"><a href=\"#10-gbk与gb2312的区别?\" class=\"headerlink\" title=\"10. gbk与gb2312的区别?\"></a>10. gbk与gb2312的区别?</h2><p>GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名</p>\n<h2 id=\"11-GridView-表格布局-?\"><a href=\"#11-GridView-表格布局-?\" class=\"headerlink\" title=\"11. GridView(表格布局)?\"></a>11. GridView(表格布局)?</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div></pre></td><td class=\"code\"><pre><div class=\"line\">android:numColumns=”auto_fit” ,GridView的列数设置为自动</div><div class=\"line\">android:columnWidth=”90dp”,每列的宽度,也就是Item的宽度</div><div class=\"line\">android:stretchMode=”columnWidth”,缩放与列宽大小同步</div></pre></td></tr></table></figure>\n<h2 id=\"12-HashMap与Map区别?\"><a href=\"#12-HashMap与Map区别?\" class=\"headerlink\" title=\"12. HashMap与Map区别?\"></a>12. HashMap与Map区别?</h2><p>hashmap是继承map接口的实现类</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\">Map<bluh> map1 = new HashMap<bluh>();</div><div class=\"line\">HashMap<bluh> map2 = new HashMap<bluh>();</div></pre></td></tr></table></figure>\n<p>説明:</p>\n<ol>\n<li>定义为Map之后更灵活 今后才有可能在需要的时候替换为HashMap之外的其它实现如TreeMap等,同时如Joshua Bloch等大师也倡导面向接口编程(code to interfaces)</li>\n<li>有得必有失,第一种的tradeoff就是无法调用HashMap特有的方法</li>\n</ol>\n<h2 id=\"13-SimpleAdapter\"><a href=\"#13-SimpleAdapter\" class=\"headerlink\" title=\"13. SimpleAdapter\"></a>13. SimpleAdapter</h2><p>構造函數:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)</div></pre></td></tr></table></figure>\n<ol>\n<li><p>SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便</p>\n</li>\n<li><p>參數含義</p>\n<ul>\n<li>context:上下文,比如this。关联SimpleAdapter运行的视图上下文</li>\n<li>data:Map列表,列表要显示的数据,这部分需要自己实现,如例子中的getData()类型要与上面的一致,每条项目要与from中指定条目一致</li>\n<li>resource:ListView单项布局文件的Id,这个布局就是你自定义的布局了,你想显示什么样子的布局都在这个布局中。这个佈局中必须包括了to中定义的控件id</li>\n<li>from:一个被添加到Map上关联每一个项目列名称的列表,数组里面是列名称</li>\n<li>to:是一个int数组,数组里面的id是自定义布局中各个控件的id,需要与上面的from对应</li>\n</ul>\n</li>\n</ol>\n<h2 id=\"14-List-ArrayList-LinkedList區別?\"><a href=\"#14-List-ArrayList-LinkedList區別?\" class=\"headerlink\" title=\"14. List, ArrayList, LinkedList區別?\"></a>14. List, ArrayList, LinkedList區別?</h2><ol>\n<li>LinkedList: 双向列表:表中的每个节点都包含了对前一个和后一个元素的引用</li>\n<li>ArrayList和LinkedList的大致区别: <ul>\n<li>ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 </li>\n<li>对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 </li>\n<li>对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 </li>\n<li>List是一个接口 ArrayList是List接口下的一个实现类</li>\n</ul>\n</li>\n</ol>\n<h2 id=\"15-ArrayAdapter和BaseAdapter区别?\"><a href=\"#15-ArrayAdapter和BaseAdapter区别?\" class=\"headerlink\" title=\"15. ArrayAdapter和BaseAdapter区别?\"></a>15. ArrayAdapter和BaseAdapter区别?</h2><p>ArrayAdapter是从BaseAdapter派生出来的,具备BaseAdapter的所有功能,但ArrayAdapter更为强大,它实例化时可以直接使用泛型构造,同时ArrayAdapter可以实现像数组一样的操作</p>\n<h2 id=\"16-final类有什么特别之处?\"><a href=\"#16-final类有什么特别之处?\" class=\"headerlink\" title=\"16. final类有什么特别之处?\"></a>16. final类有什么特别之处?</h2><ul>\n<li>final类不能被继承,没有子类,final类中的方法默认是final的。 </li>\n<li>final方法不能被子类的方法覆盖,但可以被继承。 </li>\n<li>final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 </li>\n<li>final不能用于修饰构造方法。</li>\n<li>final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在final的使用上提供了更大的灵活性,为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。</li>\n<li>当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值。</li>\n</ul>\n<h2 id=\"17-CharSequence与String的区别?\"><a href=\"#17-CharSequence与String的区别?\" class=\"headerlink\" title=\"17. CharSequence与String的区别?\"></a>17. CharSequence与String的区别?</h2><p>String 是java中的字符串,它继承于CharSequence。</p>\n<ul>\n<li><p>拓展</p>\n<p> StringBuilder和StringBuffer都是可变的字符序列。它们都继承于AbstractStringBuilder,实现了CharSequence接口。StringBuilder是非线程安全的,而StringBuffer是线程安全的</p>\n</li>\n</ul>\n<h2 id=\"18-Display-getWidth-和Display-getHeight-已被废弃\"><a href=\"#18-Display-getWidth-和Display-getHeight-已被废弃\" class=\"headerlink\" title=\"18. Display.getWidth()和Display.getHeight()已被废弃\"></a>18. Display.getWidth()和Display.getHeight()已被废弃</h2><p>替代方法:<br><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div></pre></td><td class=\"code\"><pre><div class=\"line\">DisplayMetrics dm = new DisplayMetrics();</div><div class=\"line\">getWindowManager().getDefaultDisplay().getMetrics(dm);</div><div class=\"line\">SCREEN_WIDTH = dm.widthPixels;</div><div class=\"line\">SCREEN_HEIGHT = dm.heightPixels;</div></pre></td></tr></table></figure></p>\n<h2 id=\"19-StringTokenizer是什么类型?\"><a href=\"#19-StringTokenizer是什么类型?\" class=\"headerlink\" title=\"19. StringTokenizer是什么类型?\"></a>19. StringTokenizer是什么类型?</h2><p>用来分隔String的应用类,与split函数相似</p>\n<h2 id=\"20-ListView却没有刷新?\"><a href=\"#20-ListView却没有刷新?\" class=\"headerlink\" title=\"20. ListView却没有刷新?\"></a>20. ListView却没有刷新?</h2><p>ListView中的数据对象始终都只能有一个,不能重新new一个新的List对象</p>\n<h2 id=\"21-注册上下文菜单?\"><a href=\"#21-注册上下文菜单?\" class=\"headerlink\" title=\"21. 注册上下文菜单?\"></a>21. 注册上下文菜单?</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div><div class=\"line\">24</div><div class=\"line\">25</div><div class=\"line\">26</div><div class=\"line\">27</div><div class=\"line\">28</div><div class=\"line\">29</div><div class=\"line\">30</div><div class=\"line\">31</div><div class=\"line\">32</div><div class=\"line\">33</div></pre></td><td class=\"code\"><pre><div class=\"line\">@Override</div><div class=\"line\">public void onCreateContextMenu(ContextMenu menu, View v,</div><div class=\"line\"> ContextMenuInfo menuInfo) {</div><div class=\"line\"> menu.setHeaderIcon(R.drawable.header);</div><div class=\"line\"> switch (v.getId()) {</div><div class=\"line\"> case R.id.editText01:</div><div class=\"line\"> menu.add(0, MENU1, 0, "菜单项1");</div><div class=\"line\"> menu.add(0, MENU2, 0, "菜单项2");</div><div class=\"line\"> menu.add(0, MENU3, 0, "菜单项3");</div><div class=\"line\"> break;</div><div class=\"line\"> case R.id.editText02:</div><div class=\"line\"> menu.add(0, MENU4, 0, "菜单项4");</div><div class=\"line\"> menu.add(0, MENU5, 0, "菜单项5");</div><div class=\"line\"> break;</div><div class=\"line\"> }</div><div class=\"line\"> //super.onCreateContextMenu(menu, v, menuInfo);</div><div class=\"line\">}</div><div class=\"line\"></div><div class=\"line\">@Override</div><div class=\"line\">public boolean onContextItemSelected(MenuItem item) {</div><div class=\"line\"> switch (item.getItemId()) {</div><div class=\"line\"> case MENU1:</div><div class=\"line\"> case MENU2:</div><div class=\"line\"> case MENU3:</div><div class=\"line\"> editText01.append("\\n"+item.getTitle()+"被按下");</div><div class=\"line\"> break;</div><div class=\"line\"> case MENU4:</div><div class=\"line\"> case MENU5:</div><div class=\"line\"> editText02.append("\\n"+item.getTitle()+"被按下");</div><div class=\"line\"> break;</div><div class=\"line\"> }</div><div class=\"line\"> return true;</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<blockquote>\n<p>添加上下文菜单方法:</p>\n<p>方法簽名:public MenuItem add(int groupId, int itemId, int order, CharSequence title)</p>\n<p>参数解析:</p>\n<ul>\n<li>第一个int类型的group ID参数,代表的是组概念,你可以将几个菜单项归为一组,以便更好的以组的方式管理你的菜单按钮。</li>\n<li>第二个int类型的item ID参数,代表的是项目编号。这个参数非常重要,一个item ID对应一个menu中的选项。在后面使用菜单的时候,就靠这个item ID来判断你使用的是哪个选项。</li>\n<li>第三个int类型的order ID参数,代表的是菜单项的显示顺序。默认是0,表示菜单的显示顺序就是按照add的显示顺序来显示。</li>\n<li>第四个String类型的title参数,表示选项中显示的文字。</li>\n</ul>\n</blockquote>\n<h2 id=\"22-Handler怎么用?\"><a href=\"#22-Handler怎么用?\" class=\"headerlink\" title=\"22. Handler怎么用?\"></a>22. Handler怎么用?</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div></pre></td><td class=\"code\"><pre><div class=\"line\">myHandler = new Handler() {</div><div class=\"line\"> @Override</div><div class=\"line\"> public void handleMessage(Message msg) {</div><div class=\"line\"> super.handleMessage(msg);</div><div class=\"line\"> switch (msg.what) {</div><div class=\"line\"> case MESSAGE_UPDATE_UI:</div><div class=\"line\"> do...</div><div class=\"line\"> break;</div><div class=\"line\"> }</div><div class=\"line\"> }</div><div class=\"line\"> };</div><div class=\"line\"></div><div class=\"line\">//发送消息</div><div class=\"line\">Message message = new Message();</div><div class=\"line\">message.what = MESSAGE_UPDATE_UI;</div><div class=\"line\">myHandler.sendMessage(message);</div></pre></td></tr></table></figure>\n<h2 id=\"23-返回键监听实现\"><a href=\"#23-返回键监听实现\" class=\"headerlink\" title=\"23. 返回键监听实现\"></a>23. 返回键监听实现</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div></pre></td><td class=\"code\"><pre><div class=\"line\">@Override</div><div class=\"line\">public boolean onKeyDown(int keyCode, KeyEvent event) {</div><div class=\"line\"> if (keyCode == KeyEvent.KEYCODE_BACK) {</div><div class=\"line\"> doKeyBack();</div><div class=\"line\"> return false;</div><div class=\"line\"> } else {</div><div class=\"line\"> return super.onKeyDown(keyCode, event);</div><div class=\"line\"> }</div><div class=\"line\">}</div><div class=\"line\"></div><div class=\"line\">//注:必须把return super.onKeyDown(keyCode, event)放到else中,或者直接删除,否则重写方法将会无效</div></pre></td></tr></table></figure>\n<h2 id=\"24-subString-begin-end\"><a href=\"#24-subString-begin-end\" class=\"headerlink\" title=\"24. subString(begin,end)\"></a>24. subString(begin,end)</h2><p>説明:返回begin到end-1位置的字符串</p>\n<h2 id=\"25-单例模式\"><a href=\"#25-单例模式\" class=\"headerlink\" title=\"25. 单例模式\"></a>25. 单例模式</h2><p>分类:饿汉式,懒汉式,登记式</p>\n<h2 id=\"26-与SD卡操作有关的权限\"><a href=\"#26-与SD卡操作有关的权限\" class=\"headerlink\" title=\"26. 与SD卡操作有关的权限\"></a>26. 与SD卡操作有关的权限</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div></pre></td><td class=\"code\"><pre><div class=\"line\"><!– 在SDCard中创建与删除文件权限 –></div><div class=\"line\"><uses-permission</div><div class=\"line\">android:name=”android.permission.MOUNT_UNMOUNT_FILESYSTEMS”/></div><div class=\"line\"><!– 往SDCard写入数据权限 –></div><div class=\"line\"><uses-permission</div><div class=\"line\">android:name=”android.permission.WRITE_EXTERNAL_STORAGE”/></div><div class=\"line\"><!– 读取SDCard数据权限 –></div><div class=\"line\"><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /></div></pre></td></tr></table></figure>\n<h2 id=\"27-FileNotFoundException\"><a href=\"#27-FileNotFoundException\" class=\"headerlink\" title=\"27. FileNotFoundException\"></a>27. FileNotFoundException</h2><p>具體異常:</p>\n<blockquote>\n<p>java.io.FileNotFoundException: /storage/emulated/0report-1.doc: open failed: EACCES (Permission denied)<br>Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)</p>\n</blockquote>\n<p>原因:路径问题,Environment.getExternalStorageDirectory().getPath()获得路径结尾不含”/“,所以在構造文件路徑時,需在末尾添加“/”,再連接文件名</p>\n<p>注:涉及到文件传输时,一定要注意路径,很多时候都是因为路径不对才引起异常等错误。</p>\n<h2 id=\"28-Android-Studio-Build失败\"><a href=\"#28-Android-Studio-Build失败\" class=\"headerlink\" title=\"28. Android Studio Build失败\"></a>28. Android Studio Build失败</h2><p>有时Manifest文件有错误,可能会Build失败。出现cannot resolve symbol R 的错误</p>\n<h2 id=\"29-FileNotFoundException\"><a href=\"#29-FileNotFoundException\" class=\"headerlink\" title=\"29. FileNotFoundException\"></a>29. FileNotFoundException</h2><p>具體異常:</p>\n<blockquote>\n<p>java.io.FileNotFoundException: /systemreport-1.doc: open failed: EROFS (Read-only file system)<br>Caused by: android.system.ErrnoException: open failed: EROFS (Read-only file system)</p>\n</blockquote>\n<p>原因:文件夹为只读,檢查文件路徑是否正確</p>\n<h2 id=\"30-选择本地文件?\"><a href=\"#30-选择本地文件?\" class=\"headerlink\" title=\"30. 选择本地文件?\"></a>30. 选择本地文件?</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div><div class=\"line\">24</div><div class=\"line\">25</div><div class=\"line\">26</div><div class=\"line\">27</div><div class=\"line\">28</div><div class=\"line\">29</div><div class=\"line\">30</div><div class=\"line\">31</div><div class=\"line\">32</div><div class=\"line\">33</div><div class=\"line\">34</div><div class=\"line\">35</div><div class=\"line\">36</div><div class=\"line\">37</div><div class=\"line\">38</div><div class=\"line\">39</div><div class=\"line\">40</div><div class=\"line\">41</div><div class=\"line\">42</div><div class=\"line\">43</div><div class=\"line\">44</div><div class=\"line\">45</div><div class=\"line\">46</div><div class=\"line\">47</div><div class=\"line\">48</div><div class=\"line\">49</div><div class=\"line\">50</div><div class=\"line\">51</div><div class=\"line\">52</div><div class=\"line\">53</div><div class=\"line\">54</div><div class=\"line\">55</div><div class=\"line\">56</div><div class=\"line\">57</div><div class=\"line\">58</div></pre></td><td class=\"code\"><pre><div class=\"line\">//调用系统文件选择器选择文件</div><div class=\"line\">private void showFileChooser() {</div><div class=\"line\"> Intent intent = new Intent(Intent.ACTION_GET_CONTENT); </div><div class=\"line\"> intent.setType("*/*"); </div><div class=\"line\"> intent.addCategory(Intent.CATEGORY_OPENABLE);</div><div class=\"line\"> </div><div class=\"line\"> try {</div><div class=\"line\"> startActivityForResult( Intent.createChooser(intent, "Select a File to Upload"), FILE_SELECT_CODE);</div><div class=\"line\"> } catch (android.content.ActivityNotFoundException ex) {</div><div class=\"line\"> Toast.makeText(this, "Please install a File Manager.", Toast.LENGTH_SHORT).show();</div><div class=\"line\"> }</div><div class=\"line\">}</div><div class=\"line\"></div><div class=\"line\">//接收选择的文件</div><div class=\"line\"> @Override</div><div class=\"line\">protected void onActivityResult(int requestCode, int resultCode, Intent data) {</div><div class=\"line\"> super.onActivityResult(requestCode, resultCode, data);</div><div class=\"line\"> switch (requestCode) {</div><div class=\"line\"> case FILE_SELECT_CODE:</div><div class=\"line\"> if (resultCode == RESULT_OK) {</div><div class=\"line\"> // Get the Uri of the selected file</div><div class=\"line\"> Uri uri = data.getData();</div><div class=\"line\"> localPath = FileUtils.getPath(this, uri);</div><div class=\"line\"> Toast.makeText(this, "选择文件成功", Toast.LENGTH_SHORT).show();</div><div class=\"line\"> Message msg = new Message();</div><div class=\"line\"> msg.what = FILE_SELECT_SUCCESS;</div><div class=\"line\"> myHandler.sendMessage(msg);</div><div class=\"line\"> } else {</div><div class=\"line\"> Toast.makeText(this, "选择文件失败", Toast.LENGTH_SHORT).show();</div><div class=\"line\"> }</div><div class=\"line\"> break;</div><div class=\"line\"> }</div><div class=\"line\">}</div><div class=\"line\"></div><div class=\"line\">//FileUtils类</div><div class=\"line\">public class FileUtils {</div><div class=\"line\">\tpublic static String getPath(Context context, Uri uri) {</div><div class=\"line\"></div><div class=\"line\">\t if ("content".equalsIgnoreCase(uri.getScheme())) {</div><div class=\"line\">\t String[] projection = {"_data"};</div><div class=\"line\">\t Cursor cursor = null;</div><div class=\"line\"></div><div class=\"line\">\t try {</div><div class=\"line\">\t cursor = context.getContentResolver().query(uri, projection, null, null, null);</div><div class=\"line\">\t int column_index = cursor.getColumnIndexOrThrow("_data");</div><div class=\"line\">\t if (cursor.moveToFirst()) {</div><div class=\"line\">\t return cursor.getString(column_index);</div><div class=\"line\">\t }</div><div class=\"line\">\t } catch (Exception e) {</div><div class=\"line\">\t // Eat it</div><div class=\"line\">\t }</div><div class=\"line\">\t } else if ("file".equalsIgnoreCase(uri.getScheme())) {</div><div class=\"line\">\t return uri.getPath();</div><div class=\"line\">\t }</div><div class=\"line\"></div><div class=\"line\">\t return null;</div><div class=\"line\">\t}</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<h2 id=\"31-FileOutputStream构造函数?\"><a href=\"#31-FileOutputStream构造函数?\" class=\"headerlink\" title=\"31. FileOutputStream构造函数?\"></a>31. FileOutputStream构造函数?</h2><p>方法簽名:</p>\n<blockquote>\n<p>FileOutputStream(f, append);</p>\n</blockquote>\n<p>参数解析:</p>\n<p>第一个参数是文件对象,第二个参数是是否追加数据;</p>\n<h2 id=\"32-Java如何终止线程?\"><a href=\"#32-Java如何终止线程?\" class=\"headerlink\" title=\"32. Java如何终止线程?\"></a>32. Java如何终止线程?</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div></pre></td><td class=\"code\"><pre><div class=\"line\">@Override</div><div class=\"line\">public void run() {</div><div class=\"line\">\twhile(flag){ // 通过flag控制</div><div class=\"line\">\t/* do your no-block task */</div><div class=\"line\">\t}</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<p>注:Thread中的run()方法,不是start()之后就重复调用run()方法,run()方法也只能运行一次,直到run中的所有方法运行完成</p>\n<h2 id=\"33-double类型保留两位小数\"><a href=\"#33-double类型保留两位小数\" class=\"headerlink\" title=\"33. double类型保留两位小数\"></a>33. double类型保留两位小数</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\">DecimalFormat df = new DecimalFormat("#.00"); </div><div class=\"line\">df.format(doubleValue);</div></pre></td></tr></table></figure>\n<h2 id=\"34-获取本地文件大小\"><a href=\"#34-获取本地文件大小\" class=\"headerlink\" title=\"34. 获取本地文件大小\"></a>34. 获取本地文件大小</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div></pre></td><td class=\"code\"><pre><div class=\"line\">long size = 0;</div><div class=\"line\">try {</div><div class=\"line\"> java.io.File file = new java.io.File(filePath);</div><div class=\"line\"> if (file.exists()) {</div><div class=\"line\"> FileInputStream fis = new FileInputStream(file);</div><div class=\"line\"> size = fis.available();</div><div class=\"line\"> } else {</div><div class=\"line\">\t// file.createNewFile();</div><div class=\"line\"> Log.e("获取文件大小", "文件不存在!");</div><div class=\"line\"> }</div><div class=\"line\">} catch (IOException e) {</div><div class=\"line\"> e.printStackTrace();</div><div class=\"line\">}</div><div class=\"line\">return size;</div></pre></td></tr></table></figure>\n<h2 id=\"35-LayoutInflater与MenuInflater\"><a href=\"#35-LayoutInflater与MenuInflater\" class=\"headerlink\" title=\"35. LayoutInflater与MenuInflater\"></a>35. LayoutInflater与MenuInflater</h2><ul>\n<li>LayoutInflater: 解析定义在layout下的布局文件</li>\n<li>MenuInflater: 解析定义在menu目录下的菜单布局文件</li>\n</ul>\n<h2 id=\"36-FTPClient库的使用\"><a href=\"#36-FTPClient库的使用\" class=\"headerlink\" title=\"36. FTPClient库的使用\"></a>36. FTPClient库的使用</h2><h3 id=\"36-1-FTPFile获得文件的大小\"><a href=\"#36-1-FTPFile获得文件的大小\" class=\"headerlink\" title=\"36.1 FTPFile获得文件的大小\"></a>36.1 FTPFile获得文件的大小</h3><p>获得文件大小:file.getSize(); </p>\n<h3 id=\"36-2-连接服务器\"><a href=\"#36-2-连接服务器\" class=\"headerlink\" title=\"36.2 连接服务器\"></a>36.2 连接服务器</h3><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">ftpClient.connect("服务器名",端口号);</div></pre></td></tr></table></figure>\n<h3 id=\"36-3-SocketException\"><a href=\"#36-3-SocketException\" class=\"headerlink\" title=\"36.3 SocketException\"></a>36.3 SocketException</h3><p>具體異常:<br>java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)</p>\n<p>说明:应该是过度频繁的请求连接导致</p>\n<p>解决方案:ftpClient.setKeepAlive(true);</p>\n<h3 id=\"36-4-ftp反馈码:\"><a href=\"#36-4-ftp反馈码:\" class=\"headerlink\" title=\"36.4 ftp反馈码:\"></a>36.4 ftp反馈码:</h3><blockquote>\n<p>220 Service ready for new user(新连接的用户的服务已就绪)<br>530 Not logged in.</p>\n</blockquote>\n<h3 id=\"36-5-FTPClient-listFiles-不能获取文件,返回数据为空\"><a href=\"#36-5-FTPClient-listFiles-不能获取文件,返回数据为空\" class=\"headerlink\" title=\"36.5 FTPClient.listFiles()不能获取文件,返回数据为空\"></a>36.5 FTPClient.listFiles()不能获取文件,返回数据为空</h3><p>解决方案:调用FTPClient.listFiles()方法前,先调用FTPClient.enterLocalPassiveMode()<br>enterLocalPassiveMode()的意思是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据</p>\n<h3 id=\"36-6-ftpClient-changeWorkingDirectory-path-切换目录失败\"><a href=\"#36-6-ftpClient-changeWorkingDirectory-path-切换目录失败\" class=\"headerlink\" title=\"36.6 ftpClient.changeWorkingDirectory(path)切换目录失败\"></a>36.6 ftpClient.changeWorkingDirectory(path)切换目录失败</h3><p>可能原因: 路徑不支持中文</p>\n<p>解决方案:</p>\n<blockquote>\n<p>ftpClient.changeWorkingDirectory(new String(currentPath.getBytes(“GBK”),”ISO-8859-1”)) </p>\n</blockquote>\n<ul>\n<li><p>注:</p>\n<ol>\n<li>FTP.DEFAULT_CONTROL_ENCODING = “ISO-8859-1”,可互换</li>\n<li>getBytes(“GBK”)中的参数”GBK”不能省,否则默认是”UTF-8”</li>\n</ol>\n</li>\n</ul>\n<h3 id=\"36-7-ftpClient-listFiles-path\"><a href=\"#36-7-ftpClient-listFiles-path\" class=\"headerlink\" title=\"36.7 ftpClient.listFiles(path)\"></a>36.7 ftpClient.listFiles(path)</h3><p>path参数不支持中文,解决方案同36.6</p>\n"},{"title":"Windows常见问题","url":"https://bruceyu1994.github.io/2016/10/16/Windows常见问题/","content":"<h2 id=\"winxp\"><a href=\"#winxp\" class=\"headerlink\" title=\"winxp\"></a>winxp</h2><p>Windows XP Professional with Service Pack 2 (Simplified Chinese)<br>【key】<code>RT4H2-8WYHG-QKK6K-WWHJ2-9427X</code>(亲测可用)</p>\n<p><a href=\"http://infosec.blog.51cto.com/226250/322152\" target=\"_blank\" rel=\"external\">windows XP SP2 各种版本序列号</a></p>\n<h2 id=\"Win-7\"><a href=\"#Win-7\" class=\"headerlink\" title=\"Win 7\"></a>Win 7</h2><p>Windows 7 Professional with Service Pack 1 (x64) - DVD (Chinese-Simplified)<br>【key】<code>YKHFT-KW986-GK4PY-FDWYH-7TP9F</code>(亲测可用)</p>\n<p><a href=\"https://zhidao.baidu.com/question/2117879197329625547.html\" target=\"_blank\" rel=\"external\">win7 激活密钥</a></p>\n<h2 id=\"win10\"><a href=\"#win10\" class=\"headerlink\" title=\"win10\"></a>win10</h2><h3 id=\"自带中文输入法變繁体了\"><a href=\"#自带中文输入法變繁体了\" class=\"headerlink\" title=\"自带中文输入法變繁体了\"></a>自带中文输入法變繁体了</h3><p>解決方案:Ctrl + Shift + F 快速切换简体和繁体 參考自<a href=\"http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1705417&highlight=\" target=\"_blank\" rel=\"external\">微软极客社区</a></p>\n<h3 id=\"aam-updates-notifier自启\"><a href=\"#aam-updates-notifier自启\" class=\"headerlink\" title=\"aam updates notifier自启\"></a>aam updates notifier自启</h3><p>将Adobe的更新程序启动禁用后,每次开机之后,还是会看到Adobe的更新程序,感觉很是不爽,但又不舍得将软件卸载,很是纠结。后来在网上找到了一篇文章,给了我灵感,原来Adobe有一个任务计划程序,在win10搜索框中输入“任务”2个字,选择任务计划程序,果然有一个名为AdobeAAMUpdater的任务计划,右击将其禁用即可。重启电脑,你会发现该程序不再出现了,顿时觉得整个世界都清静多了(●’◡’●)</p>\n<p><a href=\"http://tvdv.blog.163.com/blog/static/772399920121051159183/\" target=\"_blank\" rel=\"external\">参考自网易博客 - 竹乐谷的日志</a></p>\n<h3 id=\"批量删除文件名中的空格\"><a href=\"#批量删除文件名中的空格\" class=\"headerlink\" title=\"批量删除文件名中的空格\"></a>批量删除文件名中的空格</h3><figure class=\"highlight bat\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div></pre></td><td class=\"code\"><pre><div class=\"line\">@<span class=\"built_in\">echo</span> off&<span class=\"built_in\">setlocal</span> enabledelayedexpansion</div><div class=\"line\"><span class=\"keyword\">for</span> /f \"delims=\" <span class=\"variable\">%%i</span> <span class=\"keyword\">in</span> ('<span class=\"built_in\">dir</span> /s/b *.*') <span class=\"keyword\">do</span> (</div><div class=\"line\"> <span class=\"built_in\">set</span> \"foo=<span class=\"variable\">%%~</span>nxi\"</div><div class=\"line\"> <span class=\"built_in\">set</span> foo=!foo: =!</div><div class=\"line\"> <span class=\"built_in\">set</span> foo=!foo: =!</div><div class=\"line\"> <span class=\"built_in\">ren</span> \"<span class=\"variable\">%%~</span>fi\" \"<span class=\"variable\">!foo!</span>\"</div><div class=\"line\">)</div><div class=\"line\"><span class=\"keyword\">exit</span></div></pre></td></tr></table></figure>\n"},{"title":"Hexo搭建個人博客","url":"https://bruceyu1994.github.io/2016/10/15/Hexo搭建個人博客/","content":"<h2 id=\"搭建個人博客\"><a href=\"#搭建個人博客\" class=\"headerlink\" title=\"搭建個人博客\"></a>搭建個人博客</h2><h3 id=\"環境配置\"><a href=\"#環境配置\" class=\"headerlink\" title=\"環境配置\"></a>環境配置</h3><h4 id=\"安裝Git\"><a href=\"#安裝Git\" class=\"headerlink\" title=\"安裝Git\"></a>安裝Git</h4><h4 id=\"安裝node-js\"><a href=\"#安裝node-js\" class=\"headerlink\" title=\"安裝node.js\"></a>安裝node.js</h4><h3 id=\"配置Github\"><a href=\"#配置Github\" class=\"headerlink\" title=\"配置Github\"></a>配置Github</h3><h3 id=\"安裝Hexo\"><a href=\"#安裝Hexo\" class=\"headerlink\" title=\"安裝Hexo\"></a>安裝Hexo</h3><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ npm install hexo-cli -g</div><div class=\"line\">$ hexo init blog</div><div class=\"line\">$ cd blog</div><div class=\"line\">$ npm install</div></pre></td></tr></table></figure>\n<p>【PS】 <code>hexo init blog</code> 命令执行完后,会在当前目录下生成 blog 目录,blog 目录即为博客所在的目录</p>\n<p><a href=\"http://blog.csdn.net/lzrreach/article/details/52863798\" target=\"_blank\" rel=\"external\">手把手教你使用Hexo + Github Pages搭建个人独立博客</a></p>\n<h3 id=\"部署\"><a href=\"#部署\" class=\"headerlink\" title=\"部署\"></a>部署</h3><h4 id=\"配置\"><a href=\"#配置\" class=\"headerlink\" title=\"配置\"></a>配置</h4><p>blog目录下配置文件作如下修改</p>\n<figure class=\"highlight yml\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"attr\">deploy:</span></div><div class=\"line\"><span class=\"attr\"> type:</span> git</div><div class=\"line\"><span class=\"attr\"> repository:</span> [email protected]:bruceyu1994/bruceyu1994.github.io</div><div class=\"line\"><span class=\"attr\"> branch:</span> master</div></pre></td></tr></table></figure>\n<h4 id=\"安装扩展\"><a href=\"#安装扩展\" class=\"headerlink\" title=\"安装扩展\"></a>安装扩展</h4><p><code>$ npm install hexo-deployer-git --save</code></p>\n<p>现在你就可以执行命令进行部署了</p>\n<h2 id=\"常見問題\"><a href=\"#常見問題\" class=\"headerlink\" title=\"常見問題\"></a>常見問題</h2><h3 id=\"无法识别带-号的标题\"><a href=\"#无法识别带-号的标题\" class=\"headerlink\" title=\"无法识别带#号的标题\"></a>无法识别带#号的标题</h3><p>如执行如下命令:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ hexo n "C#使用"</div></pre></td></tr></table></figure>\n<p>则在_posts文件夹下生成”C-使用”,而不是”C#使用”</p>\n<blockquote>\n<p>貌似衹是文件名不支持#號,title生成沒有問題。</p>\n</blockquote>\n<h3 id=\"themes文件fexo主題无法push到Git服務器\"><a href=\"#themes文件fexo主題无法push到Git服務器\" class=\"headerlink\" title=\"themes文件fexo主題无法push到Git服務器\"></a>themes文件fexo主題无法push到Git服務器</h3><p>具體描述:無法add,執行 <code>git add .</code> 之後還是會提示fexo主題文件夾需要add</p>\n<p>【解決方案】</p>\n<p>将fexo目录下的 .git/ 文件夹删除即可 <code>add</code> 并 <code>push</code></p>\n<h3 id=\"部署時出現錯誤\"><a href=\"#部署時出現錯誤\" class=\"headerlink\" title=\"部署時出現錯誤\"></a>部署時出現錯誤</h3><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ hexo d</div><div class=\"line\">ERROR Deployer not found: git</div></pre></td></tr></table></figure>\n<p>可能原因:git部署工具沒有安裝,執行如下命令即可</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">npm install hexo-deployer-git --save 改了之后执行,然后再部署试试</div></pre></td></tr></table></figure>\n<h3 id=\"启用搜索页面,却无法进行搜索\"><a href=\"#启用搜索页面,却无法进行搜索\" class=\"headerlink\" title=\"启用搜索页面,却无法进行搜索\"></a>启用搜索页面,却无法进行搜索</h3><p>原因:没有安装 hexo-search 插件</p>\n<p>执行如下命令安装hexo-search插件,即可解决</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ npm install hexo-search --save</div></pre></td></tr></table></figure>\n<h3 id=\"warning-LF-will-be-replaced-by-CRLF\"><a href=\"#warning-LF-will-be-replaced-by-CRLF\" class=\"headerlink\" title=\"warning: LF will be replaced by CRLF\"></a>warning: LF will be replaced by CRLF</h3><p>原因:windows中的换行符为 CRLF, 而在Linux下的换行符为LF,所以hexo执行git add . 时出现提示</p>\n<p>解决方案:</p>\n<ol>\n<li>删除你hexo根目录下面的.deploy_git文件夹</li>\n<li>执行 <code>$ git config --global core.autocrlf false</code> //禁用自动转换</li>\n<li><p>重新执行如下命令,发现已没有之前的警告了</p>\n<p> <code>$ hexo clean</code><br> <code>$ hexo d -g</code></p>\n</li>\n<li><p>打开博客网址,进行验证是否成功</p>\n<p> <a href=\"https://www.zhihu.com/question/38219432/answer/123443945\" target=\"_blank\" rel=\"external\">参考链接</a></p>\n</li>\n</ol>\n<p>注:</p>\n<blockquote>\n<p>CRLF表示句尾使用回车换行两个字符(即我们常在Windows编程时使用”\\r\\n”换行)<br>LF表示表示句尾,只使用换行<br>CR表示只使用回车 </p>\n</blockquote>\n<h3 id=\"Permission-denied-publickey\"><a href=\"#Permission-denied-publickey\" class=\"headerlink\" title=\"Permission denied (publickey).\"></a>Permission denied (publickey).</h3><p>部署时执行 <code>hexo d</code> 命令时出现该错误</p>\n<blockquote>\n<p>fatal: Could not read from remote repository.</p>\n</blockquote>\n<p>【Reason】You’ve probably not added a public key to your SSH keys</p>\n<p>生成 publickey ,命令:<code>$ ssh-keygen -t rsa</code>; 然后将 publickey 添加到远程服务器即可。</p>\n<h2 id=\"常用命令\"><a href=\"#常用命令\" class=\"headerlink\" title=\"常用命令\"></a>常用命令</h2>"},{"title":"C#使用","url":"https://bruceyu1994.github.io/2016/10/15/C-使用/","content":"<h2 id=\"1-模拟登陆\"><a href=\"#1-模拟登陆\" class=\"headerlink\" title=\"1. 模拟登陆\"></a>1. 模拟登陆</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div><div class=\"line\">24</div><div class=\"line\">25</div><div class=\"line\">26</div><div class=\"line\">27</div><div class=\"line\">28</div><div class=\"line\">29</div><div class=\"line\">30</div><div class=\"line\">31</div><div class=\"line\">32</div><div class=\"line\">33</div><div class=\"line\">34</div><div class=\"line\">35</div><div class=\"line\">36</div><div class=\"line\">37</div><div class=\"line\">38</div><div class=\"line\">39</div><div class=\"line\">40</div><div class=\"line\">41</div><div class=\"line\">42</div><div class=\"line\">43</div><div class=\"line\">44</div><div class=\"line\">45</div><div class=\"line\">46</div><div class=\"line\">47</div><div class=\"line\">48</div><div class=\"line\">49</div><div class=\"line\">50</div><div class=\"line\">51</div><div class=\"line\">52</div><div class=\"line\">53</div><div class=\"line\">54</div><div class=\"line\">55</div><div class=\"line\">56</div><div class=\"line\">57</div><div class=\"line\">58</div><div class=\"line\">59</div><div class=\"line\">60</div><div class=\"line\">61</div><div class=\"line\">62</div><div class=\"line\">63</div><div class=\"line\">64</div><div class=\"line\">65</div><div class=\"line\">66</div><div class=\"line\">67</div></pre></td><td class=\"code\"><pre><div class=\"line\">HttpWebRequest request = <span class=\"literal\">null</span>; <span class=\"comment\">//提供 WebRequest 类的 HTTP 特定的实现。</span></div><div class=\"line\">HttpWebResponse response = <span class=\"literal\">null</span>; <span class=\"comment\">//提供 WebResponse 类的 HTTP 特定的实现</span></div><div class=\"line\"><span class=\"keyword\">try</span> </div><div class=\"line\">{</div><div class=\"line\"> <span class=\"comment\">//提交的信息,包括用户名和密码等信息</span></div><div class=\"line\"> <span class=\"keyword\">string</span> postdata = <span class=\"string\">\"uid=\"</span> + account + <span class=\"string\">\"&pwd=\"</span> + password;</div><div class=\"line\"> <span class=\"comment\">//抽象类的静态方法可直接调用,初始化新的WebRequest实例化web访问类</span></div><div class=\"line\"> request = (HttpWebRequest)WebRequest.Create(loginUrl);</div><div class=\"line\"> <span class=\"comment\">//request.Credentials:获取或设置请求的身份验证信息;</span></div><div class=\"line\"> <span class=\"comment\">//CredentialCache.DefaultCredentials:获取应用程序的系统凭据,</span></div><div class=\"line\"> <span class=\"comment\">//对于 ASP.NET应用程序,默认凭据是已登录的用户或正被模拟的用户的用户凭据。</span></div><div class=\"line\"> request.Credentials = CredentialCache.DefaultCredentials;</div><div class=\"line\"> request.Method = <span class=\"string\">\"POST\"</span>;<span class=\"comment\">//数据提交方式为POST</span></div><div class=\"line\"></div><div class=\"line\"> <span class=\"comment\">//request.ContentType:获取或设置传入请求的 MIME 内容类型。</span></div><div class=\"line\"> request.ContentType = <span class=\"string\">\"application/x-www-form-urlencoded\"</span>; <span class=\"comment\">//模拟头 </span></div><div class=\"line\"> <span class=\"comment\">//request.AllowAutoRedirect:获取或设置一个值,该值指示请求是否应跟随重定向响应;</span></div><div class=\"line\"> <span class=\"comment\">//如果请求应自动跟随 Internet 资源的重定向响应,则为 true,否则为 false。默认值为 true。</span></div><div class=\"line\"> request.AllowAutoRedirect = <span class=\"literal\">false</span>; <span class=\"comment\">// 不用需自动跳转</span></div><div class=\"line\"></div><div class=\"line\"> <span class=\"comment\">//必须设置CookieContainer存储请求返回的Cookies</span></div><div class=\"line\"> <span class=\"keyword\">if</span> (CookieContainer != <span class=\"literal\">null</span>)</div><div class=\"line\"> {</div><div class=\"line\"> request.CookieContainer = CookieContainer;</div><div class=\"line\"> }</div><div class=\"line\"> <span class=\"keyword\">else</span></div><div class=\"line\"> {</div><div class=\"line\"> request.CookieContainer = <span class=\"keyword\">new</span> CookieContainer();</div><div class=\"line\"> CookieContainer = request.CookieContainer;</div><div class=\"line\"> }</div><div class=\"line\"></div><div class=\"line\"> <span class=\"comment\">//保持TCP连接</span></div><div class=\"line\"> request.KeepAlive = <span class=\"literal\">true</span>;</div><div class=\"line\"> <span class=\"comment\">//提交请求 </span></div><div class=\"line\"> <span class=\"keyword\">byte</span>[] postdatabytes = Encoding.UTF8.GetBytes(postdata); <span class=\"comment\">//对指定字符集进行编码</span></div><div class=\"line\"> request.ContentLength = postdatabytes.Length;</div><div class=\"line\"> Stream stream;</div><div class=\"line\"> stream = request.GetRequestStream(); <span class=\"comment\">//返回一个数据流为HttpWebRequest发送数据</span></div><div class=\"line\"> <span class=\"comment\">//设置POST 数据,向当前流中写入postdatabytes字节序列,其中0为postdatabytes从0开始的字节偏移量</span></div><div class=\"line\"> <span class=\"comment\">//postdatabytes.Length要写入当前流的字节数。</span></div><div class=\"line\"> stream.Write(postdatabytes, <span class=\"number\">0</span>, postdatabytes.Length); </div><div class=\"line\"> stream.Close();</div><div class=\"line\"></div><div class=\"line\"> <span class=\"comment\">//接收响应</span></div><div class=\"line\"> response = (HttpWebResponse)request.GetResponse(); <span class=\"comment\">//返回对 Internet 请求的响应。</span></div><div class=\"line\"> <span class=\"comment\">//获取包含与特定 URI(request.RequestUri) 关联的 Cookie 实例的 CookieCollection。</span></div><div class=\"line\"> response.Cookies = request.CookieContainer.GetCookies(request.RequestUri);</div><div class=\"line\"> CookieCollection cook = response.Cookies;</div><div class=\"line\"> <span class=\"comment\">//返回一个 HTTP Cookie 标头,其中包含表示由分号分隔的与特定 URI 关联的Cookie 实例的字符串。</span></div><div class=\"line\"> <span class=\"keyword\">string</span> strcookieheader = request.CookieContainer.GetCookieHeader(request.RequestUri);</div><div class=\"line\"> CookiesString = strcookieheader;</div><div class=\"line\"> <span class=\"comment\">//取下一次GET跳转地址 </span></div><div class=\"line\"> <span class=\"comment\">//实现一个 TextReader,使其以gb2312编码从字节流中读取字符。</span></div><div class=\"line\"> StreamReader sr = <span class=\"keyword\">new</span> StreamReader(response.GetResponseStream(), Encoding.GetEncoding(<span class=\"string\">\"gb2312\"</span>));</div><div class=\"line\"> <span class=\"keyword\">string</span> content = sr.ReadToEnd(); <span class=\"comment\">//读取来自流的当前位置到结尾的所有字符。</span></div><div class=\"line\"> sr.Close(); <span class=\"comment\">//关闭 StreamReader 对象和基础流,并释放与读取器关联的所有系统资源</span></div><div class=\"line\"> request.Abort(); <span class=\"comment\">//取消对 Internet 资源的请求。</span></div><div class=\"line\"> response.Close(); <span class=\"comment\">//Close 方法关闭响应流,并通过其他请求将释放与重复使用的资源的连接。</span></div><div class=\"line\"> <span class=\"comment\">//依据登陆成功后返回的Page信息,求出下次请求的url</span></div><div class=\"line\"> <span class=\"comment\">//每个网站登陆后加载的Url和顺序不尽相同,以下两步需根据实际情况做特殊处理,从而得到下次请求的URL</span></div><div class=\"line\"> <span class=\"keyword\">string</span>[] substr = content.Split(<span class=\"keyword\">new</span> <span class=\"keyword\">char</span>[] { <span class=\"string\">'\"'</span> });</div><div class=\"line\"> NextRequestUrl = <span class=\"string\">\"http://zcgl.wzu.edu.cn/plat/\"</span> + substr[<span class=\"number\">1</span>]; </div><div class=\"line\">}</div><div class=\"line\"><span class=\"keyword\">catch</span> (WebException ex)</div><div class=\"line\">{</div><div class=\"line\"> MessageBox.Show(<span class=\"keyword\">string</span>.Format(<span class=\"string\">\"登陆时出错,详细信息:{0}\"</span>, ex.Message));</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<p>补充:</p>\n<ul>\n<li>CookieContainer: 装载返回的cookies的容器</li>\n<li><p>form的enctype属性为编码方式,分两种: </p>\n<ol>\n<li><p>application/x-www-form-urlencoded,默认值。action为get时,把form数据转换成一个字串(name1=value1&name2=value2…),append到url后面,用?分割;当action为post时,浏览器把form数据封装到http body中,然后发送到server。 </p>\n</li>\n<li><p>multipart/form-data,type=file时使用,浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。</p>\n</li>\n</ol>\n</li>\n</ul>\n<h2 id=\"2-获取指定页面的内容\"><a href=\"#2-获取指定页面的内容\" class=\"headerlink\" title=\"2. 获取指定页面的内容\"></a>2. 获取指定页面的内容</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div><div class=\"line\">24</div><div class=\"line\">25</div><div class=\"line\">26</div><div class=\"line\">27</div><div class=\"line\">28</div><div class=\"line\">29</div><div class=\"line\">30</div><div class=\"line\">31</div><div class=\"line\">32</div><div class=\"line\">33</div></pre></td><td class=\"code\"><pre><div class=\"line\">HttpWebRequest request = <span class=\"literal\">null</span>;</div><div class=\"line\">HttpWebResponse response = <span class=\"literal\">null</span>;</div><div class=\"line\"><span class=\"keyword\">try</span></div><div class=\"line\">{</div><div class=\"line\"> request = (HttpWebRequest)WebRequest.Create(NextRequestUrl);</div><div class=\"line\"> request.Credentials = CredentialCache.DefaultCredentials;</div><div class=\"line\"> request.Method = <span class=\"string\">\"GET\"</span>;</div><div class=\"line\"> request.KeepAlive = <span class=\"literal\">true</span>;</div><div class=\"line\"> request.Headers.Add(<span class=\"string\">\"Cookie:\"</span> + CookiesString);</div><div class=\"line\"> request.CookieContainer = CookieContainer;</div><div class=\"line\"> request.AllowAutoRedirect = <span class=\"literal\">false</span>;</div><div class=\"line\"> response = (HttpWebResponse)request.GetResponse();</div><div class=\"line\"></div><div class=\"line\"> <span class=\"comment\">//设置cookie </span></div><div class=\"line\"> CookiesString = request.CookieContainer.GetCookieHeader(request.RequestUri);</div><div class=\"line\"> <span class=\"comment\">//取再次跳转链接 </span></div><div class=\"line\"> StreamReader sr = <span class=\"keyword\">new</span> StreamReader(response.GetResponseStream(), Encoding.GetEncoding(<span class=\"string\">\"gb2312\"</span>));</div><div class=\"line\"> <span class=\"keyword\">string</span> ss = sr.ReadToEnd();</div><div class=\"line\"> sr.Close();</div><div class=\"line\"> request.Abort();</div><div class=\"line\"> response.Close();</div><div class=\"line\"></div><div class=\"line\"> <span class=\"comment\">//依据登陆成功后返回的Page信息,求出下次请求的url</span></div><div class=\"line\"> <span class=\"comment\">//每个网站登陆后加载的Url和顺序不尽相同,以下两步需根据实际情况做特殊处理,从而得到下次请求的URL</span></div><div class=\"line\"> <span class=\"comment\">//string[] substr = ss.Split(new char[] { '\"' });</span></div><div class=\"line\"> <span class=\"comment\">//NextRequestUrl = substr[1];</span></div><div class=\"line\"> <span class=\"comment\">//NextRequestUrl = \"http://zcgl.wzu.edu.cn/plat/\" + substr[1];</span></div><div class=\"line\"> ResultHtml = ss;</div><div class=\"line\">}</div><div class=\"line\"><span class=\"keyword\">catch</span> (WebException ex)</div><div class=\"line\">{</div><div class=\"line\"> MessageBox.Show(<span class=\"keyword\">string</span>.Format(<span class=\"string\">\"获取页面HTML信息出错,详细信息:{0}\"</span>, ex.Message));</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<h2 id=\"3-正則匹配\"><a href=\"#3-正則匹配\" class=\"headerlink\" title=\"3. 正則匹配\"></a>3. 正則匹配</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"function\"><span class=\"keyword\">public</span> <span class=\"keyword\">static</span> Instrument <span class=\"title\">GetInstrumentInfo</span>(<span class=\"params\">String InstrumentNum</span>)</span></div><div class=\"line\">{</div><div class=\"line\"> Match m = Regex.Match(str, pattern);</div><div class=\"line\"></div><div class=\"line\"> <span class=\"keyword\">if</span> (m.Success)</div><div class=\"line\"> {</div><div class=\"line\"> Instrument instrument = <span class=\"keyword\">new</span> Instrument();</div><div class=\"line\"> instrument.Number = InstrumentNum;</div><div class=\"line\"> instrument.Unit = m.Groups[<span class=\"number\">1</span>].ToString();</div><div class=\"line\"> instrument.Univalence = m.Groups[<span class=\"number\">2</span>].ToString();</div><div class=\"line\"> instrument.Name = m.Groups[<span class=\"number\">3</span>].ToString();</div><div class=\"line\"> <span class=\"keyword\">return</span> instrument;</div><div class=\"line\"> }</div><div class=\"line\"> <span class=\"keyword\">return</span> <span class=\"literal\">null</span>;</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<h2 id=\"4-用zxing库生成二维码\"><a href=\"#4-用zxing库生成二维码\" class=\"headerlink\" title=\"4. 用zxing库生成二维码\"></a>4. 用zxing库生成二维码</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\">//C#代码</span></div><div class=\"line\"><span class=\"keyword\">using</span> com.google.zxing;</div><div class=\"line\"><span class=\"keyword\">using</span> ByteMatrix = com.google.zxing.common.ByteMatrix;</div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> 生成二维码</span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"></summary></span></span></div><div class=\"line\"><span class=\"function\"><span class=\"keyword\">public</span> <span class=\"keyword\">void</span> <span class=\"title\">CreateQRCode</span>(<span class=\"params\"></span>)</span></div><div class=\"line\">{</div><div class=\"line\"> <span class=\"comment\">//构造二维码内容</span></div><div class=\"line\"> <span class=\"keyword\">string</span> content =</div><div class=\"line\"> Num_columnHeader.Text + <span class=\"string\">\":\"</span> + Info_listView.Items[<span class=\"number\">1</span>].SubItems[<span class=\"number\">0</span>].Text + <span class=\"string\">\"\\n\"</span> +</div><div class=\"line\"> Name_columnHeader.Text + <span class=\"string\">\":\"</span> + Info_listView.Items[<span class=\"number\">1</span>].SubItems[<span class=\"number\">1</span>].Text + <span class=\"string\">\"\\n\"</span> +</div><div class=\"line\"> Person_columnHeader.Text + <span class=\"string\">\":\"</span> + Info_listView.Items[<span class=\"number\">1</span>].SubItems[<span class=\"number\">2</span>].Text + <span class=\"string\">\"\\n\"</span> +</div><div class=\"line\"> Place_columnHeader.Text + <span class=\"string\">\":\"</span> + Info_listView.Items[<span class=\"number\">1</span>].SubItems[<span class=\"number\">3</span>].Text + <span class=\"string\">\"\\n\"</span> +</div><div class=\"line\"> Type_columnHeader.Text + <span class=\"string\">\":\"</span> + Info_listView.Items[<span class=\"number\">1</span>].SubItems[<span class=\"number\">4</span>].Text + <span class=\"string\">\"\\n\"</span> +</div><div class=\"line\"> Univalence_columnHeader.Text + <span class=\"string\">\":\"</span> + Info_listView.Items[<span class=\"number\">1</span>].SubItems[<span class=\"number\">5</span>].Text + <span class=\"string\">\"\\n\"</span> +</div><div class=\"line\"> Date_columnHeader.Text + <span class=\"string\">\":\"</span> + Info_listView.Items[<span class=\"number\">1</span>].SubItems[<span class=\"number\">6</span>].Text;</div><div class=\"line\"></div><div class=\"line\"> ByteMatrix byteMatrix = <span class=\"keyword\">new</span> MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, <span class=\"number\">200</span>, <span class=\"number\">200</span>);</div><div class=\"line\"> Bitmap bitmap = toBitmap(byteMatrix);</div><div class=\"line\"> QRCode_pictureBox.Image = bitmap;</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<h2 id=\"5-用zxing库生成条形码\"><a href=\"#5-用zxing库生成条形码\" class=\"headerlink\" title=\"5. 用zxing库生成条形码\"></a>5. 用zxing库生成条形码</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div><div class=\"line\">24</div><div class=\"line\">25</div><div class=\"line\">26</div><div class=\"line\">27</div><div class=\"line\">28</div><div class=\"line\">29</div><div class=\"line\">30</div><div class=\"line\">31</div><div class=\"line\">32</div><div class=\"line\">33</div><div class=\"line\">34</div><div class=\"line\">35</div><div class=\"line\">36</div><div class=\"line\">37</div><div class=\"line\">38</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> 生成条形码</span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"></summary></span></span></div><div class=\"line\"><span class=\"function\"><span class=\"keyword\">private</span> <span class=\"keyword\">void</span> <span class=\"title\">CreateBarCode</span>(<span class=\"params\"><span class=\"keyword\">string</span> content</span>)</span></div><div class=\"line\">{</div><div class=\"line\"> Regex rg = <span class=\"keyword\">new</span> Regex(<span class=\"string\">@\"^\\d{8}$\"</span>);</div><div class=\"line\"> <span class=\"keyword\">if</span>(rg.IsMatch(content))</div><div class=\"line\"> {</div><div class=\"line\"> ByteMatrix byteMatrix = <span class=\"keyword\">new</span> MultiFormatWriter().encode(content, BarcodeFormat.EAN_8, <span class=\"number\">200</span>, <span class=\"number\">30</span>);</div><div class=\"line\"> Bitmap bitmap = toBitmap(byteMatrix);</div><div class=\"line\"> BarCodeList.Add(bitmap);</div><div class=\"line\"> QRCode_pictureBox.Image = bitmap;</div><div class=\"line\"> }</div><div class=\"line\"> <span class=\"keyword\">else</span></div><div class=\"line\"> {</div><div class=\"line\"> MessageBox.Show(<span class=\"string\">\"非数字,无法生成条形码\"</span>);</div><div class=\"line\"> }</div><div class=\"line\">} </div><div class=\"line\"></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> 生成位图</span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"></summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><param name=\"byteMatrix\"></span><span class=\"doctag\"></param></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><returns></span><span class=\"doctag\"></returns></span></span></div><div class=\"line\"><span class=\"function\"><span class=\"keyword\">private</span> Bitmap <span class=\"title\">toBitmap</span>(<span class=\"params\">ByteMatrix byteMatrix</span>)</span></div><div class=\"line\">{</div><div class=\"line\"> <span class=\"keyword\">int</span> width = byteMatrix.Width;</div><div class=\"line\"> <span class=\"keyword\">int</span> height = byteMatrix.Height;</div><div class=\"line\"> Bitmap bitmap = <span class=\"keyword\">new</span> Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);</div><div class=\"line\"> <span class=\"keyword\">for</span>(<span class=\"keyword\">int</span> i=<span class=\"number\">0</span>; i< width; i++)</div><div class=\"line\"> {</div><div class=\"line\"> <span class=\"keyword\">for</span>(<span class=\"keyword\">int</span> j=<span class=\"number\">0</span>; j < height; j++)</div><div class=\"line\"> {</div><div class=\"line\"> bitmap.SetPixel(i, j, byteMatrix.get_Renamed(i, j) != <span class=\"number\">-1</span> ? ColorTranslator.FromHtml(<span class=\"string\">\"#436EEE\"</span>) : ColorTranslator.FromHtml(<span class=\"string\">\"#C7C7C7\"</span>));</div><div class=\"line\"> }</div><div class=\"line\"> }</div><div class=\"line\"> <span class=\"keyword\">return</span> bitmap;</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<h2 id=\"6-listView顯示信息\"><a href=\"#6-listView顯示信息\" class=\"headerlink\" title=\"6. listView顯示信息\"></a>6. listView顯示信息</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\">//向listView中添加内容</span></div><div class=\"line\">ListViewItem lvi = <span class=\"keyword\">new</span> ListViewItem(str0);</div><div class=\"line\">lvi.SubItems.Add(str1);</div><div class=\"line\">Info_listView.Items.Add(lvi);</div><div class=\"line\"></div><div class=\"line\"><span class=\"comment\">//读取listView列标题内容</span></div><div class=\"line\"><span class=\"keyword\">string</span> str = columnHeader.Text;</div><div class=\"line\"></div><div class=\"line\"><span class=\"comment\">//读取listView中的index1行,index2+1列的内容</span></div><div class=\"line\"><span class=\"keyword\">string</span> str = Info_listView.Items[index1].SubItems[index2].Text;</div></pre></td></tr></table></figure>\n<h2 id=\"7-listView刪除\"><a href=\"#7-listView刪除\" class=\"headerlink\" title=\"7. listView刪除\"></a>7. listView刪除</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\">//删除一条记录</span></div><div class=\"line\"><span class=\"keyword\">if</span> (Info_listView.Items.Count > <span class=\"number\">0</span>)</div><div class=\"line\">{</div><div class=\"line\"> Info_listView.Items.Remove(Info_listView.FocusedItem);</div><div class=\"line\">}</div><div class=\"line\"><span class=\"comment\">//删除多条记录</span></div><div class=\"line\"><span class=\"keyword\">if</span> (Info_listView.Items.Count > <span class=\"number\">0</span>)</div><div class=\"line\">{</div><div class=\"line\"> Info_listView.MultiSelect = <span class=\"literal\">true</span>;</div><div class=\"line\"> <span class=\"keyword\">foreach</span> (ListViewItem item <span class=\"keyword\">in</span> Info_listView.Items)</div><div class=\"line\"> {</div><div class=\"line\"> <span class=\"keyword\">if</span> (item.Selected)</div><div class=\"line\"> item.Remove();</div><div class=\"line\"> }</div><div class=\"line\">}</div><div class=\"line\"><span class=\"comment\">//清空</span></div><div class=\"line\"><span class=\"keyword\">if</span> (Info_listView.Items.Count > <span class=\"number\">0</span>)</div><div class=\"line\">{</div><div class=\"line\"> Info_listView.Items.Clear();</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<h2 id=\"8-listView显示圖片\"><a href=\"#8-listView显示圖片\" class=\"headerlink\" title=\"8. listView显示圖片\"></a>8. listView显示圖片</h2><blockquote>\n<p>listView有5种视图:LargeIcon, SmallIcon, List, Details, Tile<br><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\">//listView显示图片,视图为LargeIcon</span></div><div class=\"line\"><span class=\"function\"><span class=\"keyword\">private</span> <span class=\"keyword\">void</span> <span class=\"title\">showCode</span>(<span class=\"params\"></span>)</span></div><div class=\"line\">{</div><div class=\"line\"> <span class=\"keyword\">if</span> (QRCodeList.Count > <span class=\"number\">0</span>)</div><div class=\"line\"> {</div><div class=\"line\"> <span class=\"comment\">//QRCode_listView属性设置</span></div><div class=\"line\"> QRCode_listView.View = View.LargeIcon;</div><div class=\"line\"> QRCode_listView.LargeImageList = QRCode_imageList;</div><div class=\"line\"> QRCode_listView.BeginUpdate();</div><div class=\"line\"></div><div class=\"line\"> QRCode_listView.LargeImageList.ImageSize = <span class=\"keyword\">new</span> System.Drawing.Size(<span class=\"number\">200</span>, <span class=\"number\">200</span>);</div><div class=\"line\"></div><div class=\"line\"> <span class=\"keyword\">for</span> (<span class=\"keyword\">int</span> i = <span class=\"number\">0</span>; i < QRCodeList.Count; i++)</div><div class=\"line\"> {</div><div class=\"line\"> QRCode_imageList.Images.Add(QRCodeList[i]);</div><div class=\"line\"> ListViewItem lvi = <span class=\"keyword\">new</span> ListViewItem(Info_listView.Items[i].SubItems[<span class=\"number\">0</span>].Text);</div><div class=\"line\"> QRCode_listView.Items.Add(lvi);</div><div class=\"line\"> QRCode_listView.Items[i].ImageIndex = QRCode_imageList.Images.Count - <span class=\"number\">1</span> ;</div><div class=\"line\"> }</div><div class=\"line\"></div><div class=\"line\"> QRCode_listView.EndUpdate();</div><div class=\"line\"> }</div><div class=\"line\">}</div></pre></td></tr></table></figure></p>\n</blockquote>\n<h2 id=\"9-保存图片\"><a href=\"#9-保存图片\" class=\"headerlink\" title=\"9. 保存图片\"></a>9. 保存图片</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div></pre></td><td class=\"code\"><pre><div class=\"line\">FolderBrowserDialog folderDlg = <span class=\"keyword\">new</span> FolderBrowserDialog();</div><div class=\"line\">folderDlg.Description = <span class=\"string\">\"请选择文件夹\"</span>;</div><div class=\"line\"></div><div class=\"line\"><span class=\"keyword\">if</span> (folderDlg.ShowDialog() == DialogResult.OK)</div><div class=\"line\">{</div><div class=\"line\"> <span class=\"keyword\">string</span> path = folderDlg.SelectedPath;</div><div class=\"line\"> <span class=\"keyword\">for</span> (<span class=\"keyword\">int</span> i = <span class=\"number\">0</span>; i < QRCodeList.Count; i++)</div><div class=\"line\"> {</div><div class=\"line\"> QRCodeList[i].Save(path + <span class=\"string\">@\"\\\"</span> + Info_listView.Items[i].SubItems[<span class=\"number\">0</span>].Text + <span class=\"string\">\".bmp\"</span>, System.Drawing.Imaging.ImageFormat.Bmp);</div><div class=\"line\"> }</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<h2 id=\"10-VS2013工程資源文件的保存和使用\"><a href=\"#10-VS2013工程資源文件的保存和使用\" class=\"headerlink\" title=\"10. VS2013工程資源文件的保存和使用\"></a>10. VS2013工程資源文件的保存和使用</h2><p><a href=\"http://blog.csdn.net/mengdong_zy/article/details/8971154\" target=\"_blank\" rel=\"external\">C#将图片保存到资源文件并调用</a></p>\n<h2 id=\"11-網絡請求重定向\"><a href=\"#11-網絡請求重定向\" class=\"headerlink\" title=\"11. 網絡請求重定向\"></a>11. 網絡請求重定向</h2><p>在通过get和post获取网络数据时,如果遇到重定向的网址,一定要把HttpWebRequest的重定向参数值设为true,并重新获取当前页面的Cookie<br><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div></pre></td><td class=\"code\"><pre><div class=\"line\">request.AllowAutoRedirect = <span class=\"literal\">true</span>;</div><div class=\"line\">response = (HttpWebResponse)request.GetResponse();</div><div class=\"line\"><span class=\"comment\">//获取cookie </span></div><div class=\"line\">CookiesString = request.CookieContainer.GetCookieHeader(request.RequestUri);</div></pre></td></tr></table></figure></p>\n<h2 id=\"12-ListView添加checkBox問題\"><a href=\"#12-ListView添加checkBox問題\" class=\"headerlink\" title=\"12. ListView添加checkBox問題\"></a>12. ListView添加checkBox問題</h2><p>取消某一个已选中的项,會取消所有已选中的项,在网上找的参考代码在ItemChecked方法中多了一句代码:<br><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">e.Item.Selected = e.Item.Checked;</div></pre></td></tr></table></figure></p>\n<p>將这句代码的意思应该是把checked的复选框也设制为selected的,注釋該劇代碼就解決了。</p>\n<h2 id=\"13-设置窗体不能拉大或拖小\"><a href=\"#13-设置窗体不能拉大或拖小\" class=\"headerlink\" title=\"13. 设置窗体不能拉大或拖小\"></a>13. 设置窗体不能拉大或拖小</h2><p>將FormBorderStyle設爲为Fix即可,如Fix3D;</p>\n<h2 id=\"14-Base64编码解码\"><a href=\"#14-Base64编码解码\" class=\"headerlink\" title=\"14. Base64编码解码\"></a>14. Base64编码解码</h2><figure class=\"highlight csharp\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div><div class=\"line\">14</div><div class=\"line\">15</div><div class=\"line\">16</div><div class=\"line\">17</div><div class=\"line\">18</div><div class=\"line\">19</div><div class=\"line\">20</div><div class=\"line\">21</div><div class=\"line\">22</div><div class=\"line\">23</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> 編碼</span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"></summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><param name=\"data\"></span>需要編碼的数据<span class=\"doctag\"></param></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><returns></span><span class=\"doctag\"></returns></span></span></div><div class=\"line\"><span class=\"function\"><span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">string</span> <span class=\"title\">Encode</span>(<span class=\"params\"><span class=\"keyword\">string</span> data</span>)</span></div><div class=\"line\">{</div><div class=\"line\"> System.Text.Encoding encode = System.Text.Encoding.UTF8;</div><div class=\"line\"> <span class=\"keyword\">byte</span>[] bytedata = encode.GetBytes(data);</div><div class=\"line\"> <span class=\"keyword\">string</span> result = Convert.ToBase64String(bytedata, <span class=\"number\">0</span>, bytedata.Length);</div><div class=\"line\"> <span class=\"keyword\">return</span> result;</div><div class=\"line\">}</div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> 解碼</span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"></summary></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><param name=\"data\"></span>需要解碼的数据<span class=\"doctag\"></param></span></span></div><div class=\"line\"><span class=\"comment\"><span class=\"doctag\">///</span> <span class=\"doctag\"><returns></span><span class=\"doctag\"></returns></span></span></div><div class=\"line\"><span class=\"function\"><span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">string</span> <span class=\"title\">Decode</span>(<span class=\"params\"><span class=\"keyword\">string</span> data</span>)</span></div><div class=\"line\">{</div><div class=\"line\"> <span class=\"keyword\">byte</span>[] bpath = Convert.FromBase64String(data);</div><div class=\"line\"> <span class=\"keyword\">string</span> result = System.Text.ASCIIEncoding.UTF8.GetString(bpath);</div><div class=\"line\"> <span class=\"keyword\">return</span> result;</div><div class=\"line\">}</div></pre></td></tr></table></figure>\n<p>拓展:<a href=\"http://www.cnblogs.com/chengxiaohui/articles/3951129.html\" target=\"_blank\" rel=\"external\">从原理上搞定编码– Base64编码</a></p>\n"},{"title":"软件开发流程","url":"https://bruceyu1994.github.io/2016/10/15/软件开发流程/","content":"<p><strong><em>参考自<a href=\"http://baike.baidu.com/link?url=cD6VLiJSqMkCLSe-7X6yB5oapMb5aD3_Vgh0PsVGkTaE8pd5rvKXUGEfKpIkZB_xnZyZ1z7Zb9WW5wwnO5mMrCaHgDhu-Nl-k8IQuNeXxyIVEhCHNrxNyrk-84CnGqU44iLJa4F3Vswkm6aYCAYK5a\" target=\"_blank\" rel=\"external\">百度百科</a></em></strong></p>\n<h2 id=\"需求分析\"><a href=\"#需求分析\" class=\"headerlink\" title=\"需求分析\"></a>需求分析</h2><ol>\n<li>了解需求</li>\n<li>大功能</li>\n<li>小功能</li>\n<li>用户群体</li>\n</ol>\n<h2 id=\"系统设计\"><a href=\"#系统设计\" class=\"headerlink\" title=\"系统设计\"></a>系统设计</h2><ol>\n<li>基本处理流程</li>\n<li>系统组织结构</li>\n<li>模块划分</li>\n<li>功能分配</li>\n<li>接口设计</li>\n<li>运行设计</li>\n<li>数据结构设计</li>\n<li>出错处理设计</li>\n</ol>\n<h2 id=\"详细设计\"><a href=\"#详细设计\" class=\"headerlink\" title=\"详细设计\"></a>详细设计</h2><ol>\n<li>算法</li>\n<li>数据结构</li>\n<li>类的层次结构及调用关系</li>\n</ol>\n<blockquote>\n<p>PS: 应当足够详细,能够根据详细设计进行编码</p>\n</blockquote>\n<h2 id=\"编码\"><a href=\"#编码\" class=\"headerlink\" title=\"编码\"></a>编码</h2><ul>\n<li>实现各模块功能</li>\n</ul>\n<blockquote>\n<p>PS: 通常占软件开发1/3的时间</p>\n</blockquote>\n<h2 id=\"测试\"><a href=\"#测试\" class=\"headerlink\" title=\"测试\"></a>测试</h2><ol>\n<li>按照执行方:内部测试/外部测试</li>\n<li>按照测试范围: 模块测试/整体联调</li>\n<li>按照条件: 正常操作情况测试/异常操作情况测试</li>\n<li>按照测试输入范围: 全覆盖测试/抽样测试</li>\n</ol>\n<blockquote>\n<p>PS: 测试同样是项目研发中一个相当重要步骤</p>\n</blockquote>\n<h2 id=\"软件交付\"><a href=\"#软件交付\" class=\"headerlink\" title=\"软件交付\"></a>软件交付</h2><ol>\n<li>目标程序</li>\n<li>数据字典</li>\n<li>《用户使用指南》</li>\n<li>需求报告</li>\n<li>设计报告</li>\n<li>测试报告</li>\n</ol>\n<h2 id=\"验收\"><a href=\"#验收\" class=\"headerlink\" title=\"验收\"></a>验收</h2><h2 id=\"维护\"><a href=\"#维护\" class=\"headerlink\" title=\"维护\"></a>维护</h2><ul>\n<li>需求/环境变化 –> 全部/部分修改</li>\n</ul>\n"},{"title":"Markdown 常见问题","url":"https://bruceyu1994.github.io/2016/10/15/Markdown常见问题/","content":"<h2 id=\"添加图片\"><a href=\"#添加图片\" class=\"headerlink\" title=\"添加图片\"></a>添加图片</h2><ol>\n<li><p>方法一</p>\n<figure class=\"highlight markdown\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"xml\"><span class=\"tag\"><<span class=\"name\">center</span>></span></span></div><div class=\"line\"><span class=\"code\">\t</span></div><div class=\"line\"><span class=\"xml\"><span class=\"tag\"></<span class=\"name\">center</span>></span></span></div></pre></td></tr></table></figure>\n</li>\n<li><p>方法二</p>\n<figure class=\"highlight markdown\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div></pre></td><td class=\"code\"><pre><div class=\"line\"><span class=\"xml\"><span class=\"tag\"><<span class=\"name\">div</span> <span class=\"attr\">align</span>=<span class=\"string\">\"center\"</span>></span></span> </div><div class=\"line\"><span class=\"code\">\t<img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/goldfish.jpg\" alt=\"CSDN图标\" /> </span></div><div class=\"line\"><span class=\"xml\"><span class=\"tag\"></<span class=\"name\">div</span>></span></span></div></pre></td></tr></table></figure>\n</li>\n</ol>\n<h2 id=\"换行\"><a href=\"#换行\" class=\"headerlink\" title=\"换行\"></a>换行</h2><ul>\n<li><code><p></code>:换行并加一行空白行</li>\n<li>连续两个空格会变成一个 <code><br></code></li>\n</ul>\n<p><a href=\"http://lutaf.com/markdown-simple-usage.htm\" target=\"_blank\" rel=\"external\">参考链接</a></p>\n<h2 id=\"Markdown哲学\"><a href=\"#Markdown哲学\" class=\"headerlink\" title=\"Markdown哲学\"></a>Markdown哲学</h2><p>内容與樣式分開,让思绪自由流畅不受阻,让创作回归内容本身。</p>\n<h2 id=\"使用感悟\"><a href=\"#使用感悟\" class=\"headerlink\" title=\"使用感悟\"></a>使用感悟</h2><ul>\n<li>格式越简单越好</li>\n</ul>\n"},{"title":"Gprinter打印机驱动安装及设置","url":"https://bruceyu1994.github.io/2016/10/15/Gprinter打印机驱动安装及设置/","content":"<h2 id=\"驱动安装\"><a href=\"#驱动安装\" class=\"headerlink\" title=\"驱动安装\"></a>驱动安装</h2><ol>\n<li><p>找到驱动文件根目录下的Drivers文件夹并进入,双击“PrnInst.exe”,进入安装向导欢迎界面,如下图所示。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step01.jpg\" alt=\"Step 1\"><br></center>\n</li>\n<li><p>点击“下一步”,进入选项界面,如下图所示</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step02.jpg\" alt=\"Step 1\"><br></center>\n</li>\n<li><p>点击“安装打印机”,进入“选择打印机界面”,如图所示,选择“GP-9034T”,点击“下一步”。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step03.jpg\" alt=\"Step 1\"><br></center>\n</li>\n<li><p>进入打印机名称、端口和语言设置界面,端口选择“USB001”,语言默认简体中文,和名称一样默认,点击完成即可完成安装。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step04.jpg\" alt=\"Step 1\"><br></center>\n\n</li>\n</ol>\n<h2 id=\"驱动设置\"><a href=\"#驱动设置\" class=\"headerlink\" title=\"驱动设置\"></a>驱动设置</h2><ol>\n<li><p>进入系统设备和打印机,右击“Gprinter”打印机,选择“打印机首选项”,进入打印机首选项设置界面,如下图所示;</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step05.jpg\" alt=\"Step 1\"><br></center>\n</li>\n<li><p>在“选项”Tab页面,打印速度设为5cm/s,打印浓度设为9,标签格式选择cm,宽度设为5,高度设为3,点击应用按钮;</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step06.jpg\" alt=\"Step 1\"><br></center>\n</li>\n<li><p>进入高级设置Tab页,感测器类型选择“间距”,介质设置为“缺省设置”,选项选择“撕纸”,点击应用按钮;</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step07.jpg\" alt=\"Step 1\"><br></center>\n</li>\n<li><p>进入“抖动Tab页”,抖动类型选择“无”,点击应用按钮;到此设置完成,点击确定按钮,保存所有设置。</p>\n<center><br> <img src=\"https://coding.net/u/bruceyu1994/p/Images/git/raw/master/Gprinter/PrnInst%2520-%2520Step08.jpg\" alt=\"Step 1\"><br></center>\n</li>\n</ol>\n"},{"title":"Git之旅","url":"https://bruceyu1994.github.io/2016/10/14/Git之旅/","content":"<h2 id=\"git-diff-探究\"><a href=\"#git-diff-探究\" class=\"headerlink\" title=\"git diff 探究\"></a>git diff 探究</h2><blockquote>\n<p>git提交的三大部分: </p>\n<ol>\n<li>working directory(工作目錄,每當修改后,工作目錄的狀態都會改變) </li>\n<li>stage/index file(索引文件,暂存区域块,連接 working directory 和 commit 的橋梁,使用 <code>git add</code> 命令登記后,index file 内容就會改變,與 working directory 同步了) </li>\n<li>commit file(<code>git commit</code> 將 index file 中的内容提交到 commit 中。commit 之後,代碼才進入 git 倉庫)<br>其中 1 屬於工作區,后兩者屬於版本庫<br>版本控制系统 git 使用的是合并格式 diff 的变体</li>\n</ol>\n</blockquote>\n<h3 id=\"1-git-diff\"><a href=\"#1-git-diff\" class=\"headerlink\" title=\"1. git diff\"></a>1. git diff</h3><blockquote>\n<p>显示 working directory 與 index file 的差別</p>\n</blockquote>\n<p><strong><em>注:diff 後面可添加完整“文件路徑+文件名”,可查看某一文件内容額變化,如 <code>git diff ./source/_posts/git之旅.md</code></em></strong></p>\n<h3 id=\"2-git-diff-–cached\"><a href=\"#2-git-diff-–cached\" class=\"headerlink\" title=\"2. git diff –cached\"></a>2. git diff –cached</h3><blockquote>\n<p>顯示 index file 與 commit 的差別 </p>\n</blockquote>\n<h3 id=\"3-git-diff-HEAD\"><a href=\"#3-git-diff-HEAD\" class=\"headerlink\" title=\"3. git diff HEAD\"></a>3. git diff HEAD</h3><blockquote>\n<p>顯示 working directory 與 commit 的差別,這些内容可在執行<code>git commit -a</code>命令時被提交(HEAD 表示當下分支最新的 commit 的版本)</p>\n</blockquote>\n<h3 id=\"4-git-diff-HEAD-–-lib\"><a href=\"#4-git-diff-HEAD-–-lib\" class=\"headerlink\" title=\"4. git diff HEAD – ./lib\"></a>4. git diff HEAD – ./lib</h3><blockquote>\n<p>顯示 working directory 的lib目錄與 commit 之間的差別(當前分支)</p>\n</blockquote>\n<p><strong><em>注:<code>--</code> 前後都有空格</em></strong></p>\n<h3 id=\"5-git-diff-test\"><a href=\"#5-git-diff-test\" class=\"headerlink\" title=\"5. git diff test\"></a>5. git diff test</h3><blockquote>\n<p>顯示 working directory 與”test”分支的差別。可加路徑限定符比較某一文件或目錄</p>\n</blockquote>\n<h3 id=\"6-git-diff-–stat\"><a href=\"#6-git-diff-–stat\" class=\"headerlink\" title=\"6. git diff –stat\"></a>6. git diff –stat</h3><blockquote>\n<p>不看每个文件的详细差别,只统计被改动的文件和行数等</p>\n</blockquote>\n<h2 id=\"git-diff-结果如何查看?\"><a href=\"#git-diff-结果如何查看?\" class=\"headerlink\" title=\"git diff 结果如何查看?\"></a>git diff 结果如何查看?</h2><blockquote>\n<ul>\n<li>第一行 <code>diff --git a/file b/file</code> 表示结果为 git 格式的 diff ,進行比較的是 a 版本(變動前,源文件)的 file 和 b 版本(變動后,目標文件)的 file</li>\n<li>第二行 <code>index e69de29..1747b05 100644</code> 表示兩個版本的 git 哈希值(index 區域的 e69de29 對象與工作目錄區域的 1747b05 對象進行比較,最後 6 位是對象的模式,普通文件, 644 權限)</li>\n<li>—代表源文件</li>\n<li>+++代表目标文件(通常 working directory 中的文件是目标文件)</li>\n<li>空格开头的行是源文件和目标文件中都出现的行</li>\n<li>差异按照差异小结进行组织,每个差异小结的第一行都是定位语句,由<code>@@</code>开头和结尾(如 <code>@@ -0,0 +1,117 @@</code> 表示源文件从第0行开始的0行和目标文件从第1行开始的117行构成一个差异小结)</li>\n</ul>\n</blockquote>\n<h2 id=\"git-撤销修改\"><a href=\"#git-撤销修改\" class=\"headerlink\" title=\"git 撤销修改\"></a>git 撤销修改</h2><p><code>git checkout -- file</code> :直接丢弃工作区某个文件的修改</p>\n<p><a href=\"http://blog.csdn.net/baple/article/details/39640129\" target=\"_blank\" rel=\"external\">参考网址:Git 撤销修改</a></p>\n<h2 id=\"git-取消-commit\"><a href=\"#git-取消-commit\" class=\"headerlink\" title=\"git 取消 commit\"></a>git 取消 commit</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\">git reset --hard <commit_id></div><div class=\"line\">git push origin HEAD --force</div></pre></td></tr></table></figure>\n<blockquote>\n<ul>\n<li><code>git reset --mixed</code> : 默認方式,等同于不帶任何參數的 <code>git reset</code> ,回退到某個版本,只保留源碼,回退 commit 和 index 信息</li>\n<li><code>git reset --soft</code> : 回退到某個版本,只回退 commit 信息,不恢復 index file 一級。若想再次提交,直接 commit</li>\n<li><code>git reset --hard</code> : 徹底回退到某個版本,本地源碼也會變爲上一版本的内容</li>\n</ul>\n</blockquote>\n<p><strong>注:</strong></p>\n<ol>\n<li>HEAD 最近一次提交;</li>\n<li>HEAD^(或HEAD~1,一次類推,上100個版本,即HEAD~100) 上一次提交;</li>\n<li><commit_id> 是每次 commit 的 SHA 值,可用 <code>git log</code> 查看</commit_id></li>\n</ol>\n<h2 id=\"git查看全局配置信息\"><a href=\"#git查看全局配置信息\" class=\"headerlink\" title=\"git查看全局配置信息\"></a>git查看全局配置信息</h2><p>【命令】:<code>git config -l</code></p>\n<h2 id=\"git常见问题\"><a href=\"#git常见问题\" class=\"headerlink\" title=\"git常见问题\"></a>git常见问题</h2><h3 id=\"1-fatal-remote-origin-already-exists\"><a href=\"#1-fatal-remote-origin-already-exists\" class=\"headerlink\" title=\"1. fatal: remote origin already exists\"></a>1. fatal: remote origin already exists</h3><p>运行如下命令时;<br><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ git remote add origin [email protected]:bruceyu1994/blog.git</div><div class=\"line\">fatal: remote origin already exists.</div></pre></td></tr></table></figure></p>\n<ul>\n<li>问题描述:远程origin仓库已经存在</li>\n<li><p>原因:在仓库创建之后,已经执行过此操作</p>\n</li>\n<li><p>解决方案:<a href=\"http://blog.csdn.net/dengjianqiang2011/article/details/9260435\" target=\"_blank\" rel=\"external\">参考网址</a></p>\n</li>\n</ul>\n<ol>\n<li>先输入$ git remote rm origin</li>\n<li>再输入$ git remote add origin [email protected]:bruceyu1994/blog.git</li>\n</ol>\n<h3 id=\"2-warning-LF-will-be-replaced-by-CRLF\"><a href=\"#2-warning-LF-will-be-replaced-by-CRLF\" class=\"headerlink\" title=\"2. warning: LF will be replaced by CRLF\"></a>2. warning: LF will be replaced by CRLF</h3><p>运行如下命令时;<br><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ git add .</div><div class=\"line\">warning: LF will be replaced by CRLF in _config.yml.</div><div class=\"line\">The file will have its original line endings in your working directory.</div></pre></td></tr></table></figure></p>\n<ul>\n<li><p>原因分析:<br>CRLF – Carriage-Return Line-Feed 回车换行<br>就是回车(CR, ASCII 13, \\r) 换行(LF, ASCII 10, \\n)。<br>这两个ACSII字符不会在屏幕有任何输出,但在Windows中广泛使用来标识一行的结束。而在Linux/UNIX系统中只有换行符。<br>也就是说在windows中的换行符为 CRLF, 而在linux下的换行符为:LF<br>当使用git来生成一个工程后,文件中的换行符为LF, 当执行git add .时,系统提示:LF 将被转换成 CRLF</p>\n</li>\n<li><p>解决方案:<a href=\"http://blog.csdn.net/u011935939/article/details/50624791\" target=\"_blank\" rel=\"external\">参考网址</a><br>运行如下命令时;</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">git config core.autocrlf false</div></pre></td></tr></table></figure>\n</li>\n</ul>\n<h3 id=\"3-如何退出編輯模式\"><a href=\"#3-如何退出編輯模式\" class=\"headerlink\" title=\"3. 如何退出編輯模式\"></a>3. 如何退出編輯模式</h3><p>命令模式下输入“ZZ”命令即可</p>\n<h3 id=\"4-執行push命令時出現錯誤\"><a href=\"#4-執行push命令時出現錯誤\" class=\"headerlink\" title=\"4. 執行push命令時出現錯誤\"></a>4. 執行push命令時出現錯誤</h3><p>具體錯誤:</p>\n<blockquote>\n<p>Updates were rejected because the remote contains work that you do</p>\n</blockquote>\n<p>原因:远程仓库比本地版本更新,所以需要先git pull,然后才能git push</p>\n<h3 id=\"5-git-diff-无任何結果輸出\"><a href=\"#5-git-diff-无任何結果輸出\" class=\"headerlink\" title=\"5. git diff 无任何結果輸出\"></a>5. git diff 无任何結果輸出</h3><p>【原因】当前分支没有内容需要提交(排除工作目录内容与暂存区内容相同)。如下,输入 <code>git status</code> 命令,虽然存在 <code>untracked file</code>, 但 <code>nothing added to commit</code>, 即没有需要提交的内容,此情况出现在刚添加一个新文件,且从未对该文件执行 <code>git add</code> 命令。</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ git status</div><div class=\"line\">On branch master</div><div class=\"line\">Your branch is up-to-date with 'origin/master'.</div><div class=\"line\">Untracked files:</div><div class=\"line\"> (use "git add <file>..." to include in what will be committed)</div><div class=\"line\"></div><div class=\"line\"> others/test.md</div><div class=\"line\"></div><div class=\"line\">nothing added to commit but untracked files present (use "git add" to track)</div></pre></td></tr></table></figure>\n<p>【注】一般执行 <code>git commit</code> 命令之后,<code>git diff</code> 命令不会有任何输出。执行 <code>git status</code> 命令,会有如下输出:</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">nothing to commit, working directory clean</div></pre></td></tr></table></figure>\n<p>即工作目录是干净的,没有任何内容需要提交。</p>\n<p><a href=\"http://www.oschina.net/question/1428681_139293?sort=time\" target=\"_blank\" rel=\"external\">参考网址:我用windows msysgit 。在git bash命令窗口中输入git diff 命令为什么没有信息输出</a></p>\n<h3 id=\"6-git-status-输出结果中文乱码\"><a href=\"#6-git-status-输出结果中文乱码\" class=\"headerlink\" title=\"6. git status 输出结果中文乱码\"></a>6. git status 输出结果中文乱码</h3><p>【Reason】在默认设置下,中文文件名在工作区状态输出,查看历史更改概要,以及在补丁文件中,文件名的中文不能正确地显示,而是显示为八进制的字符编码</p>\n<p>配置变量 core.quotepath 设置为 false 可解决问题,具体命令为 <code>git config --global core.quotepath false</code></p>\n<h3 id=\"7-git-pull-进入vim窗口\"><a href=\"#7-git-pull-进入vim窗口\" class=\"headerlink\" title=\"7. git pull 进入vim窗口\"></a>7. git pull 进入vim窗口</h3><p>【解决步骤】</p>\n<blockquote>\n<ul>\n<li>esc 键退出编辑状态</li>\n<li>shift+;(即输入冒号)</li>\n<li>wq!(保存并退出)/q!(不保存直接退出) + 回车</li>\n</ul>\n</blockquote>\n<p>【建议】<br>编辑代码之前先 <code>pull</code> 一下,<code>push</code> 前也 <code>pull</code> 一下,减少不必要的麻烦;<br>也可先保存操作, <code>pull</code> 之后,在回复保存的内容,具体操作如下</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div></pre></td><td class=\"code\"><pre><div class=\"line\">$ git stash</div><div class=\"line\">$ git pull</div><div class=\"line\">$ git stash pop stash@{0}</div></pre></td></tr></table></figure>\n<p>【PS】 <code>git stash list</code> 可查看保存的信息,输出如 <code>stash@{0}: WIP on master: d9b4a59 更新了hexo搭建个人博客</code> ,其中 stash@{0} 为保存的标记</p>\n<p><a href=\"http://www.qingpingshan.com/pc/fwq/132173.html\" target=\"_blank\" rel=\"external\">git pull时出现vim窗口的解决办法</a></p>\n<h3 id=\"8-git-diff-输出结果为中文乱码\"><a href=\"#8-git-diff-输出结果为中文乱码\" class=\"headerlink\" title=\"8. git diff 输出结果为中文乱码\"></a>8. git diff 输出结果为中文乱码</h3><p>如果大部分文件 <code>git diff</code> 结果中文显示正常,只是某些文件中文乱码,最可能的原因是这些文件文字编码有问题,而不是因为某些设置有问题。</p>\n<h2 id=\"更新本地代码\"><a href=\"#更新本地代码\" class=\"headerlink\" title=\"更新本地代码\"></a>更新本地代码</h2><p><code>git pull</code> 拉取代码并合并 = <code>git fech</code> + <code>git merge</code></p>\n<h2 id=\"旅途感想\"><a href=\"#旅途感想\" class=\"headerlink\" title=\"旅途感想\"></a>旅途感想</h2><h3 id=\"2017年1月22日\"><a href=\"#2017年1月22日\" class=\"headerlink\" title=\"2017年1月22日\"></a>2017年1月22日</h3><p>使用 git 工具,應該勤提交代碼,不然有的時候我們修改了多處代碼,一次性 add 進入索引區,在 <code>git commit</code> 時候,使用 <code>-m</code> 參數很難進行準確描述,即使描述清楚了,也會顯得冗長,對於修改的文件來説,描述也不夠專注準確</p>\n<h3 id=\"2017年2月7日\"><a href=\"#2017年2月7日\" class=\"headerlink\" title=\"2017年2月7日\"></a>2017年2月7日</h3><p>积累的过程真快乐^O^ </p>\n"},{"title":"Sublime Text 3常见问题","url":"https://bruceyu1994.github.io/2016/10/14/Sublime-Text-3常见问题/","content":"<h2 id=\"自带代码格式化\"><a href=\"#自带代码格式化\" class=\"headerlink\" title=\"自带代码格式化\"></a>自带代码格式化</h2><p>全选代码,Edit -> Line -> Reindent<br>只是sublime并没有给他赋予快捷键,所以只需加上快捷键即可</p>\n<ul>\n<li>添加快捷键<br>Preference -> Key Bindings - User<br>中括号内添加如下内容;<figure class=\"highlight json\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div></pre></td><td class=\"code\"><pre><div class=\"line\">[</div><div class=\"line\">\t{</div><div class=\"line\">\t\t<span class=\"attr\">\"keys\"</span> :[<span class=\"string\">\"ctrl+shift+f\"</span>],</div><div class=\"line\">\t\t<span class=\"attr\">\"command\"</span>:<span class=\"string\">\"reindent\"</span></div><div class=\"line\">\t}</div><div class=\"line\">]</div></pre></td></tr></table></figure>\n</li>\n</ul>\n<h2 id=\"Sublime-Text3-注册码\"><a href=\"#Sublime-Text3-注册码\" class=\"headerlink\" title=\"Sublime Text3 注册码\"></a>Sublime Text3 注册码</h2><figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div><div class=\"line\">6</div><div class=\"line\">7</div><div class=\"line\">8</div><div class=\"line\">9</div><div class=\"line\">10</div><div class=\"line\">11</div><div class=\"line\">12</div><div class=\"line\">13</div></pre></td><td class=\"code\"><pre><div class=\"line\">—– BEGIN LICENSE —–</div><div class=\"line\">Michael Barnes</div><div class=\"line\">Single User License</div><div class=\"line\">EA7E-821385</div><div class=\"line\">8A353C41 872A0D5C DF9B2950 AFF6F667</div><div class=\"line\">C458EA6D 8EA3C286 98D1D650 131A97AB</div><div class=\"line\">AA919AEC EF20E143 B361B1E7 4C8B7F04</div><div class=\"line\">B085E65E 2F5F5360 8489D422 FB8FC1AA</div><div class=\"line\">93F6323C FD7F7544 3F39C318 D95E6480</div><div class=\"line\">FCCC7561 8A4A1741 68FA4223 ADCEDE07</div><div class=\"line\">200C25BE DBBC4855 C4CFB774 C5EC138C</div><div class=\"line\">0FEC1CEF D9DCECEC D3A5DAD1 01316C36</div><div class=\"line\">—— END LICENSE ——</div></pre></td></tr></table></figure>\n<p><a href=\"http://blog.sina.com.cn/s/blog_7f5571aa0102w3xq.html\" target=\"_blank\" rel=\"external\">sublime text3 注册码</a></p>\n<h2 id=\"Sublime-Text-3-快捷键大全\"><a href=\"#Sublime-Text-3-快捷键大全\" class=\"headerlink\" title=\"Sublime Text 3 快捷键大全\"></a>Sublime Text 3 快捷键大全</h2><blockquote>\n<p>Ctrl+Shift+D → 复制当前行到下一行<br>Ctrl+Shift+K → 删除整行<br>Ctrl+F2 → 添加/删除书签</p>\n</blockquote>\n<p><a href=\"http://www.jb51.net/softjc/180873.html\" target=\"_blank\" rel=\"external\">参考网址:sublime text 3 快捷键大全</a></p>\n<h2 id=\"Sublime-Text-3-常用插件与主题\"><a href=\"#Sublime-Text-3-常用插件与主题\" class=\"headerlink\" title=\"Sublime Text 3 常用插件与主题\"></a>Sublime Text 3 常用插件与主题</h2><h3 id=\"插件\"><a href=\"#插件\" class=\"headerlink\" title=\"插件\"></a>插件</h3><h4 id=\"Package-Control\"><a href=\"#Package-Control\" class=\"headerlink\" title=\"Package Control\"></a>Package Control</h4><blockquote>\n<ul>\n<li>`Ctrl+``调出console</li>\n<li>粘贴以下代码后回车<figure class=\"highlight plain\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div></pre></td><td class=\"code\"><pre><div class=\"line\">import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())</div></pre></td></tr></table></figure>\n</li>\n</ul>\n</blockquote>\n<p><a href=\"http://www.cnblogs.com/Rising/p/3741116.html\" target=\"_blank\" rel=\"external\">参考网址</a></p>\n<h4 id=\"All-Autocomplete\"><a href=\"#All-Autocomplete\" class=\"headerlink\" title=\"All Autocomplete\"></a>All Autocomplete</h4><blockquote>\n<p>让代码自动完成的匹配从所有打开的文件里去匹配,而不是只在当前文件里匹配</p>\n</blockquote>\n<h4 id=\"AutoFileName\"><a href=\"#AutoFileName\" class=\"headerlink\" title=\"AutoFileName\"></a>AutoFileName</h4><blockquote>\n<p>在代码里引用文件时,提供文件名的提示和补全</p>\n</blockquote>\n<h4 id=\"BracketHighlighter\"><a href=\"#BracketHighlighter\" class=\"headerlink\" title=\"BracketHighlighter\"></a>BracketHighlighter</h4><blockquote>\n<p>括号高亮</p>\n</blockquote>\n<h4 id=\"ConvertToUTF8\"><a href=\"#ConvertToUTF8\" class=\"headerlink\" title=\"ConvertToUTF8\"></a>ConvertToUTF8</h4><p>【功能】文件转码成utf-8<br>【简介】通过本插件,您可以编辑并保存目前编码不被 Sublime Text 支持的文件,特别是中日韩用户使用的 GB2312,GBK,BIG5,EUC-KR,EUC-JP ,ANSI等。ConvertToUTF8 同时支持 Sublime Text 2 和 3。</p>\n<h4 id=\"Emmet\"><a href=\"#Emmet\" class=\"headerlink\" title=\"Emmet\"></a>Emmet</h4><blockquote>\n<p>使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度</p>\n</blockquote>\n<h4 id=\"FileDiffs\"><a href=\"#FileDiffs\" class=\"headerlink\" title=\"FileDiffs\"></a>FileDiffs</h4><blockquote>\n<ul>\n<li>【功能】强大的比较代码不同工具</li>\n<li>【简介】比较当前文件与选中的代码、剪切板中代码、另一文件、未保存文件之间的差别。可配置为显示差别在外部比较工具,精确到行。</li>\n</ul>\n</blockquote>\n<h4 id=\"HTML-CSS-JS-Prettify\"><a href=\"#HTML-CSS-JS-Prettify\" class=\"headerlink\" title=\"HTML-CSS-JS Prettify\"></a>HTML-CSS-JS Prettify</h4><blockquote>\n<p>HTML/CSS/JS格式化插件 </p>\n</blockquote>\n<p><a href=\"http://blog.csdn.net/qdujunjie/article/details/38805835\" target=\"_blank\" rel=\"external\">参考网址</a></p>\n<h4 id=\"Markdown-Extended-Monokai-Extended\"><a href=\"#Markdown-Extended-Monokai-Extended\" class=\"headerlink\" title=\"Markdown Extended + Monokai Extended\"></a>Markdown Extended + Monokai Extended</h4><blockquote>\n<p>不错的Markdown主题,支持对多种语言的高亮</p>\n</blockquote>\n<h4 id=\"Markdown-Preview\"><a href=\"#Markdown-Preview\" class=\"headerlink\" title=\"Markdown Preview\"></a>Markdown Preview</h4><blockquote>\n<ul>\n<li>将 Markdown 文档渲染成我们想要的文档格式</li>\n<li>【快捷键】Ctrl + Shift + B</li>\n</ul>\n</blockquote>\n<h4 id=\"OmniMarkupPreviewer\"><a href=\"#OmniMarkupPreviewer\" class=\"headerlink\" title=\"OmniMarkupPreviewer\"></a>OmniMarkupPreviewer</h4><blockquote>\n<ul>\n<li>Markdown 文档渲染,实时在浏览器中预览</li>\n<li>Ctrl+Alt+O: Preview Markup in Browser.</li>\n<li>Ctrl+Alt+X: Export Markup as HTML.</li>\n<li>Ctrl+Alt+C: Copy Markup as HTML.</li>\n</ul>\n</blockquote>\n<h4 id=\"SideBarEnhancements\"><a href=\"#SideBarEnhancements\" class=\"headerlink\" title=\"SideBarEnhancements\"></a>SideBarEnhancements</h4><blockquote>\n<p>侧边栏增强</p>\n</blockquote>\n<h4 id=\"SublimeCodeIntel\"><a href=\"#SublimeCodeIntel\" class=\"headerlink\" title=\"SublimeCodeIntel\"></a>SublimeCodeIntel</h4><blockquote>\n<p>全功能的 Sublime Text 代码智能自动补全引擎</p>\n</blockquote>\n<h4 id=\"MarkdownEditing\"><a href=\"#MarkdownEditing\" class=\"headerlink\" title=\"MarkdownEditing\"></a>MarkdownEditing</h4><blockquote>\n<p>支持Markdown语法高亮;支持Github Favored Markdown语法;自带3个主题;支持 markdown 语法自动补全。</p>\n</blockquote>\n<p>【特性】</p>\n<blockquote>\n<ul>\n<li>跳转到符号定义</li>\n<li>导入自动完成</li>\n<li>函数调用提示</li>\n</ul>\n</blockquote>\n<h3 id=\"主题\"><a href=\"#主题\" class=\"headerlink\" title=\"主题\"></a>主题</h3><h4 id=\"Themr\"><a href=\"#Themr\" class=\"headerlink\" title=\"Themr\"></a>Themr</h4><blockquote>\n<ul>\n<li>主题管理,切换主题的时候,不用自己修改配置文件了,用这个可以方便的切换主题</li>\n<li>Ctrl+F5 切换 theme</li>\n</ul>\n</blockquote>\n<h4 id=\"SoDaReloaded\"><a href=\"#SoDaReloaded\" class=\"headerlink\" title=\"SoDaReloaded\"></a>SoDaReloaded</h4><blockquote>\n<p>Dark and light custom UI themes for Sublime Text 3 optimized for better readability.(拥有暗色和亮色两种自定义UI主题优化阅读)</p>\n</blockquote>\n<h2 id=\"Error\"><a href=\"#Error\" class=\"headerlink\" title=\"Error\"></a>Error</h2><blockquote>\n<p>Error: github API responded in an unfashion way :/</p>\n</blockquote>\n<p>可能是 Markdown Preview 插件出了问题,如果又替代的插件,如 OmniMarkupPreviewer ,将 Markdown Preview 插件卸载就不会有问题了。而且卸载前,每保存一下 sublime 都会卡住,卸载之后就不会卡了。</p>\n<blockquote>\n<p>OmniMarkupPreviwer插件</p>\n</blockquote>\n<p>Ctrl+Alt+O: Preview Markup in Browser. 出现如下错误:</p>\n<p>Error: 404 Not Found</p>\n<p>Sorry, the requested URL ‘<a href=\"http://127.0.0.1:51004/view/28\" target=\"_blank\" rel=\"external\">http://127.0.0.1:51004/view/28</a>‘ caused an error:</p>\n<p>‘buffer_id(28) is not valid (closed or unsupported file format)’</p>\n<p><strong>NOTE:</strong> If you run multiple instances of Sublime Text, you may want to adjust<br>the <code>server_port</code> option in order to get this plugin work again.</p>\n<ul>\n<li>解决方法 <a href=\"http://stackoverflow.com/questions/35798823/omnimarkuppreviewer-404\" target=\"_blank\" rel=\"external\">参考网址</a></li>\n</ul>\n<p>Sublime Text > Preferences > Package Settings > OmniMarkupPreviewer > Settings - User</p>\n<p>paste the following to remove the strikeout package.<br><figure class=\"highlight json\"><table><tr><td class=\"gutter\"><pre><div class=\"line\">1</div><div class=\"line\">2</div><div class=\"line\">3</div><div class=\"line\">4</div><div class=\"line\">5</div></pre></td><td class=\"code\"><pre><div class=\"line\">{</div><div class=\"line\"> <span class=\"attr\">\"renderer_options-MarkdownRenderer\"</span>: {</div><div class=\"line\"> <span class=\"attr\">\"extensions\"</span>: [<span class=\"string\">\"tables\"</span>, <span class=\"string\">\"fenced_code\"</span>, <span class=\"string\">\"codehilite\"</span>]</div><div class=\"line\"> }</div><div class=\"line\">}</div></pre></td></tr></table></figure></p>\n<p><a href=\"http://www.tuicool.com/articles/FR3ma2\" target=\"_blank\" rel=\"external\">Sublime常用插件收集贴</a><br><a href=\"http://www.xuanfengge.com/practical-collection-of-sublime-plug-in.html\" target=\"_blank\" rel=\"external\">实用的sublime插件集合 – sublime推荐必备插件</a><br><a href=\"http://www.tuicool.com/articles/NJrQfub\" target=\"_blank\" rel=\"external\">在 Sublime 中配置 Markdown 环境</a><br><a href=\"http://www.tuicool.com/articles/VZ7Fnm3\" target=\"_blank\" rel=\"external\">Sublime Text3配置使用教程整理</a></p>\n"},{"title":"RSS","url":"https://bruceyu1994.github.io/RSS/index.html","content":""},{"title":"about","url":"https://bruceyu1994.github.io/about/index.html","content":""},{"title":"category","url":"https://bruceyu1994.github.io/category/index.html","content":""},{"title":"","url":"https://bruceyu1994.github.io/css/personal-style.css","content":"@font-face {\n font-family: \"Meiryo\";\n src: url(\"/fonts/Meiryo.eot\");\n /* IE9 */\n src: url(\"/fonts/Meiryo.eot?#iefix\") format(\"embedded-opentype\"), /* IE6-IE8 */\n url(\"/fonts/Meiryo.woff\") format(\"woff\"), /* chrome, firefox */\n url(\"/fonts/Meiryo.ttf\") format(\"truetype\"), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */\n url(\"/fonts/Meiryo.svg#Meiryo\") format(\"svg\");\n /* iOS 4.1- */\n font-style: normal;\n font-weight: normal;\n}\nhtml.page-home {\n /*position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-image: url('/images/bg.jpg');\n background-color: transparent;\n background-size: cover;\n background-position: center center;\n background-repeat: no-repeat;*/\n /*background-image: url('/images/bg.jpg')*/\n\n /*background: linear-gradient( #1abc9c, transparent), linear-gradient( 90deg, skyblue, transparent), linear-gradient( -90deg, coral, transparent);*/\n /*background-blend-mode: screen;*/\n\n /*background: linear-gradient(to left, #5f2c82, #49a09d);*/\n}"},{"title":"link","url":"https://bruceyu1994.github.io/link/index.html","content":""},{"title":"project","url":"https://bruceyu1994.github.io/project/index.html","content":""},{"title":"tag","url":"https://bruceyu1994.github.io/tag/index.html","content":""},{"title":"search","url":"https://bruceyu1994.github.io/search/index.html","content":""}]