<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>xsmile's Blog</title>
	<atom:link href="http://www.xsmile.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.xsmile.net</link>
	<description>分享点点滴滴</description>
	<lastBuildDate>Thu, 22 Jul 2010 12:39:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>199元能做什么？能买个WINDOWS 7 Professional！</title>
		<link>http://www.xsmile.net/?p=303</link>
		<comments>http://www.xsmile.net/?p=303#comments</comments>
		<pubDate>Thu, 22 Jul 2010 12:39:26 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[零零碎碎]]></category>
		<category><![CDATA[office]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=303</guid>
		<description><![CDATA[微软总算做了一个还算不错的优惠，虽然迟了点~~ 在校大学生可以以199元的优惠价购买Windows 7 专业版，149元的优惠价购买office2010专业版！要知道这些原价可都是天价啊！！ 我已经下手了~~~嘿... ]]></description>
			<content:encoded><![CDATA[<p>    <a href="http://www.xsmile.net/blogs/xsmile/wordpress/wp-content/uploads/2010/07/screenshot.22-07-2010-20.34.38.jpg"><img src="http://www.xsmile.net/blogs/xsmile/wordpress/wp-content/uploads/2010/07/screenshot.22-07-2010-20.34.38.jpg" alt="" title="微软校园先锋" width="246" height="129" class="alignnone size-full wp-image-304" /></a></p>
<p>    微软总算做了一个还算不错的优惠，虽然迟了点~~</p>
<p>    在校大学生可以以199元的优惠价购买Windows 7 专业版，149元的优惠价购买office2010专业版！要知道这些原价可都是天价啊！！</p>
<p>    我已经下手了~~~嘿嘿~~</p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=303&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=303</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自娱指弹</title>
		<link>http://www.xsmile.net/?p=297</link>
		<comments>http://www.xsmile.net/?p=297#comments</comments>
		<pubDate>Wed, 26 May 2010 00:38:22 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[零零碎碎]]></category>
		<category><![CDATA[flower]]></category>
		<category><![CDATA[吉他]]></category>
		<category><![CDATA[指弹]]></category>
		<category><![CDATA[流行云]]></category>
		<category><![CDATA[音乐]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=297</guid>
		<description><![CDATA[最近迷上了指弹，翻出大学时买的古典吉他（普及型），劈里啪啦就耍起来了~~自认为小有成就，放出“结业”视频，纯属娱乐~~ 录音环境：无隔音效果书房+组装机+5元耳麦+30W像素（插值）摄... ]]></description>
			<content:encoded><![CDATA[<p>最近迷上了指弹，翻出大学时买的古典吉他（普及型），劈里啪啦就耍起来了~~自认为小有成就，放出“结业”视频，纯属娱乐~~</p>
<p>录音环境：无隔音效果书房+组装机+5元耳麦+30W像素（插值）摄像头</p>
<p>录音过程：麦克风直接放入吉他音孔，采用摄像头自带软件录取视频和音频，后期简单剪辑了一下，未作任何效果处理。</p>
<p>翻弹 岸部真明《Flower》</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowscriptaccess" value="always" /><param name="wmode" value="window" /><param name="src" value="http://6.cn/p/49W1FSToRyDLpOcaOEf_sQ.swf" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://6.cn/p/49W1FSToRyDLpOcaOEf_sQ.swf" wmode="window" allowscriptaccess="always"></embed></object></p>
<p>翻弹 岸部真明《流行云》</p>
<p><object width="480" height="385"><param name="allowscriptaccess" value="always"></param><param name="wmode" value="window"></param><param name="movie" value="http://6.cn/p/uxgzO0_RdcrIhvWLKygFsA.swf"></param><embed src="http://6.cn/p/uxgzO0_RdcrIhvWLKygFsA.swf" width="480" height="385" allowscriptaccess="always" wmode="window"  type="application/x-shockwave-flash"></embed></object></p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=297&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=297</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android1.5学习笔记–图片移动</title>
		<link>http://www.xsmile.net/?p=287</link>
		<comments>http://www.xsmile.net/?p=287#comments</comments>
		<pubDate>Sun, 21 Feb 2010 04:04:48 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[移动]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=287</guid>
		<description><![CDATA[如何在android上实现用手指移动图片？其中涉及到图片位置变换的思路，个人总结大致有两种： 一、 用ImageView包装图片，并放在AbsoluteLayout上，然后通过ImageView的setLayoutParams方法重设在AbsoluteLayo... ]]></description>
			<content:encoded><![CDATA[<p>如何在android上实现用手指移动图片？其中涉及到图片位置变换的思路，个人总结大致有两种：<br />
一、	用ImageView包装图片，并放在AbsoluteLayout上，然后通过ImageView的setLayoutParams方法重设在AbsoluteLayout上的位置来实现图片的移动。<br />
二、	继承layout或者view类，并覆写onDraw方法，从底层对图像进行重绘来实现图片的移动。</p>
<p>个人觉得第二种方法更好，所以就讲讲它的实现吧。关于是继承layout，还是继承view，这个纯粹要看你的软件设计思路。个人认为继承layout的好处就是，你可以在上面继续放置其他layout或者view，而view上就不可以了。既然要实现手指移动，首先要保证组件是可触摸的，且能获取焦点。这两句话少不了：<br />
setFocusable(true);<br />
setFocusableInTouchMode(true);<br />
当然更少不了onTouchEvent的事件了。下面是一个空函数示例。<br />
<span id="more-287"></span></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> GuessFunView <span style="color: #000000; font-weight: bold;">extends</span> LinearLayout <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> GuessFunView<span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span> context<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span>context<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                setFocusable<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                setFocusableInTouchMode<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//do something</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GuessFunView<span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span> context, <span style="color: #003399;">AttributeSet</span> attrs<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span>context, attrs<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                setFocusable<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                setFocusableInTouchMode<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//do something</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> onDraw<span style="color: #009900;">&#40;</span><span style="color: #003399;">Canvas</span> canvas<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onDraw</span><span style="color: #009900;">&#40;</span>canvas<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//do something</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> onTouchEvent<span style="color: #009900;">&#40;</span>MotionEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #666666; font-style: italic;">// float x = event.getX();</span>
       <span style="color: #666666; font-style: italic;">// float y = event.getY();</span>
        <span style="color: #000000; font-weight: bold;">switch</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">getAction</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">case</span> MotionEvent.<span style="color: #006633;">ACTION_DOWN</span><span style="color: #339933;">:</span>
            	<span style="color: #666666; font-style: italic;">//do something</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">case</span> MotionEvent.<span style="color: #006633;">ACTION_MOVE</span><span style="color: #339933;">:</span>
            	<span style="color: #666666; font-style: italic;">//do something</span>
                invalidate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">case</span> MotionEvent.<span style="color: #006633;">ACTION_UP</span><span style="color: #339933;">:</span>
                <span style="color: #666666; font-style: italic;">//do something</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
          <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
 <span style="color: #009900;">&#125;</span></pre></div></div>

<p>讲一下实现流程。当GuessFunView被创建后，将首先触发onDraw方法，该方法用来绘制显示的图样。当手指触摸、移动或者离开动作时，将触发onTouchEvent方法。在这个方法里面实现记录和计算坐标，并通过调用<span style="color: #ff0000;">invalidate()</span>方法，强制重绘图形（可以这样理解，每调用一次invalidate（）方法，相当于重新执行一次onDraw方法）。<br />
关键就是onDraw这个函数。而图像的绘制显示离不开Canvas这个被称为画布的神奇的东东，想在哪里显示，就在哪里画。举个例子：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">Paint</span> nPaint<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Paint</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
@Override
<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> onDraw<span style="color: #009900;">&#40;</span><span style="color: #003399;">Canvas</span> canvas<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onDraw</span><span style="color: #009900;">&#40;</span>canvas<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                canvas.<span style="color: #006633;">drawBitmap</span><span style="color: #009900;">&#40;</span>pp, ppX, ppY, nPaint<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Canvas的方法很多，上面这个例子中的drawBitmap方法是用来绘制bitmap图形的。第一个参数pp指明图片，ppX、ppY指明图片的坐标，nPaint参数可以理解为画笔，指明绘制的风格（比如在画几何图形的时候可以通过这个参数设置颜色，粗细等）。<br />
其中ppX和ppY这两个参数就是实现图片任意移动的关键所在。</p>
<p>具体示例代码可以参考我“猜数字”游戏的<a href="http://code.google.com/p/gngame/">源码</a>（有点乱，只能参考）。</p>
<p>有了自定义的layout了，那怎样将它显示在屏幕上呢？来看一下main.xml这个布局文件中的片段：</p>
<p>&lt;net.xsmile.game.GuessFunView android:id=&#8221;<strong>@+id/gngfun</strong>&#8221; &gt;</p>
<p>&#8230; &#8230;</p>
<p>&lt;/net.xsmile.game.GuessFunView&gt;</p>
<p>这样定义之后，就可以在Activity中使用setContentView(R.layout.main)来显示了。</p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=287&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=287</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android1.5学习笔记&#8211;Menu</title>
		<link>http://www.xsmile.net/?p=279</link>
		<comments>http://www.xsmile.net/?p=279#comments</comments>
		<pubDate>Mon, 08 Feb 2010 04:36:14 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=279</guid>
		<description><![CDATA[任何一款软件都少不了对“菜单”的使用。在Android下，每一个activity都捆绑了一个Menu，要想定义和使用菜单，都必须在Activity下进行操作，复写onCreateOptionsMenu 和 onOptionsItemSelected这两个方法。... ]]></description>
			<content:encoded><![CDATA[<p><img style="border: 0px initial initial;" title="menu" src="http://pic.yupoo.com/xsmile/252288d30974/medium.jpg" alt="" width="388" height="300" /></p>
<p>任何一款软件都少不了对“菜单”的使用。在Android下，每一个activity都捆绑了一个Menu，要想定义和使用菜单，都必须在Activity下进行操作，复写onCreateOptionsMenu 和 onOptionsItemSelected这两个方法。举例如下：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@Override
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> onCreateOptionsMenu<span style="color: #009900;">&#40;</span><span style="color: #003399;">Menu</span> menu<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">//调用基类的方法，以便调出系统菜单（如果有的话）</span>
    <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreateOptionsMenu</span><span style="color: #009900;">&#40;</span>menu<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    menu.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #0000ff;">&quot;重新开始&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setIcon</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">drawable</span>.<span style="color: #006633;">refresh</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    menu.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #0000ff;">&quot;游戏指南&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setIcon</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">drawable</span>.<span style="color: #006633;">help</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    menu.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #0000ff;">&quot;关于游戏&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setIcon</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">drawable</span>.<span style="color: #006633;">info</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    menu.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #0000ff;">&quot;不想玩了&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setIcon</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">drawable</span>.<span style="color: #006633;">exit</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">//返回值为”true”，表示菜单可见，即显示菜单</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>看一看menu.add的方法中的参数：</p>
<p><span id="more-279"></span><br />
第一个int类型的group ID参数，代表的是组概念，你可以将几个菜单项归为一组，以便更好的以组的方式管理你的菜单按钮。可以用到的方法有：<br />
removeGroup(id)<br />
setGroupCheckable(id, checkable, exclusive)<br />
setGroupEnabled(id,boolean enabled)<br />
setGroupVisible(id,visible)<br />
个人认为，当你需要在不同场合下显示不同的menu的时候，合理使用这个参数将更为有效的处理菜单的显示。否则一般情况下都归为一组。<br />
第二个int类型的item ID参数，代表的是项目编号。这个参数非常重要，一个item ID对应一个Menu中的选项。在后面使用菜单的时候，就是靠这个item ID来判断，你选中的是哪个选项。<br />
第三个int类型的order ID参数，代表的是菜单项的显示顺序。默认是0，表示菜单的显示顺序就是按照add的顺序来显示。<br />
第四个String类型的title参数，表示选项中显示的文字。<br />
再看看setIcon方法，就是为菜单添加图标显示，使用用资源文件。</p>
<p>设计好了菜单，继续复写onOptionsItemSelected方法，用以对菜单的响应，示例代码：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@Override
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> onOptionsItemSelected<span style="color: #009900;">&#40;</span><span style="color: #003399;">MenuItem</span> item<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onOptionsItemSelected</span><span style="color: #009900;">&#40;</span>item<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">switch</span><span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">getItemId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>
            <span style="color: #666666; font-style: italic;">//处理代码</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>
            <span style="color: #666666; font-style: italic;">//处理代码</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">:</span>
            <span style="color: #666666; font-style: italic;">//处理代码</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">4</span><span style="color: #339933;">:</span>
            finish<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=279&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=279</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>三顾汇聚</title>
		<link>http://www.xsmile.net/?p=274</link>
		<comments>http://www.xsmile.net/?p=274#comments</comments>
		<pubDate>Mon, 01 Feb 2010 12:08:01 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[零零碎碎]]></category>
		<category><![CDATA[sangu]]></category>
		<category><![CDATA[聚合]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=274</guid>
		<description><![CDATA[简单来讲，三顾是个聚合网站，他将好友的所有相关更新集中呈现，比如相片、blog、豆瓣等等。如果你手上有一台Hero（G3），你就会发现“三顾”和G3联系人中的社交网络功能“不谋而合”~ 目... ]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="sangu" src="http://pic.yupoo.com/xsmile/147778ca3918/medium.jpg" alt="" width="361" height="292" /></p>
<p>简单来讲，<a href="http://sangu.me" target="_blank">三顾</a>是个聚合网站，他将好友的所有相关更新集中呈现，比如相片、blog、豆瓣等等。如果你手上有一台Hero（G3），你就会发现“三顾”和G3联系人中的社交网络功能“不谋而合”~</p>
<p>目前“三顾”测试版本可提供的聚合服务项目有嘀咕、豆瓣、又拍、picasa等等</p>
<p><img class="alignnone" title="sangu" src="http://pic.yupoo.com/xsmile/919898ca3915/medium.jpg" alt="" width="246" height="297" /></p>
<p>相信未来会有更多的服务加入进来。在这个众乱纷飞的时代，确实需要这样一跟绳索，将杂乱变为有序，至少能让我们有个可以”顺藤摸瓜“的机会。</p>
<p><img class="alignnone" title="sangu" src="http://pic.yupoo.com/xsmile/024028ca3916/medium.jpg" alt="" width="500" height="278" /></p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=274&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=274</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android版“猜数字”</title>
		<link>http://www.xsmile.net/?p=267</link>
		<comments>http://www.xsmile.net/?p=267#comments</comments>
		<pubDate>Thu, 28 Jan 2010 15:04:34 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[猜数字]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=267</guid>
		<description><![CDATA[入手G3有一段时间了，正好这段时间有空，就把android的文档拿出来翻了翻，想起android刚出来的时候，我也是拿“猜数字”这个游戏做了一次学习。现在回过头来再看看，很是感慨啊~~这次总算... ]]></description>
			<content:encoded><![CDATA[<p>入手G3有一段时间了，正好这段时间有空，就把android的文档拿出来翻了翻，想起android刚出来的时候，我也是拿“猜数字”这个游戏做了一次学习。现在回过头来再看看，很是感慨啊~~这次总算是完善了一把，Android版猜数字 正式出品~~</p>
<p><img class="alignnone" title="gng" src="http://pic.yupoo.com/xsmile/990168c51b5c/medium.jpg" alt="" width="320" height="480" /></p>
<p><span id="more-267"></span></p>
<p><img class="alignnone" title="gng" src="http://pic.yupoo.com/xsmile/152598c51b5a/medium.jpg" alt="" width="320" height="480" /></p>
<p><img class="alignnone" title="gng" src="http://pic.yupoo.com/xsmile/400998c51b5b/medium.jpg" alt="" width="320" height="480" /></p>
<p>实测G3（HTC Hero）下使用正常，运行在Android1.5版本上，其他版本未测。<span style="color: #ff0000;">注意：此游戏适用屏幕分辨率320*480</span></p>
<p>apk安装包下载地址：<a href="http://code.google.com/p/gngame/downloads/list">http://code.google.com/p/gngame/downloads/list</a></p>
<p>已在Google Code上建立项目：<a href="http://code.google.com/p/gngame/">http://code.google.com/p/gngame/</a></p>
<p>“猜数字”游戏完整源码地址：<a href="http://gngame.googlecode.com/svn/trunk/">http://gngame.googlecode.com/svn/trunk/</a></p>
<p>代码未经整理，不过应该能看得懂&#8230;</p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=267&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=267</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android1.5学习笔记——Activity和Intent</title>
		<link>http://www.xsmile.net/?p=259</link>
		<comments>http://www.xsmile.net/?p=259#comments</comments>
		<pubDate>Thu, 14 Jan 2010 11:28:51 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[activity]]></category>
		<category><![CDATA[intent]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=259</guid>
		<description><![CDATA[一个界面就是一个Activity，不同的界面之间切换（单纯的转向或是传递数据转向）均需要 Intent 媒介，并通过使用 startActivity（myintent）或者startActivityForResult（myintent）实现。举例如下： 代码1 //... ]]></description>
			<content:encoded><![CDATA[<p>一个界面就是一个Activity，不同的界面之间切换（单纯的转向或是传递数据转向）均需要 Intent 媒介，并通过使用 startActivity（myintent）或者startActivityForResult（myintent）实现。举例如下：</p>
<p>代码1</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"> <span style="color: #666666; font-style: italic;">//单纯切换界面</span>
Intent myintent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>，otherPage.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
startActivity<span style="color: #009900;">&#40;</span>myintent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>该段代码将从当前页面跳转到名为otherPage的界面。</p>
<p>如果要传递数据给下一个页面，需要将数据绑定至Intent中。</p>
<p>代码2</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Intent myintent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>,otherPage.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
myintent.<span style="color: #006633;">putExtra</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_1”,MY_stringDATA_1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
myintent.<span style="color: #006633;">putExtra</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_2”,MY_stringDATA_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
startActivity<span style="color: #009900;">&#40;</span>myintent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>如果传递的数据比较多，可以创建一个Bundle类，它是一种特别定义的Map类型，采用一名一值对应形式存储数据。</p>
<p>代码3</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Bundle mybundle <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Bundle<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
mybundle.<span style="color: #006633;">putString</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_1”,MY_stringDATA_1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
mybundle.<span style="color: #006633;">putString</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_2”,MY_stringDATA_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
mybundle.<span style="color: #006633;">putInt</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_3”,MY_intDATA_3<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Intent myintent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>,otherPage.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
myintent.<span style="color: #006633;">putExtras</span><span style="color: #009900;">&#40;</span>mybundle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
startActivity<span style="color: #009900;">&#40;</span>myintent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>*注意红色字体，在加入Bundle类型的数据到Intent中时，需要用到putExtra<span style="color: #ff0000;">s</span>（）方法。</p>
<p>那么下一个页面该如何接受数据呢？对照代码2和代码3，分别看一下otherPage中的相关代码</p>
<p><span id="more-259"></span></p>
<p>对照代码2</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Intent receiver <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getIntent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> mydata1<span style="color: #339933;">=</span>receiver.<span style="color: #006633;">getStringExtra</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_1”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> mydata2<span style="color: #339933;">=</span>receiver.<span style="color: #006633;">getStringExtra</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_2”<span style="color: #009900;">&#41;</span></pre></div></div>

<p>对照代码3</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Bundle mydatas <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getIntent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getExtras</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> mydata1 <span style="color: #339933;">=</span> mydatas.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_1”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> mydata2 <span style="color: #339933;">=</span> mydatas.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_2”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">int</span> mydata3 <span style="color: #339933;">=</span> mydatas.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span>“MY_DATA_NAME_3”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>那么，如果我们需要从下一个页面取得返回值，供前一个页面使用呢？看看下面的代码</p>
<p><!--more--></p>
<p>代码4</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> TAG_A <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> TAG_B <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//some other codes here …</span>
Intent myintent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>,nextPageA.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
startActivityForResult<span style="color: #009900;">&#40;</span>myintent,TAG_A<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">/* some other codes here
 …  …  … */</span>
<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> onActivityResult<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> requestCode, <span style="color: #000066; font-weight: bold;">int</span> resultCode, Intent intent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onActivityResult</span><span style="color: #009900;">&#40;</span>requestCode, resultCode, intent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000000; font-weight: bold;">switch</span><span style="color: #009900;">&#40;</span>requestCode<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     <span style="color: #000000; font-weight: bold;">case</span> TAG_A<span style="color: #339933;">:</span>
          <span style="color: #666666; font-style: italic;">//do something</span>
          <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
     <span style="color: #000000; font-weight: bold;">case</span> TAG_B<span style="color: #339933;">:</span>
          <span style="color: #666666; font-style: italic;">//do something</span>
          <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>当使用startActivityForResult（）方法时，都需要覆写onActivityResult（）方法对返回值进行处理。注意startActivityForResult（）中第二个int类型的参数，这个值是自定义的标记值，用来标记当前的intent。</p>
<p>如果一个页面需要进行多次不同的跳转，并都需要接受返回值时，这个标记值将非常有用。因为所有使用了startActivityForResult（）方法所得到的返回值都会在onActivityResult函数中被接收到。可以看到在onActivityReslut函数中，使用了switch(request)来对标记值进行判断，用来确定接收到的是哪个intent所发出的。</p>
<p>再看看nextPageA中的代码，他是怎么执行返回值操作的。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Intent back <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
back.<span style="color: #006633;">putExtra</span><span style="color: #009900;">&#40;</span>“BACK_DATA_NAME”,BACK_DATA<span style="color: #009900;">&#41;</span>；
setResult（RESULT_OK,back）<span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//usually end this activity</span>
finish<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>通过setResult（）方法来执行返回值操作。数值依然绑定在intent中进行传送。</p>
<p>注意看setResult（）方法中的第一个int类型参数，作用依然是标记值，用来判断执行成功与否。可以自定义，但必须从1开始（一般用不着自定义吧）。RESULT_OK是自带参数，它的值为-1，还有个自带参数RESULT_CANCELED，它的值为0。</p>
<p>当发生特殊情况，比如产生返回值的activity崩溃了，这个参数将自动设为RESULT_CANCELED。在接受返回值的activity中的onActivityResult（）方法中，resultCode就是对应的这个标记值。</p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=259&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=259</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>杂谈HTC Hero</title>
		<link>http://www.xsmile.net/?p=257</link>
		<comments>http://www.xsmile.net/?p=257#comments</comments>
		<pubDate>Fri, 18 Dec 2009 17:15:15 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[零零碎碎]]></category>
		<category><![CDATA[g3]]></category>
		<category><![CDATA[hero]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[radios]]></category>
		<category><![CDATA[rom]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=257</guid>
		<description><![CDATA[入手Hero已经有几天了，折腾了几个晚上，终于累了。它让我想起了折腾touch的那段时光，那个时候感觉乐此不疲，现在却有点心力憔悴。这篇文章不是教程，所以有任何疑问请访问http://www.hiapk.... ]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="hero" src="http://pic.yupoo.com/xsmile/3380288f1cbb/medium.jpg" alt="" width="320" height="480" /></p>
<p>入手Hero已经有几天了，折腾了几个晚上，终于累了。它让我想起了折腾touch的那段时光，那个时候感觉乐此不疲，现在却有点心力憔悴。这篇文章不是教程，所以有任何疑问请访问http://www.hiapk.com，善用论坛搜索功能。但在你搜索之前，请务必看完下面的一句话&#8230;</p>
<p><span style="color: #ff0000;">请无条件刷机，将G3的ROM更新为最新官方2.73.405.5版本，radios始终更新为最新版本（当前最新版本为63.18.55.06ju_6.35.09.26），它将彻底解决G3最为普遍的上网、收发彩信以及google账户连接绑定、Market下载等问题！</span></p>
<p><span style="color: #ff0000;"><span id="more-257"></span><br />
</span></p>
<p><span style="color: #ff0000;"><img class="alignnone" title="information" src="http://pic.yupoo.com/xsmile/0058788f1cb7/medium.jpg" alt="" width="320" height="480" /></span></p>
<p>Hero的魅力完全是因为Google的魅力，没有Google，也就没有Hero。这里总免不了要拿iPhone出来说事，就我感受而言，iPhone玩的是炫，Hero则是在酷的基础上玩的是理念。拿着G3，你就和网络融为一体，你手里握着的不再是一部手机，而是一个属于你的Internet。你会拒绝Internet么，所以你更不会拒绝G3。</p>
<p>刚拿到手的机器在触摸屏的使用感受上确实不如iphone灵敏，但在更新了版本号为2.73.405.5的官方ROM之后，就和iphone相差无几了。为什么不说超过呢，是因为在一些细节处理上，G3确实做的没有iPhone好，比如移动光标，iPhone用户都知道，长按屏幕就会有个放大镜出来，指示出光标所在位置，然后滑动，光标就会任意移动和定位，这点就非常好。而在G3中，则要点击所要移动光标的位置，硕大的手指操控起来确实很不方便。</p>
<p>但是这些小小的瑕疵丝毫没有减弱Hero的吸引力，来看一下G3的短信</p>
<p><img class="alignnone" title="SMS" src="http://pic.yupoo.com/xsmile/4564188f1cc1/medium.jpg" alt="" width="320" height="480" /></p>
<p><img class="alignnone" title="chat" src="http://pic.yupoo.com/xsmile/7518288f1cba/medium.jpg" alt="" width="320" height="480" /></p>
<p>是的，没错，这就是SMS，G3将无聊的短信收发变成了一个快乐的Chat，单单这一点，就可以把iPhone华丽的效果踩在脚下。Google做的远比表面看的好。</p>
<p>GPS定位和电子罗盘</p>
<p><img class="alignnone" title="gps" src="http://pic.yupoo.com/xsmile/3653288f1cbd/medium.jpg" alt="" width="320" height="480" /></p>
<p>Market丰富的软件应用</p>
<p><img class="alignnone" title="market" src="http://pic.yupoo.com/xsmile/7837488f1cc1/medium.jpg" alt="" width="320" height="480" /></p>
<p>锁屏界面</p>
<p><img class="alignnone" title="lock" src="http://pic.yupoo.com/xsmile/6089088f1cc1/medium.jpg" alt="" width="320" height="480" /></p>
<p>G3将所有事件以通知的形式反映出来，看图片左上角的图标，用手指拖动将会下拉一个通知界面，点击可以跳转到相关位置。</p>
<p><img class="alignnone" title="notify" src="http://pic.yupoo.com/xsmile/0199188f2b77/medium.jpg" alt="" width="320" height="480" /></p>
<p>G3的程序界面</p>
<p><img class="alignnone" title="programs" src="http://pic.yupoo.com/xsmile/6026988f1cb8/medium.jpg" alt="" width="320" height="480" /></p>
<p>G3的小插件</p>
<p><img class="alignnone" title="widget" src="http://pic.yupoo.com/xsmile/0471488f1cbe/medium.jpg" alt="" width="320" height="480" /></p>
<p>最后给出我的一个帖子的链接，相信可以解决很多使用G3的人的困惑<a href="http://www.hiapk.com/bbs/thread-65105-1-1.html">http://www.hiapk.com/bbs/thread-65105-1-1.html</a></p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=257&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=257</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTC Hero到手！</title>
		<link>http://www.xsmile.net/?p=253</link>
		<comments>http://www.xsmile.net/?p=253#comments</comments>
		<pubDate>Wed, 16 Dec 2009 05:05:14 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[零零碎碎]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[g3]]></category>
		<category><![CDATA[hero]]></category>
		<category><![CDATA[htc]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=253</guid>
		<description><![CDATA[垂涎这款手机已经很久了，前天老婆给了我大惊喜，送了我一台~~~太感动了~~~~~原版机器，原装Android1.5系统（非某些水货自刷的“心机”ROM），屏幕无坏点，完美~~~目前还在捣鼓摸索中，初步... ]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 510px"><img title="HTC Hero" src="http://pic.yupoo.com/xsmile/2571088bdc24/medium.jpg" alt="G3" width="500" height="375" /><p class="wp-caption-text">G3</p></div>
<p>垂涎这款手机已经很久了，前天老婆给了我大惊喜，送了我一台~~~太感动了~~~~~原版机器，原装Android1.5系统（非某些水货自刷的“心机”ROM），屏幕无坏点，完美~~~目前还在捣鼓摸索中，初步感觉下来，触摸体验和iPhone有一定的差距，具体表现在反应速度上面，如果突然快速的滑动画面，iPhone会即时做出反应，但是G3有时会表现的反应不过来。目前最让我惊叹的是G3的短信系统，他的短信系统设计得和聊天一样，一摆传统短信，打开，查看，回复的老套路。和朋友发短信就像在GTalk~~~这感觉非常棒！！</p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=253&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=253</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>感受西湖，感受音乐</title>
		<link>http://www.xsmile.net/?p=241</link>
		<comments>http://www.xsmile.net/?p=241#comments</comments>
		<pubDate>Tue, 02 Jun 2009 16:07:08 +0000</pubDate>
		<dc:creator>xsmile</dc:creator>
				<category><![CDATA[随心札记]]></category>
		<category><![CDATA[西湖]]></category>
		<category><![CDATA[音乐]]></category>

		<guid isPermaLink="false">http://www.xsmile.net/?p=241</guid>
		<description><![CDATA[        终于在端午小长假来到了杭州，来到了传说中的人间天堂。见到了西湖，也见到了许巍。感谢Internet，解决了我的旅馆预订、返程车票和演唱会的门票。感谢Google Map，解决了我的周... ]]></description>
			<content:encoded><![CDATA[<p>        终于在端午小长假来到了杭州，来到了传说中的人间天堂。见到了西湖，也见到了许巍。感谢Internet，解决了我的旅馆预订、返程车票和演唱会的门票。感谢Google Map，解决了我的周边出行线路。正因有了它们，我们的旅行才如此顺利。</p>
<p>        我非常喜欢西湖的绿，这里的绿层层叠叠，厚重浓郁，还有很多漂亮的建筑隐藏在这绿中，弥漫着浪漫的情调。在西湖边，听着西湖水的呼吸，迎着凉爽的风，我的心也随之消散、弥漫。如果抛开周围鼎沸的人群，抛开不远处嘈杂的车流，我真的就觉得我身处仙境，只可惜天堂与人间靠的太近。</p>
<p><object width="500" height="375" data="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdce5012191cf56b13dfb-m" type="application/x-shockwave-flash"><param name="src" value="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdce5012191cf56b13dfb-m" /><param name="quality" value="high" /></object></p>
<p>        在西湖边，我终于站在了现场。现场激情四射，人潮涌动。虽然很多音乐我已无法产生共鸣，更多的只是聆听，但情绪的感染，我还是会扯着嗓子高喊一声。在这里，我感受到了牛奶&amp;咖啡香浓的柔情，新裤子的劲爆与彪悍，陈珊妮的靡靡之音，还有许巍的激情碰撞。</p>
<p><object width="500" height="375" data="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdcd50121918fe8bb2e18-m" type="application/x-shockwave-flash"><param name="src" value="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdcd50121918fe8bb2e18-m" /><param name="quality" value="high" /></object></p>
<p><span id="more-241"></span></p>
<p><object width="500" height="375" data="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdcd801219192087233c9-m" type="application/x-shockwave-flash"><param name="src" value="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdcd801219192087233c9-m" /><param name="quality" value="high" /></object></p>
<p><img class="alignnone" title="许巍" src="http://pic.yupoo.com/xsmile/04502784a270/medium.jpg" alt="" width="500" height="375" /></p>
<p>        西湖，一个适合休闲、漫步的地方，当我们骑车穿越在苏堤之上，迎着水边的清风，那是一种只想永恒的感觉。</p>
<p><object width="500" height="375" data="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdce3012191cf8e453bb4-m" type="application/x-shockwave-flash"><param name="src" value="http://f.yupoo.com/v.swf?id=xsmile-ff808081210fdce3012191cf8e453bb4-m" /><param name="quality" value="high" /></object></p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff808081210fdce5012191ce68263de4"></a></p>
<p><a href="http://www.yupoo.com/albums/view?id=ff808081210fdce30121918af8ff36b5" target="_blank">更多照片点这里</a></p>
<p>        听一听牛奶&amp;咖啡乐队的这首“越长大约孤单”吧~<br />
<object width="366" height="313" data="http://6.cn/p/d74dTwDBg9Cec0OvbXdEyQ.swf" type="application/x-shockwave-flash"><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="src" value="http://6.cn/p/d74dTwDBg9Cec0OvbXdEyQ.swf" /></object><br />
 </p>
<p> </p>
<p><!--EndFragment--></p>
<img src="http://www.xsmile.net/blogs/xsmile/wordpress/?ak_action=api_record_view&id=241&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.xsmile.net/?feed=rss2&amp;p=241</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
