﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-</title><link>http://www.blogjava.net/leekiang/</link><description>MDA/MDD/TDD/DDD/DDDDDDD</description><language>zh-cn</language><lastBuildDate>Sat, 11 Apr 2026 20:53:37 GMT</lastBuildDate><pubDate>Sat, 11 Apr 2026 20:53:37 GMT</pubDate><ttl>60</ttl><item><title>java8国际化直接支持的语言列表</title><link>http://www.blogjava.net/leekiang/archive/2017/09/27/432836.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 27 Sep 2017 12:17:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2017/09/27/432836.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/432836.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2017/09/27/432836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/432836.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/432836.html</trackback:ping><description><![CDATA[<div><pre style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;">System.<span style="color:#660e7a;font-weight:bold;font-style:italic;">out</span>.println(<span style="color:#008000;font-weight:bold;">"availableLocales :"</span>+  Locale.<span style="font-style:italic;">getAvailableLocales</span>().<span style="color:#660e7a;font-weight:bold;">length</span>);<br /><br />Locale[] arr=Locale.<span style="font-style:italic;">getAvailableLocales</span>();<br /> Arrays.<span style="font-style:italic;">sort</span>(arr, <span style="color:#000080;font-weight:bold;">new </span><span style="background-color:#7ea9ff;">Comparator</span>&lt;Locale&gt;() {<br />    <span style="color:#808000;">@Override<br /></span> <span style="color:#000080;font-weight:bold;">public int </span>compare(Locale o1, Locale o2) {<br />        <span style="color:#000080;font-weight:bold;">return </span>o1.getLanguage().compareTo(o2.getLanguage());<br />    }<br />});<br /><br /><span style="color:#000080;font-weight:bold;">for</span>(Locale l:arr){<br />    System.<span style="color:#660e7a;font-weight:bold;font-style:italic;">out</span>.println(<span style="color:#008000;font-weight:bold;">"语言:"</span>+  l.getLanguage()+<span style="color:#008000;font-weight:bold;">" 名称:"</span>+l.getDisplayLanguage()<br />            +(StringUtils.<span style="font-style:italic;">isEmpty</span>(l.getDisplayCountry())?<span style="color:#008000;font-weight:bold;">""</span>:(<span style="color:#008000;font-weight:bold;">" 国家:"</span>+ l.getDisplayCountry())) + <span style="color:#008000;font-weight:bold;">" "</span>+l.toString());<br />}</pre>输出如下<br />availableLocales :160</div><div>语言: 名称:</div><div>语言:ar 名称:阿拉伯文 国家:阿拉伯联合酋长国 ar_AE</div><div>语言:ar 名称:阿拉伯文 国家:约旦 ar_JO</div><div>语言:ar 名称:阿拉伯文 国家:叙利亚 ar_SY</div><div>语言:ar 名称:阿拉伯文 国家:巴林 ar_BH</div><div>语言:ar 名称:阿拉伯文 国家:沙特阿拉伯 ar_SA</div><div>语言:ar 名称:阿拉伯文 国家:也门 ar_YE</div><div>语言:ar 名称:阿拉伯文 国家:埃及 ar_EG</div><div>语言:ar 名称:阿拉伯文 国家:苏丹 ar_SD</div><div>语言:ar 名称:阿拉伯文 国家:突尼斯 ar_TN</div><div>语言:ar 名称:阿拉伯文 国家:伊拉克 ar_IQ</div><div>语言:ar 名称:阿拉伯文 国家:摩洛哥 ar_MA</div><div>语言:ar 名称:阿拉伯文 国家:卡塔尔 ar_QA</div><div>语言:ar 名称:阿拉伯文 国家:阿曼 ar_OM</div><div>语言:ar 名称:阿拉伯文 ar</div><div>语言:ar 名称:阿拉伯文 国家:科威特 ar_KW</div><div>语言:ar 名称:阿拉伯文 国家:利比亚 ar_LY</div><div>语言:ar 名称:阿拉伯文 国家:阿尔及利亚 ar_DZ</div><div>语言:ar 名称:阿拉伯文 国家:黎巴嫩 ar_LB</div><div>语言:be 名称:白俄罗斯文 be</div><div>语言:be 名称:白俄罗斯文 国家:白俄罗斯 be_BY</div><div>语言:bg 名称:保加利亚文 bg</div><div>语言:bg 名称:保加利亚文 国家:保加利亚 bg_BG</div><div>语言:ca 名称:加泰罗尼亚文 国家:西班牙 ca_ES</div><div>语言:ca 名称:加泰罗尼亚文 ca</div><div>语言:cs 名称:捷克文 cs</div><div>语言:cs 名称:捷克文 国家:捷克共和国 cs_CZ</div><div>语言:da 名称:丹麦文 国家:丹麦 da_DK</div><div>语言:da 名称:丹麦文 da</div><div>语言:de 名称:德文 de</div><div>语言:de 名称:德文 国家:瑞士 de_CH</div><div>语言:de 名称:德文 国家:奥地利 de_AT</div><div>语言:de 名称:德文 国家:卢森堡 de_LU</div><div>语言:de 名称:德文 国家:德国 de_DE</div><div>语言:de 名称:德文 国家:希腊 de_GR</div><div>语言:el 名称:希腊文 el</div><div>语言:el 名称:希腊文 国家:塞浦路斯 el_CY</div><div>语言:el 名称:希腊文 国家:希腊 el_GR</div><div>语言:en 名称:英文 国家:美国 en_US</div><div>语言:en 名称:英文 国家:新加坡 en_SG</div><div>语言:en 名称:英文 国家:马耳他 en_MT</div><div>语言:en 名称:英文 en</div><div>语言:en 名称:英文 国家:菲律宾 en_PH</div><div>语言:en 名称:英文 国家:新西兰 en_NZ</div><div>语言:en 名称:英文 国家:南非 en_ZA</div><div>语言:en 名称:英文 国家:澳大利亚 en_AU</div><div>语言:en 名称:英文 国家:爱尔兰 en_IE</div><div>语言:en 名称:英文 国家:加拿大 en_CA</div><div>语言:en 名称:英文 国家:印度 en_IN</div><div>语言:en 名称:英文 国家:英国 en_GB</div><div>语言:es 名称:西班牙文 国家:巴拿马 es_PA</div><div>语言:es 名称:西班牙文 国家:委内瑞拉 es_VE</div><div>语言:es 名称:西班牙文 国家:波多黎哥 es_PR</div><div>语言:es 名称:西班牙文 国家:玻利维亚 es_BO</div><div>语言:es 名称:西班牙文 国家:阿根廷 es_AR</div><div>语言:es 名称:西班牙文 国家:萨尔瓦多 es_SV</div><div>语言:es 名称:西班牙文 es</div><div>语言:es 名称:西班牙文 国家:西班牙 es_ES</div><div>语言:es 名称:西班牙文 国家:哥伦比亚 es_CO</div><div>语言:es 名称:西班牙文 国家:巴拉圭 es_PY</div><div>语言:es 名称:西班牙文 国家:厄瓜多尔 es_EC</div><div>语言:es 名称:西班牙文 国家:美国 es_US</div><div>语言:es 名称:西班牙文 国家:危地马拉 es_GT</div><div>语言:es 名称:西班牙文 国家:墨西哥 es_MX</div><div>语言:es 名称:西班牙文 国家:洪都拉斯 es_HN</div><div>语言:es 名称:西班牙文 国家:智利 es_CL</div><div>语言:es 名称:西班牙文 国家:多米尼加共和国 es_DO</div><div>语言:es 名称:西班牙文 国家:古巴 es_CU</div><div>语言:es 名称:西班牙文 国家:乌拉圭 es_UY</div><div>语言:es 名称:西班牙文 国家:哥斯达黎加 es_CR</div><div>语言:es 名称:西班牙文 国家:尼加拉瓜 es_NI</div><div>语言:es 名称:西班牙文 国家:秘鲁 es_PE</div><div>语言:et 名称:爱沙尼亚文 et</div><div>语言:et 名称:爱沙尼亚文 国家:爱沙尼亚 et_EE</div><div>语言:fi 名称:芬兰文 国家:芬兰 fi_FI</div><div>语言:fi 名称:芬兰文 fi</div><div>语言:fr 名称:法文 国家:比利时 fr_BE</div><div>语言:fr 名称:法文 国家:瑞士 fr_CH</div><div>语言:fr 名称:法文 fr</div><div>语言:fr 名称:法文 国家:卢森堡 fr_LU</div><div>语言:fr 名称:法文 国家:法国 fr_FR</div><div>语言:fr 名称:法文 国家:加拿大 fr_CA</div><div>语言:ga 名称:爱尔兰文 ga</div><div>语言:ga 名称:爱尔兰文 国家:爱尔兰 ga_IE</div><div>语言:hi 名称:印地文 国家:印度 hi_IN</div><div>语言:hi 名称:印地文 hi</div><div>语言:hr 名称:克罗地亚文 国家:克罗地亚 hr_HR</div><div>语言:hr 名称:克罗地亚文 hr</div><div>语言:hu 名称:匈牙利文 hu</div><div>语言:hu 名称:匈牙利文 国家:匈牙利 hu_HU</div><div>语言:in 名称:印度尼西亚文 in</div><div>语言:in 名称:印度尼西亚文 国家:印度尼西亚 in_ID</div><div>语言:is 名称:冰岛文 国家:冰岛 is_IS</div><div>语言:is 名称:冰岛文 is</div><div>语言:it 名称:意大利文 it</div><div>语言:it 名称:意大利文 国家:瑞士 it_CH</div><div>语言:it 名称:意大利文 国家:意大利 it_IT</div><div>语言:iw 名称:希伯来文 国家:以色列 iw_IL</div><div>语言:iw 名称:希伯来文 iw</div><div>语言:ja 名称:日文 国家:日本 ja_JP_JP_#u-ca-japanese</div><div>语言:ja 名称:日文 ja</div><div>语言:ja 名称:日文 国家:日本 ja_JP</div><div>语言:ko 名称:朝鲜文 ko</div><div>语言:ko 名称:朝鲜文 国家:韩国 ko_KR</div><div>语言:lt 名称:立陶宛文 lt</div><div>语言:lt 名称:立陶宛文 国家:立陶宛 lt_LT</div><div>语言:lv 名称:拉托维亚文(列托) lv</div><div>语言:lv 名称:拉托维亚文(列托) 国家:拉脱维亚 lv_LV</div><div>语言:mk 名称:马其顿文 mk</div><div>语言:mk 名称:马其顿文 国家:马其顿王国 mk_MK</div><div>语言:ms 名称:马来文 国家:马来西亚 ms_MY</div><div>语言:ms 名称:马来文 ms</div><div>语言:mt 名称:马耳他文 国家:马耳他 mt_MT</div><div>语言:mt 名称:马耳他文 mt</div><div>语言:nl 名称:荷兰文 nl</div><div>语言:nl 名称:荷兰文 国家:荷兰 nl_NL</div><div>语言:nl 名称:荷兰文 国家:比利时 nl_BE</div><div>语言:no 名称:挪威文 国家:挪威 no_NO_NY</div><div>语言:no 名称:挪威文 国家:挪威 no_NO</div><div>语言:no 名称:挪威文 no</div><div>语言:pl 名称:波兰文 国家:波兰 pl_PL</div><div>语言:pl 名称:波兰文 pl</div><div>语言:pt 名称:葡萄牙文 pt</div><div>语言:pt 名称:葡萄牙文 国家:巴西 pt_BR</div><div>语言:pt 名称:葡萄牙文 国家:葡萄牙 pt_PT</div><div>语言:ro 名称:罗马尼亚文 国家:罗马尼亚 ro_RO</div><div>语言:ro 名称:罗马尼亚文 ro</div><div>语言:ru 名称:俄文 国家:俄罗斯 ru_RU</div><div>语言:ru 名称:俄文 ru</div><div>语言:sk 名称:斯洛伐克文 sk</div><div>语言:sk 名称:斯洛伐克文 国家:斯洛伐克 sk_SK</div><div>语言:sl 名称:斯洛文尼亚文 sl</div><div>语言:sl 名称:斯洛文尼亚文 国家:斯洛文尼亚 sl_SI</div><div>语言:sq 名称:阿尔巴尼亚文 sq</div><div>语言:sq 名称:阿尔巴尼亚文 国家:阿尔巴尼亚 sq_AL</div><div>语言:sr 名称:塞尔维亚文 国家:黑山 sr_ME</div><div>语言:sr 名称:塞尔维亚文 国家:波斯尼亚和黑山共和国 sr_BA_#Latn</div><div>语言:sr 名称:塞尔维亚文 国家:塞尔维亚及黑山 sr_CS</div><div>语言:sr 名称:塞尔维亚文 国家:波斯尼亚和黑山共和国 sr_BA</div><div>语言:sr 名称:塞尔维亚文 国家:黑山 sr_ME_#Latn</div><div>语言:sr 名称:塞尔维亚文 sr__#Latn</div><div>语言:sr 名称:塞尔维亚文 国家:塞尔维亚 sr_RS</div><div>语言:sr 名称:塞尔维亚文 sr</div><div>语言:sr 名称:塞尔维亚文 国家:塞尔维亚 sr_RS_#Latn</div><div>语言:sv 名称:瑞典文 国家:瑞典 sv_SE</div><div>语言:sv 名称:瑞典文 sv</div><div>语言:th 名称:泰文 国家:泰国 th_TH</div><div>语言:th 名称:泰文 th</div><div>语言:th 名称:泰文 国家:泰国 th_TH_TH_#u-nu-thai</div><div>语言:tr 名称:土耳其文 tr</div><div>语言:tr 名称:土耳其文 国家:土耳其 tr_TR</div><div>语言:uk 名称:乌克兰文 uk</div><div>语言:uk 名称:乌克兰文 国家:乌克兰 uk_UA</div><div>语言:vi 名称:越南文 国家:越南 vi_VN</div><div>语言:vi 名称:越南文 vi</div><div>语言:zh 名称:中文 国家:台湾地区 zh_TW</div><div>语言:zh 名称:中文 国家:香港 zh_HK</div><div>语言:zh 名称:中文 国家:新加坡 zh_SG</div><div>语言:zh 名称:中文 国家:中国 zh_CN</div><div>语言:zh 名称:中文 zh</div><img src ="http://www.blogjava.net/leekiang/aggbug/432836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2017-09-27 20:17 <a href="http://www.blogjava.net/leekiang/archive/2017/09/27/432836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决引入google map android sdk时遇到的问题</title><link>http://www.blogjava.net/leekiang/archive/2016/12/21/432159.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 20 Dec 2016 16:24:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/12/21/432159.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/432159.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/12/21/432159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/432159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/432159.html</trackback:ping><description><![CDATA[<br />
<pre style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;">repositories{<br />
mavenCentral()<br />
}</pre>
<pre style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;">dependencies {<span style="color:#008000;font-weight:bold;"><br />
</span> compile (<span style="color:#008000;font-weight:bold;">'com.google.android.gms:play-services-maps:10.0.1'</span>)<br />
}</pre>
按以上配置，运行clean时报错，无法加载play-services-maps 10.0.1包。<br />
<div>Error:(69, 14) Failed to resolve: com.google.android.gms:play-services-maps:10.0.1</div>
<div>&lt;a href="install.m2.repo"&gt;Install Repository and sync project&lt;/a&gt;&lt;br&gt;&lt;a href="openFile:/Users/you/AndroidProjects/yourapp/app/build.gradle"&gt;Show in File&lt;/a&gt;&lt;br&gt;&lt;a href="open.dependency.in.project.structure"&gt;Show in Project Structure dialog&lt;/a&gt;</div>
点击Android Studio的提示如何修复的链接，就会自动下载Google的相关依赖包到本地。下载时弹出窗口中显示的一些信息如下。<br />
<br />
Install Missing Componets<br />
SDK Path:/User/you/Library/Android/sdk<br />
<div style="text-align: left;">
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><br />
To&nbsp;install:<br />
-&nbsp;SDK&nbsp;Patch&nbsp;Applier&nbsp;v4&nbsp;(patcher<span style="color: #008000; ">;</span><span style="color: #008000; ">v4)</span><span style="color: #008000; "><br />
</span>-&nbsp;Google&nbsp;Repository&nbsp;(extras<span style="color: #008000; ">;</span><span style="color: #008000; ">google;m2repository)</span><span style="color: #008000; "><br />
</span><br />
Installing&nbsp;SDK&nbsp;Patch&nbsp;Applier&nbsp;v4<br />
Downloading&nbsp;https://dl.google.com/android/repository/3534162-studio.sdk-patcher.zip<br />
Installing&nbsp;SDK&nbsp;Patch&nbsp;Applier&nbsp;v4&nbsp;in&nbsp;/Users/you/Library/Android/sdk/patcher/v4<br />
Installation&nbsp;of&nbsp;SDK&nbsp;Patch&nbsp;Applier&nbsp;v4&nbsp;complete.<br />
<br />
Installing&nbsp;Google&nbsp;Repository<br />
Downloading&nbsp;https://dl.google.com/android/repository/google_m2repository_gms_v8_rc42_wear_2b1_rc4.zip<br />
Installing&nbsp;Google&nbsp;Repository&nbsp;in&nbsp;/Users/you/Library/Android/sdk/extras/google/m2repository<br />
Installation&nbsp;of&nbsp;Google&nbsp;Repository&nbsp;complete.<br />
<br />
<br />
</div>
</div>
http://stackoverflow.com/questions/16978190/add-google-maps-api-v2-in-a-fragment<br />
http://www.joellipman.com/articles/google/android/application-development/android-os-add-googlemap-as-fragment.html<br />
https://www.zhihu.com/question/20892245<br />http://blog.csdn.net/woshilisao/article/details/8647649  android fragment（android.support.v4.app.Fragment和android.app.Fragment区别）
<br />http://www.tuicool.com/articles/YFBv6nJ Introduction to Google Maps API for Android
<img src ="http://www.blogjava.net/leekiang/aggbug/432159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-12-21 00:24 <a href="http://www.blogjava.net/leekiang/archive/2016/12/21/432159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>android webview实现js和java互相调用</title><link>http://www.blogjava.net/leekiang/archive/2016/11/24/432012.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 24 Nov 2016 08:19:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/11/24/432012.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/432012.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/11/24/432012.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/432012.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/432012.html</trackback:ping><description><![CDATA[<div><div><br />https://github.com/lzyzsd/JsBridge &nbsp;<br />注意：使用lzyzsd/JsBridge &nbsp;，覆盖<span style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;">WebViewClient时一定要继承</span><span style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;">BridgeWebViewClient，否则js和java互相调用不管用</span><br /><pre style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;"><span style="background-color:#e4e4ff;">webview</span>.setWebViewClient(<span style="color:#000080;font-weight:bold;">new </span>BridgeWebViewClient(<span style="background-color:#e4e4ff;">webview</span>) <br /><br />另外还有一个<span style="font-family: verdana, 'courier new'; font-size: 14px;">WebViewJavascriptBridge：</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">https://github.com/gzsll/WebViewJavascriptBridge</span></pre></div><br />http://www.cnblogs.com/wingyip/p/5426477.html JsBridge实现Javascript和Java的互相调用<div>http://blog.csdn.net/sk719887916/article/details/47189607&nbsp;<div style="display: inline-block;"></div>&nbsp;Android 利用WebViewJavascriptBridge 实现js和java的交互<br /><div>http://www.jb51.net/article/37208.htm Android在其他线程中更新UI线程的解决方法</div></div></div><img src ="http://www.blogjava.net/leekiang/aggbug/432012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-11-24 16:19 <a href="http://www.blogjava.net/leekiang/archive/2016/11/24/432012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Activity和Intent相关笔记</title><link>http://www.blogjava.net/leekiang/archive/2016/10/26/431929.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 25 Oct 2016 16:54:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/10/26/431929.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/431929.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/10/26/431929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/431929.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/431929.html</trackback:ping><description><![CDATA[<div><div>向下一个Activity传递数据（使用Bundle和Intent.putExtras）</div><div></div><div>Intent it = new Intent(Activity.Main.this, Activity2.class);</div><div>Bundle bundle=new Bundle();</div><div>bundle.putString("name", "This is from MainActivity!");</div><div>it.putExtras(bundle); &nbsp; &nbsp; &nbsp; // it.putExtra("name","abc");</div><div>startActivity(it); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// startActivityForResult(it,REQUEST_CODE);</div><div>&nbsp;</div><div></div><div>对于数据的获取可以采用：</div><div>Bundle bundle=getIntent().getExtras();</div><div>String name=bundle.getString("name");<br /><br />参考：<br />http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html<br /><div>http://www.cnblogs.com/tornadomeet/archive/2012/07/28/2613617.html 从一个activity跳转到另外一个activity</div></div></div><img src ="http://www.blogjava.net/leekiang/aggbug/431929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-10-26 00:54 <a href="http://www.blogjava.net/leekiang/archive/2016/10/26/431929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android Studio 如何混淆打包</title><link>http://www.blogjava.net/leekiang/archive/2016/10/25/431928.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 25 Oct 2016 15:41:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/10/25/431928.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/431928.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/10/25/431928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/431928.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/431928.html</trackback:ping><description><![CDATA[<pre style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;">buildTypes {<br />    release {<br />        minifyEnabled <span style="color:#000043;font-weight:bold;">false<br /></span> proguardFiles getDefaultProguardFile(<span style="color:#008000;font-weight:bold;">'proguard-android.txt'</span>), <span style="color:#008000;font-weight:bold;">'proguard-rules.pro'<br /></span> }<br />}<br />将<span style="font-size: 9pt;">minifyEnabled改为true。<br /></span><div>ProGuard是Android SDK附带的。<span style="font-size: 9pt;">如果需要顶尖的安全性，ProGuard就力不从心了，可以使用DexGuard。<br /><br />参考：<br /></span><div>读懂 Android 中的代码混淆 <span style="font-size: 9pt;">http://droidyue.com/blog/2016/07/10/understanding-android-obfuscated-code-by-proguard/</span></div></div></pre><img src ="http://www.blogjava.net/leekiang/aggbug/431928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-10-25 23:41 <a href="http://www.blogjava.net/leekiang/archive/2016/10/25/431928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AndroidRuntimeException: requestFeature() must be called before adding content</title><link>http://www.blogjava.net/leekiang/archive/2016/10/25/431927.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 25 Oct 2016 14:38:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/10/25/431927.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/431927.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/10/25/431927.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/431927.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/431927.html</trackback:ping><description><![CDATA[<div><pre style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;"><pre style="font-family: Menlo; font-size: 9pt;">requestWindowFeature(Window.<span style="background-color:#e4e4ff;">FEATURE_NO_TITLE</span>);<br /><span style="font-size: 9pt;">setContentView(R.layout.</span><span style="font-size: 9pt; background-color: #e4e4ff;">activity_main</span><span style="font-size: 9pt;">);<br /></span><div>增加代码requestWindowFeature(Window.FEATURE_NO_TITLE)以去掉标题栏，并且代码放在<span style="font-size: 9pt;">setContentView之前，但还是报异常</span><br /><span style="font-size: 9pt;">android.util.</span><span style="font-family: verdana, 'courier new'; font-size: 14px; white-space: normal;">AndroidRuntimeException: requestFeature() must be called before adding content<br />将</span><span style="font-size: 9pt;">AppCompatActivity改为</span>Activity才得以解决。不知道AppCompatActivity和Activity有何区别。<br /><br />参考：<span style="font-size: 9pt;">http://www.cnblogs.com/and_he/archive/2011/06/01/2067106.html </span><span style="font-size: 9pt;">Android中全屏或者取消标题栏</span></div></pre></pre></div><img src ="http://www.blogjava.net/leekiang/aggbug/431927.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-10-25 22:38 <a href="http://www.blogjava.net/leekiang/archive/2016/10/25/431927.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在小米4开启android真机调试</title><link>http://www.blogjava.net/leekiang/archive/2016/10/24/431917.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 24 Oct 2016 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/10/24/431917.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/431917.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/10/24/431917.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/431917.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/431917.html</trackback:ping><description><![CDATA[<div>&nbsp;首先在&#8220;设置&#8221;-&#8220;关于手机&#8221;里多次点击【MIUI版本】进入开发者模式，但在Android Studio里运行时找不到设备，执行adb devices也看不到设备。<br />在拨号界面按 &nbsp;*#*#717717#*#* &nbsp;， 出现 Diag USB port enable。 再次执行adb devices，看到设备了，但显示为unauthorized。<br />最后发现，设置-其他高级设置-开发者选项，开启&#8220;开发者选项&#8221;，同时开启&#8220;USB调试&#8221;，再次执行adb devices，终于成功的显示设备了。</div><div>&nbsp;</div><pre style="font-family: Menlo; font-size: 9pt; background-color: #ffffff;"></pre><img src ="http://www.blogjava.net/leekiang/aggbug/431917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-10-24 11:45 <a href="http://www.blogjava.net/leekiang/archive/2016/10/24/431917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>android webview笔记</title><link>http://www.blogjava.net/leekiang/archive/2016/10/21/431912.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 21 Oct 2016 13:43:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/10/21/431912.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/431912.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/10/21/431912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/431912.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/431912.html</trackback:ping><description><![CDATA[1.<span style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;">public boolean shouldOverrideUrlLoading(WebView view, String url) {&nbsp;</span><br style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;" />
<span style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; view.loadUrl(url);</span><br style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;" />
<span style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;</span><br style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;" />
<span style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;">&nbsp; }<br />
</span>重写<span style="color: #333333; font-family: 宋体; line-height: 28px; background-color: #ffffff;">shouldOverrideUrlLoading方法，返回true表示点击链接是在当前webview里打开，而不是调用浏览器打开<br />
<br /></span><br />
WebViewClient与WebChromeClient的区别 http://blog.csdn.net/jackyhuangch/article/details/8310033<br /><div>Android中WebView拦截替换网络请求数据http://droidyue.com/blog/2014/11/23/block-web-resource-in-webview/<br /><div>http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/1010/1569.html android WebView全面总结<br /><div>自定义可下拉刷新的WebView http://www.voidcn.com/blog/Moy01/article/p-4587219.html<br /><div>android webview远程调试http://www.cnblogs.com/carlos-guo/p/3920915.html<br /><div>http://www.udpwork.com/item/13349.html &nbsp;WebView处理网页位置请求<br /><div>http://www.cnblogs.com/over140/archive/2013/03/07/2947721.html 带进度条的webview</div><div>http://blog.csdn.net/u014400200/article/details/38511419 webview处理视频<br /><div>http://blog.csdn.net/jackyhuangch/article/details/8310033&nbsp;关于android WebViewClient和WebChromeClient<br /><div>http://www.weblog-life.net/entry/2016/03/12/080300 webview如何使用google地图，日本人写的</div></div></div><div>http://stackoverflow.com/questions/5329662/android-webview-geolocation &nbsp;</div></div></div></div></div><div>https://github.com/delight-im/Android-AdvancedWebView 这个支持地理定位</div></div><img src ="http://www.blogjava.net/leekiang/aggbug/431912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-10-21 21:43 <a href="http://www.blogjava.net/leekiang/archive/2016/10/21/431912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>android开发环境的几个问题</title><link>http://www.blogjava.net/leekiang/archive/2016/10/13/431890.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 13 Oct 2016 13:25:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2016/10/13/431890.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/431890.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2016/10/13/431890.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/431890.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/431890.html</trackback:ping><description><![CDATA[1. Android Studio2.2在mac下启动报错<br />
找不到原因，改为使用Android Studio 2.1.3
<br />
下载地址：http://tools.android.com/download/studio/builds/2-1-3
<br />
<br />
2. 编译某项目报错Could not find property 'config' on SigningConfig container
<br />
在build.grade文件的android-&gt;signingConfigs节点下增加config配置
<br />
<div>android {</div>
<div>&nbsp; &nbsp; signingConfigs {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; config {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; keyAlias '你的key别名'</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; keyPassword '你的key密码'</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; storeFile file('你的密钥存储路径')</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; storePassword '你的存储密码'</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
&nbsp; &nbsp; } <br />
...<br />
<br />
3. 编译报错failed to find target android-22<br />
<div>
<div>/Users/username/Library/Android/sdk/platforms下发现有android-24目录，故将编译级别都设为24。</div>
</div>
修改build.grade文件的相关属性：<br />
<div>compileSdkVersion 24</div>
<div>buildToolsVersion "24.0.0"<br />
<div>
<div>
<div>targetSdkVersion 24</div>
</div>
<div>compile 'com.android.support:appcompat-v7:24.0.0'<br />
<br />
4. 编译报错Gradle sync failed: Gradle DSL method not found: 'android()'<br />
删除项目根目录下的build.gradle文件，因为app目录下已经有build.gradle了。<br />
备份下根目录下build.gradle文件的内容：<br />
<div>
<div>buildscript {</div>
<div>&nbsp; &nbsp; repositories {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; jcenter()</div>
<div>&nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; dependencies {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; classpath 'com.android.tools.build:gradle:1.2.3'</div>
<div></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; // NOTE: Do not place your application dependencies here; they belong</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; // in the individual module build.gradle files</div>
<div>&nbsp; &nbsp; }</div>
<div>}</div>
<div>allprojects {</div>
<div>&nbsp; &nbsp; repositories {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; jcenter()</div>
<div>&nbsp; &nbsp; }</div>
<div>}</div>
<div></div>
<div>android {</div>
<div>&nbsp; &nbsp; compileSdkVersion 24</div>
<div>}</div>
<div>dependencies {</div>
<div>}</div>
</div>
<br />
5. 编译报错Plugin with id 'com.android.application' not found<br />
<div>恢复项目根目录下的build.gradle文件，将内容修改为如下：</div>
<div>buildscript {</div>
<div>&nbsp; &nbsp; repositories {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; mavenCentral()</div>
<div>&nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; dependencies {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; classpath 'com.android.tools.build:gradle:1.2.3'</div>
<div>&nbsp; &nbsp; }</div>
<div>}<br />
<br />
6. 编译报错：failed to find Build Tools revision 24.0.0<br />
<div>/Users/username/Library/Android/sdk/build-tools下查看自己的BuildTools版本，发现是24.0.3，然后将buildToolsVersion修改为该版本：<br />
buildToolsVersion "24.0.3"<br />
<br />
7. Android Studio编译执行以下任务时一直等待，执行了一个小时也没动静。
<div>Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar]</div>
<div>打开Preferences-&gt;Build-Excecution-Deployment-&gt;BuildTools-&gt;Gra&#8204;&#8203;dle，勾选Offline work<br />
参见http://stackoverflow.com/questions/25629368/how-to-fix-android-studio-getting-stuck-executing-gradle-tasks<br />
<br />
8. Exception in thread "png-cruncher_5" java.lang.RuntimeException: Timed out while waiting for slave aapt process<br />
不知道原因，最终是通过修改SDK Build Tools为19.1.0、升级JDK由JDK7升至JDK8、增加环境变量SLAVE_AAPT_TIMEOUT=30等搞定的<br />
<br />
9. 如何修改SDK和JDK的路径<br />
在File-&gt;Project Structure里修改<br />
<br />
10. 修改Android Studio中java代码的编译级别<br />
<div>打开File --&gt; Project Structure--&gt;app，修改Source Compatibility和Target Compatibility</div>
<br />
11.如何在使用gradle时增加--stacktrace参数<br />
<div>Preferences-&gt;Build-Excecution-Deployment-&gt;Compiler<br />
<div>增加--info或--debug，在解决报错时能看到更多的信息</div>
<div><br />
12. 报错aapt ..finished with non- zero exit value 1<br />
找不到原因，增加编译参数--info后发现有用的信息：invalid resource directory name: ..app\build\intermediates\res\merged\debug/values-b+sr+Latn<br />
<br />
13.invalid resource directory name: ..app\build\intermediates\res\merged\debug/values-b+sr+Latn<br />
不知道原因，将版本升级到21解决了。<br />
<br />
<div>14. 编译时报找不到AppCompatActivity类的错误</div>
<div>改为使用：compile 'com.android.support:appcompat-v7:22.2.1'<br />
同时将版本由21升级到22<br />
<br />
15. 生成apk时报错：Missing Gradle Project Information. Please check if the IDE successfully synchronized its state with the Gradle Project Model</div>
</div>
在工具栏里点击&#8220;Sync Project with Gradle Files&#8221;按钮<br /><br />16.导入某项目时报错Error:Gradle version 2.14.1 is required. Current version is 2.4. If using the gradle wrapper, try editing the distributionUrl in...<br />打开Android Studio的File-&gt;Project Structure，点击Project，将Gradle version修改为2.14.1<br /><div>在/Applications/Android Studio.app/Contents/gradle下的确只有gradle-2.14.1</div>
<br />
25.如何修改生成的apk的名字</div>
<div>
<div>http://www.jianshu.com/p/93051c9e97fb</div>
</div>
<div>Android Studio如何发布APK：http://chenfeicqq.iteye.com/blog/1889160<br />
<br />
26. 在gradle.properties中增加<span style="color: inherit; font-family: 'Source Code Pro', monospace; font-size: inherit; line-height: 1.45; white-space: pre;">android.enableBuildCache=true，貌似能加快编译速度。</span><br />
</div>
</div>
</div>
<div></div>
</div>
</div>
</div>
</div><img src ="http://www.blogjava.net/leekiang/aggbug/431890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2016-10-13 21:25 <a href="http://www.blogjava.net/leekiang/archive/2016/10/13/431890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何用 Java 获取系统 IP？</title><link>http://www.blogjava.net/leekiang/archive/2015/03/02/423120.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sun, 01 Mar 2015 22:29:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2015/03/02/423120.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/423120.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2015/03/02/423120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/423120.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/423120.html</trackback:ping><description><![CDATA[参考dubbo里的NetUtils类<br /><br />import java.net.InetAddress;<br />import java.net.NetworkInterface;<br />import java.util.Enumeration;<br />import java.util.regex.Pattern;<br /><br />public class GetIP {<br />public static void main(String[] args) {<br />System.out.println(GetIP.getLocalAddress0().getHostAddress());<br />}<br />public static InetAddress getLocalAddress0() {<br />        InetAddress localAddress = null;<br />        try {<br />            localAddress = InetAddress.getLocalHost();<br />            if (isValidAddress(localAddress)) {<br />                return localAddress;<br />            }<br />        } catch (Throwable e) {<br />            System.out.println("Failed to retriving ip address, " + e.getMessage());<br />        }<br />        try {<br />            Enumeration&lt;NetworkInterface&gt; interfaces = NetworkInterface.getNetworkInterfaces();<br />            if (interfaces != null) {<br />                while (interfaces.hasMoreElements()) {<br />                    try {<br />                        NetworkInterface network = interfaces.nextElement();<br />                        Enumeration&lt;InetAddress&gt; addresses = network.getInetAddresses();<br />                        if (addresses != null) {<br />                            while (addresses.hasMoreElements()) {<br />                                try {<br />                                    InetAddress address = addresses.nextElement();<br />                                    if (isValidAddress(address)) {<br />                                        return address;<br />                                    }<br />                                } catch (Throwable e) {<br />                                    System.out.println("Failed to retriving ip address, " + e.getMessage());<br />                                }<br />                            }<br />                        }<br />                    } catch (Throwable e) {<br />                        System.out.println("Failed to retriving ip address, " + e.getMessage());<br />                    }<br />                }<br />            }<br />        } catch (Throwable e) {<br />            System.out.println("Failed to retriving ip address, " + e.getMessage());<br />        }<br />        System.out.println("Could not get local host ip address, will use 127.0.0.1 instead.");<br />        return localAddress;<br />    }<br />    private static boolean isValidAddress(InetAddress address) {<br />        if (address == null || address.isLoopbackAddress())<br />            return false;<br />        String name = address.getHostAddress();<br />        return (name != null <br />                &amp;&amp; ! ANYHOST.equals(name)<br />                &amp;&amp; ! LOCALHOST.equals(name) <br />                &amp;&amp; IP_PATTERN.matcher(name).matches());<br />    }<br />    <br />    public static final String LOCALHOST = "127.0.0.1";<br /><br />    public static final String ANYHOST = "0.0.0.0";<br />    <br />    private static final Pattern IP_PATTERN = Pattern.compile("\\d{1,3}(\\.\\d{1,3}){3,5}$");<br />}<br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/423120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2015-03-02 06:29 <a href="http://www.blogjava.net/leekiang/archive/2015/03/02/423120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>