<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Android on Binary Life</title><link>http://life.urakalee.me/tags/android/</link><description>Recent content in Android on Binary Life</description><generator>Hugo -- 0.157.0</generator><language>zh-cn</language><lastBuildDate>Thu, 10 Mar 2016 19:59:31 +0800</lastBuildDate><atom:link href="http://life.urakalee.me/tags/android/index.xml" rel="self" type="application/rss+xml"/><item><title>Android: 9-patch的夜间模式</title><link>http://life.urakalee.me/posts/2016-03-10-android-night-theme-for-9-patch/</link><pubDate>Thu, 10 Mar 2016 19:59:31 +0800</pubDate><guid>http://life.urakalee.me/posts/2016-03-10-android-night-theme-for-9-patch/</guid><description>&lt;p&gt;&lt;a href="https://www.evernote.com/l/ABCVzpSbJs1HoKym6kJDBZQsyMlFtgXKYpM"&gt;https://www.evernote.com/l/ABCVzpSbJs1HoKym6kJDBZQsyMlFtgXKYpM&lt;/a&gt;&lt;/p&gt;</description></item><item><title>做题解析性能优化始末(1)</title><link>http://life.urakalee.me/posts/2016-03-10-optimize-question-and-solution-of-yuantiku-1/</link><pubDate>Thu, 10 Mar 2016 19:51:45 +0800</pubDate><guid>http://life.urakalee.me/posts/2016-03-10-optimize-question-and-solution-of-yuantiku-1/</guid><description>&lt;p&gt;&lt;a href="https://www.evernote.com/l/ABC9oWR2d7xBaK-bic2LbgXHmwIsthq2-HI"&gt;https://www.evernote.com/l/ABC9oWR2d7xBaK-bic2LbgXHmwIsthq2-HI&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Android机制: AsyncTask</title><link>http://life.urakalee.me/posts/2016-03-10-android-mechanism-asynctask/</link><pubDate>Thu, 10 Mar 2016 19:35:34 +0800</pubDate><guid>http://life.urakalee.me/posts/2016-03-10-android-mechanism-asynctask/</guid><description>&lt;p&gt;&lt;a href="https://www.evernote.com/l/ABDmk4yr90FNi6-Pa69oLDK291tym7e00qE"&gt;https://www.evernote.com/l/ABDmk4yr90FNi6-Pa69oLDK291tym7e00qE&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Android: 捕获 Home 键</title><link>http://life.urakalee.me/posts/2015-01-21-android-home-watcher/</link><pubDate>Wed, 21 Jan 2015 17:12:00 +0800</pubDate><guid>http://life.urakalee.me/posts/2015-01-21-android-home-watcher/</guid><description>&lt;p&gt;在&lt;a href="http://yuantiku.com"&gt;猿题库&lt;/a&gt;工作一年多, 新功能做了不少, bug 也改了许多, 近期开始做更多的优化工作. 本篇博客的内容来自&amp;quot;错题锁屏&amp;quot;功能的优化.&lt;/p&gt;
&lt;p&gt;我们 2014 年 9 月开始做&amp;quot;错题锁屏&amp;quot;功能, 希望增加曝光, 提高存留. 开发该功能的同学现在已经结束实习出国工作了, 但做这个功能的时候我就知道坑很多, 而且上线前为了避免风险留了一些坑没改. 上线后, 发现该功能比较受欢迎, 所以又有了多次拉锯式的修改, 不过对于锁屏本身的坑并没有填.&lt;/p&gt;
&lt;p&gt;关于如何防止锁屏进程被杀, 我可能会开另外一篇博客来说明, 不过其实你也可以逆向工程我们的 apk 自己去看. 还有就是错题锁屏变成一个独立进程之后, 进程间共享数据变成了一个新的大坑&amp;hellip;&lt;/p&gt;
&lt;p&gt;由于我们一开始就不想把错题锁屏做得很暴力, 所以虽然禁用了 Back 键(按 Back 键不能退出锁屏), 却还是保留了按 Home 键退出的可能性, 避免用户因为答不对题而无法解锁(我们可能低估用户了).&lt;/p&gt;
&lt;p&gt;于是有一个问题, 按 Home 键退出锁屏之后, 用户可以在&amp;quot;最近使用&amp;quot;中重新打开锁屏界面, 而我们只想让用户在&amp;quot;最近使用&amp;quot;中看到猿题库本身. 我开始寻找如何在用户按 Home 键时让锁屏界面自己把自己 finish 掉的方法.&lt;/p&gt;
&lt;p&gt;首先查到的方法是 onUserLeaveHint, 按 Home 键时确实会调用这个函数. 不过遇到的问题也很坑: 当有其它锁屏, 甚至 QQ 弹窗(实际上也是用类似锁屏的方法实现的)出现时, 我们的锁屏可能被挤掉(onUserLeaveHint 被调用).&lt;/p&gt;
&lt;p&gt;然后开始寻找能够捕获 Home 键的方法:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/questions/8881951/detect-home-button-press-in-android"&gt;override onKeyDown&lt;/a&gt;, 不过 no longer works as of 4.0, &lt;a href="http://www.coderzheaven.com/2012/06/02/override-hardware-home-button-android-listen-home-button-click-android/"&gt;这里&lt;/a&gt;给出了完整的代码&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/questions/5907102/home-button-listener"&gt;这篇 vote 比较少的文章&lt;/a&gt;其实离最终答案很近了, 不过因为 vote 太少, 我一开始没有相信它&amp;hellip;&lt;/li&gt;
&lt;li&gt;中文网络上看起来有更多人搞过这个问题: 文章 &lt;a href="http://blog.csdn.net/way_ping_li/article/details/8953622"&gt;A&lt;/a&gt; &lt;a href="http://blog.csdn.net/watt520/article/details/18959897"&gt;B&lt;/a&gt; &lt;a href="http://blog.csdn.net/ekeuy/article/details/39400939"&gt;C&lt;/a&gt; 大同小异, &lt;a href="http://862123204-qq-com.iteye.com/blog/1888532"&gt;这里&lt;/a&gt;分析得更详细一些. 其中 &lt;a href="http://blog.csdn.net/watt520/article/details/18959897"&gt;B&lt;/a&gt; 的代码更漂亮一些, 我试过可行 (Android4.+)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;可行之后, 我发现又掉到了坑里: &lt;strong&gt;即使 finish 掉了, 用户还是可以在最近使用中重新打开锁屏界面!!!&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Android 开发点滴</title><link>http://life.urakalee.me/posts/2013-12-20-android-tips/</link><pubDate>Fri, 20 Dec 2013 13:27:02 +0800</pubDate><guid>http://life.urakalee.me/posts/2013-12-20-android-tips/</guid><description>&lt;h2 id="manifest"&gt;Manifest&lt;/h2&gt;
&lt;h3 id="弹出键盘"&gt;弹出键盘&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;android:windowSoftInputMode&lt;/code&gt; 控制弹出键盘
&lt;ul&gt;
&lt;li&gt;stateHidden 为刚进入 activity 时不显示键盘&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="控件"&gt;控件&lt;/h2&gt;
&lt;h3 id="edittext-与弹出键盘"&gt;EditText 与弹出键盘&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;在 xml 中设置 &lt;code&gt;android:inputType&lt;/code&gt;, 常用的有:
&lt;ul&gt;
&lt;li&gt;default, 中文手机会弹出中文输入法, 并切换到默认输入模式(通常是中文模式)&lt;/li&gt;
&lt;li&gt;phone, 电话号码键盘, 不过我们通常还是会用 number 彻底限制只能输入数字&lt;/li&gt;
&lt;li&gt;textEmailAddress, 虽然名字是 email, 但是也可以输入电话号码&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;java 中可以 &lt;code&gt;setInputType&lt;/code&gt;, 对应的 type 在 &lt;code&gt;InputType&lt;/code&gt; 找到:
&lt;ul&gt;
&lt;li&gt;比如 textEmailAddress 对应 TYPE_TEXT_VARIATION_EMAIL_ADDRESS&lt;/li&gt;
&lt;li&gt;注意 textPassword 对应 TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;详见 &lt;a href="http://developer.android.com/guide/topics/ui/controls/text.html" title="Text Fields"&gt;官方文档&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="工具"&gt;工具&lt;/h2&gt;
&lt;h3 id="sleep"&gt;sleep&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SystemClock.sleep&lt;/code&gt; 不会抛出 &lt;code&gt;InterruptedException&lt;/code&gt;, 同时也无法 &lt;code&gt;thread.interrupt&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Thread.sleep 则正相反&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="线程"&gt;线程&lt;/h2&gt;
&lt;h3 id="ui-线程"&gt;UI 线程&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;UI 控件不是线程安全的, 所以只能在 UI 线程上操作
&lt;ul&gt;
&lt;li&gt;Activity.runOnUiThread&lt;/li&gt;
&lt;li&gt;View.post/postDelayed&lt;/li&gt;
&lt;li&gt;Handler&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AsyncTask
&lt;ul&gt;
&lt;li&gt;doInBackground 在 worker 线程&lt;/li&gt;
&lt;li&gt;onPre/PostExecute 和 onProgressUpdate 在 UI 线程&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="webview"&gt;WebView&lt;/h2&gt;
&lt;h3 id="使用-httpclient-的-cookie"&gt;使用 HttpClient 的 cookie&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; * @param url - 形如 http://xxx.domain.com/yyy/zzz.z?mmm=nnn
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; * @param cookie - 从 HttpClient 取得的 cookie
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; */&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;synCookies&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Context&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Cookie&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookie&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CookieSyncManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;createInstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CookieManager&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookieManager&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CookieManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getInstance&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookieManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setAcceptCookie&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// 这句可能可以不要&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookieString&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookie&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;=&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookie&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getValue&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;; domain=&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookie&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getDomain&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookieManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setCookie&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cookieString&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CookieSyncManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getInstance&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;sync&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Android Studio 新手小记</title><link>http://life.urakalee.me/posts/2013-12-08-newbie-to-android-studio/</link><pubDate>Sun, 08 Dec 2013 18:13:10 +0800</pubDate><guid>http://life.urakalee.me/posts/2013-12-08-newbie-to-android-studio/</guid><description>&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;下载安装后, 需要更新到最新版本
&lt;ul&gt;
&lt;li&gt;不更新可能会遇到一些奇葩问题&lt;/li&gt;
&lt;li&gt;如果能直接更新或者翻墙更新的, 请直接更新&lt;/li&gt;
&lt;li&gt;不能更新的, 请参考下列文章手动更新
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.cnsecer.com/842.html"&gt;http://www.cnsecer.com/842.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.csdn.net/hil2000/article/details/11395485"&gt;http://blog.csdn.net/hil2000/article/details/11395485&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;关键命令&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;java -classpath AI-&amp;lt;old-edition&amp;gt;-&amp;lt;new-edition&amp;gt;-patch-&amp;lt;os&amp;gt;.jar com.intellij.updater.Runner install .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="新建项目"&gt;新建项目&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;新建一个项目时, 视选择的 SDK 版本, 可能会失败, 原因是包不全
&lt;ul&gt;
&lt;li&gt;打开 SDK Manager, 勾选需要的包, 点击 Install X package[s]&amp;hellip;&lt;/li&gt;
&lt;li&gt;注意: 接受协议时可能需要在弹出的对话框里逐个接受, 才能一并下载&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="模拟器"&gt;模拟器&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;以下问题仅限于 windows, Mac 用户可以直接放弃模拟器&amp;hellip;&lt;/li&gt;
&lt;li&gt;运行模拟器失败, 需要把 &lt;code&gt;X盘/.android/avd&lt;/code&gt; 拷贝到 &lt;code&gt;C盘/用户目录/.android&lt;/code&gt; 下&lt;/li&gt;
&lt;li&gt;运行模拟器慢, 需要下载和安装 intel x86 emulator, 创建 avd 时也要选这个
&lt;ul&gt;
&lt;li&gt;用 SDK Manager 下载 intel x86 emulator 和对应的 rom&lt;/li&gt;
&lt;li&gt;注意: 下载 emulator 后需要安装, 可执行文件在 &lt;code&gt;sdk/extras/intel&lt;/code&gt; 中&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="数据目录"&gt;数据目录&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Android Studio 目前还不太稳定, 偶尔折腾, 甚至需要把数据目录清空&lt;/li&gt;
&lt;li&gt;下面的内容摘自 &lt;a href="http://www.jetbrains.com/idea/webhelp/project-and-ide-settings.html" title="Project and IDE Settings"&gt;Intellij 官网&lt;/a&gt;, 只要把路径换成 AndroidStudioPreview 即可&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;Mac
~/Library/Application Support/IntelliJIdeaXX contains the catalog with plugins.
~/Library/Preferences/IntelliJIdeaXX contains the rest of the configuration settings.
~/Library/Caches/IntelliJIdeaXX contains data caches, logs, local history, etc. These files can be quite significant in size.
9.0+ ~/Library/Logs/IntelliJIdeaXX contains logs
Windows
~\.IntelliJIdeaXX\config that contains user-specific settings.
~\.IntelliJIdeaXX\system that stores IntelliJ IDEA data caches.
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="mailto:Update@2015.04.13"&gt;Update@2015.04.13&lt;/a&gt;: Android Studio 在升级到 1+ 之后奇葩问题少多了&lt;/li&gt;
&lt;li&gt;&lt;a href="mailto:Update@2016.03.10"&gt;Update@2016.03.10&lt;/a&gt;: 模拟器建议使用 Genymotion&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>