﻿<?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-ZircoN-随笔分类-Android ApiDemos</title><link>http://www.blogjava.net/ZircoN/category/50445.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 24 Feb 2012 13:43:05 GMT</lastBuildDate><pubDate>Fri, 24 Feb 2012 13:43:05 GMT</pubDate><ttl>60</ttl><item><title>API Demos_App/Activity</title><link>http://www.blogjava.net/ZircoN/archive/2012/02/24/370128.html</link><dc:creator>ZircoN</dc:creator><author>ZircoN</author><pubDate>Fri, 24 Feb 2012 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/ZircoN/archive/2012/02/24/370128.html</guid><wfw:comment>http://www.blogjava.net/ZircoN/comments/370128.html</wfw:comment><comments>http://www.blogjava.net/ZircoN/archive/2012/02/24/370128.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ZircoN/comments/commentRss/370128.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ZircoN/services/trackbacks/370128.html</trackback:ping><description><![CDATA[此篇来看下App/Activity下的demos。<br />第一个Animation，展示了从一个activity启动另一个activity时的两种动画效果，主要是这个方法：<div><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 />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">overridePendingTransition(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;enterAnim,&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;exitAnim)<br /></span><span style="color: #008080; "></span><span style="color: #000000; "></span></div></div>这个方法跟在<code>startActivity()或者finish()之后调用来指定一个效果</code>，第一个参数是下一个activity出现的效果，第二个参数是该activity退出的效果。<br />关于animation，可以参考这篇文章：<a href="http://www.cnblogs.com/feisky/archive/2010/01/11/1644482.html">http://www.cnblogs.com/feisky/archive/2010/01/11/1644482.html</a>。<br />第二个CustomDialogActivity，展示了一个activity如何使用自定义theme，使其看起来像一个dialog，在ApiDemos Manifest.xml中对应该activity的标签下，<br />有该属性：android:theme="@style/Theme.CustomDialog"，引用了一个自定义的theme，在styles.xml文件中：<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">style&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="Theme.CustomDialog"</span><span style="color: #FF0000; ">&nbsp;parent</span><span style="color: #0000FF; ">="android:style/Theme.Dialog"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">2</span> &nbsp;&nbsp;&nbsp; <span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">item&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="android:windowBackground"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">@drawable/filled_box</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">item</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">style</span><span style="color: #0000FF; ">&gt;</span></div>继承自android内置的Theme.Dialog，位于/base/core/res/res/values/themes.xml。其background为一个自定义的shape，在filled_box.xml中：<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">shape&nbsp;</span><span style="color: #FF0000; ">xmlns:android</span><span style="color: #0000ff;">="http://schemas.android.com/apk/res/android"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">solid&nbsp;</span><span style="color: #FF0000; ">android:color</span><span style="color: #0000FF; ">="#f0600000"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">stroke&nbsp;</span><span style="color: #FF0000; ">android:width</span><span style="color: #0000FF; ">="3dp"</span><span style="color: #FF0000; ">&nbsp;color</span><span style="color: #0000FF; ">="#ffff8080"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">corners&nbsp;</span><span style="color: #FF0000; ">android:radius</span><span style="color: #0000FF; ">="3dp"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000;"><br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">padding&nbsp;</span><span style="color: #FF0000; ">android:left</span><span style="color: #0000FF; ">="10dp"</span><span style="color: #FF0000; ">&nbsp;android:top</span><span style="color: #0000FF; ">="10dp"</span><span style="color: #FF0000; "><br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #FF0000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:right</span><span style="color: #0000FF; ">="10dp"</span><span style="color: #FF0000; ">&nbsp;android:bottom</span><span style="color: #0000FF; ">="10dp"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">7</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">shape</span><span style="color: #0000FF; ">&gt;</span></div>solid填充，stroke描边，corners圆角，padding内间距，关于shape，可以看下这篇文章：<a href="http://dev.10086.cn/cmdn/wiki/index.php?doc-view-6087.html">http://dev.10086.cn/cmdn/wiki/index.php?doc-view-6087.html</a>。<br />这儿分享一个展现渐变色背景的方法，除了ps一张渐变色的图片，也可以使用shape，将上面代码的&lt;solid&gt;标签替换成&lt;gradient&gt;代表渐变:<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">gradient&nbsp;&nbsp;<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #800000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF0000; ">android:startColor</span><span style="color: #0000FF; ">="#52adcd"</span><span style="color: #FF0000; ">&nbsp;&nbsp;<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #FF0000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:endColor</span><span style="color: #0000FF; ">="#1c87b1"</span><span style="color: #FF0000; ">&nbsp;&nbsp;<br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #FF0000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:angle</span><span style="color: #0000FF; ">="0"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">-&nbsp;&nbsp;angle代表角度，0就是从左往右渐变，可以多用几个值试一试&nbsp;。这个标签不能和solid标签同时出现。-!</span><span style="color: #0000FF; ">&gt;</span></div><div>第三个CustomTitle，如何自定义一个title，而不是使用一个activity原来的那种title，主要是3句代码：</div><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">setContentView(R.layout.custom_title);<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,&nbsp;R.layout.custom_title_1);</span></div> <span style="color: #000000; "></span><span style="color: #000000; "></span><div>第四个DialogActivity展示了如何使一个activity看上去像一个弹出的dialog，跟第二个实例类似，也是在其activity标签上加上theme属性，不过这次引用的<br />是系统自己的dialog theme：@android:style/Theme.Dialog，其次跟第三个实例类似，也使用了requestWindowFeature()这个方法，关于这个方法，<br />网上有很多介绍，大家可以自己搜一下，给个参考文章：<a href="http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html">http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html</a>。<br />第五个看下PersistentState和SaveRestoreState，先说SaveRestoreState展示了<code>onSaveInstanceState()保存activity状态的效果，其实本身没做什么，<br /></code><div><code><code>onSaveInstanceState()是当该activity可能会被系统destory时默认调用的，默认会记录布局中每个view的状态，如edittext的内容、checkedbox的选中状态，<br />你需要做的就是给每个控件加一个id，没有id的话是无法保存状态的，可以看下源码PhoneWindow.java中的saveHierarchyState()。一般情况下不需要你重写</code></code><div><code><code><code><code></code></code></code></code><div><code><code><code><code><code><code>onSaveInstanceState()，但是如果你想保存除了UI状态之外的其他附加信息，如一个成员变量的值等就可以覆写，但要注意，一定要调用</code></code></code></code></code></code><div><code><code><code><code><code><code><code><code><code></code></code></code></code></code></code></code></code></code><div><code><code><code><code><code><code><code><code><code>super.</code></code></code></code></code></code></code></code></code>onSaveInstanceState()，以上都可以在官方文档里找到。<br />再说下PersistentState，这个展示了使用SharedPreferences持久化的保存edittext的状态，包括光标的位置。主要是在onPause()里保存，onResume()里还原，<br />不多说了，测试这两个例子时，可以修改两个edittext中的值然后旋转手机，使其横屏，这样那个activity会destory然后再create。<br />第六个看下ReceiveResult，主要展示了startActivityForResult()的用法，这个可以用于比如从一个activity跳到另一个activity去选择一个email地址或是一张图片，<br />选择完毕时结果再返回给上一个activity。我按照流程来介绍下这个方法的用法，<code><code><code><code><code><code><code><code><code><code>ReceiveResult</code></code></code></code></code></code></code></code></code></code>--&gt;SendResult，首先先要调用<br />startActivityForResult(Intent  intent, int requestCode)启动SendResult，然后在SendResult这个activity中处理，处理完调用setResult (int resultCode, Intent data)，<br />返回到ReceiveResult中，注意setResult()后要调用finish()。最后呢在ReceiveResult中要覆写onActivityResult(int requestCode, int resultCode, Intent  data)方法，<br />来处理返回的结果，一些细节大家自己看看例子。关于requestCode，可以理解成A跳转到B同时也可以跳转到C或D，区分是跳到哪个activity；而resultCode，可以理解<br />成B可以返回多个值，OK或NOT OK等，区分一个activity返回的多个值，可以去看下Redirection这个例子，加强对<code><code><code>startActivityForResult</code></code></code>()的理解。<br />还有个知识点说下，在receiveResult的onCreate()中，mResults.setText(mResults.getText(), TextView.BufferType.EDITABLE);关于<br /><div>void android.widget.TextView.setText(CharSequence  text, BufferType  type)这个方法，可以参考这篇文章：<a href="http://litonggang.iteye.com/blog/507200">http://litonggang.iteye.com/blog/507200 </a><br />最好结合源码来看这个方法，从TextView的setText( CharSequence text, BufferType type ) --&gt; Editable.java --&gt; SpannableStringBuilder.java。实际上是将原来的<div><code><code><code><code><code><code><code><code><code><code>的CharSequence text扩展成SpannableStringBuilder，以使其具有append等扩展的方法，这儿还有个工厂模式，有时间多读读源码还是不错的。<br />第七个看下QuickContactsDemo，首先是QuickContactBadge这个控件，自己看下配置文件。接着是ResourceCursorAdapter，这个adapter继承在CursorAdapter，它覆写了<br />CursorAdapter的newView()方法，其实就一句代码，用Inflater填充指定的xml文件，所以在这个例子的newView()方法中首先调用super().newView()方法，将构造函数中指定的<br />那个layout转成view，然后bindView()里填充数据。最后是个viewHolder缓存layout中的view，viewHolder保证了对控件的缓存，减少了每次findViewById()的开销，是优化listview的一个较好的方式。<br /></code></code></code></code></code></code></code></code></code></code><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 />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;ContactListItemCache&nbsp;{<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;TextView&nbsp;nameView;<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;QuickContactBadge&nbsp;photoView;<br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;CharArrayBuffer&nbsp;nameBuffer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;CharArrayBuffer(</span><span style="color: #000000; ">128</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #000000; "> }<br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #000000; ">ContactListItemCache&nbsp;cache&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;ContactListItemCache();<br /></span><span style="color: #008080; ">7</span> <span style="color: #000000; ">cache.nameView&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(TextView)&nbsp;view.findViewById(R.id.name);<br /></span><span style="color: #008080; ">8</span> <span style="color: #000000; ">cache.photoView&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(QuickContactBadge)&nbsp;view.findViewById(R.id.badge);<br /></span><span style="color: #008080; ">9</span> <span style="color: #000000; ">view.setTag(cache);</span></div><code><code><code><code><code><code><code>最后那3个activity，一个透明背景activity、一个透明并且模糊不清背景activity、一个用你的壁纸做背景的activity都使用了自定义的theme，可以自己看看，放到自己的应用中。<br /><div></div>这篇总结先到这，有些乱。</code></code></code></code></code></code></code></div><div></div></div><br /> </div></div></div></div></div></div><img src ="http://www.blogjava.net/ZircoN/aggbug/370128.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ZircoN/" target="_blank">ZircoN</a> 2012-02-24 15:32 <a href="http://www.blogjava.net/ZircoN/archive/2012/02/24/370128.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>API Demos_入口</title><link>http://www.blogjava.net/ZircoN/archive/2012/01/10/368140.html</link><dc:creator>ZircoN</dc:creator><author>ZircoN</author><pubDate>Tue, 10 Jan 2012 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/ZircoN/archive/2012/01/10/368140.html</guid><wfw:comment>http://www.blogjava.net/ZircoN/comments/368140.html</wfw:comment><comments>http://www.blogjava.net/ZircoN/archive/2012/01/10/368140.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ZircoN/comments/commentRss/368140.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ZircoN/services/trackbacks/368140.html</trackback:ping><description><![CDATA[基于android 2.3.3的API Demos。<br />先看下ApiDemosApplication.java这个类，这个类继承自Application，主要作用是保存一些全局的状态，这个类会在你的应用程序创建时便被实例化，<br />这个类的类名，便是AndroidManifest.xml 的 &lt;application&gt; tag的name。比如在这个类中onCreate()中：<br /><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"><span style="color: #000000; ">PreferenceManager.setDefaultValues(</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">,&nbsp;R.xml.default_values,&nbsp;</span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">);</span></div>这个方法将会从default_values.xml中填充默认的值到com.example.android.apis_preferences.xml这个默认的配置文件中去。<br />这个配置文件在/data/data/com.example.android.apis/shared_prefs/下。根据官方API，This should be called by the application's main activity. <br />这样其他的activity、service等才能相应的使用这个配置文件。<br />接着看下ApiDemos.java，这个类充分应用了AndroidManifest.xml这个文件。首先这个类是程序入口，一个ListActivity，这个类会重复利用到。<br />在其onCreate()方法里，第一次时path=""即prefix=""，接着看getData()这个方法，这个方法就是给这个listview填值的，填入的值放在myData这个List&lt;Map&gt;中：<br /><div><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "><div></div><div>Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);<br />mainIntent.addCategory(Intent.CATEGORY_SAMPLE_CODE);</div>PackageManager&nbsp;pm&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;getPackageManager();<br />List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">ResolveInfo</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;list&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;pm.queryIntentActivities(mainIntent,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000;">);</span></div></div>这段代码将AndroidManifest.xml文件中所有Intent action是ACTION_MAIN及category是<span style="color: #000000;">CATEGORY_SAMPLE_CODE</span>的activity全部取得。放入list中。<br />下面就是一些逻辑了，应该能看懂。<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "><div>ResolveInfo info = list.get(i);</div>CharSequence&nbsp;labelSeq&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;info.loadLabel(pm);</span></div>取得所有activity的label，label的格式类似于App/Activity/Hello World这样的，如果我们点击App或者Activity时还是调用ApiDemos.java这个类，只是listview的内容<br />在变而已，在browseIntent()这个方法中。<br />每个列表项是按照首个字符的ascii码排序的，在sDisplayNameComparator中可以看到，列表项还可以按照你输入的字符过滤。<br /><br /><img src ="http://www.blogjava.net/ZircoN/aggbug/368140.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ZircoN/" target="_blank">ZircoN</a> 2012-01-10 11:01 <a href="http://www.blogjava.net/ZircoN/archive/2012/01/10/368140.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>