<?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>奋斗 &#187; android</title>
	<atom:link href="http://fangfangtu.com/blog/tag/android/feed/" rel="self" type="application/rss+xml" />
	<link>http://fangfangtu.com/blog</link>
	<description>生命在于折腾</description>
	<lastBuildDate>Fri, 23 Jul 2010 13:45:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>mp3 cover fetcher</title>
		<link>http://fangfangtu.com/blog/2010/05/mp3-cover-fetcher/</link>
		<comments>http://fangfangtu.com/blog/2010/05/mp3-cover-fetcher/#comments</comments>
		<pubDate>Thu, 13 May 2010 13:35:49 +0000</pubDate>
		<dc:creator>bborn</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[droidisland]]></category>
		<category><![CDATA[mp3 cover fetcher]]></category>

		<guid isPermaLink="false">http://fangfangtu.com/blog/?p=836</guid>
		<description><![CDATA[mp3 cover fetcher 是android手机上的一个软件 它可以通过读取mp3的tag信息,查询到mp3所属专辑唱片的封面 并且下载下来,写入到mp3文件里 这样 在你的听音乐的时候 播放器里不会再是一片空白 软件很简单 而且它是免费的! 在android market里搜索&#8221;mp3 cover fetcher&#8221; 更方便的扫描这个qr code 就是这样 可能相关2009-12-06 -- HERO是个好手机2009-08-22 -- 强大的Google2009-07-06 -- 改进版的Google 翻译前端]]></description>
			<content:encoded><![CDATA[<p>mp3 cover fetcher 是android手机上的一个软件<br />
它可以通过读取mp3的tag信息,查询到mp3所属专辑唱片的封面<br />
并且下载下来,写入到mp3文件里<br />
这样 在你的听音乐的时候 播放器里不会再是一片空白<br />
软件很简单 而且它是免费的!<br />
在android market里搜索&#8221;mp3 cover fetcher&#8221;<br />
更方便的扫描这个qr code<br />
<img src="http://bborn.cn/image/readimg.php?src=http%3A%2F%2Flh6.gouride.com%2F_eKKBmJB2_L4%2FS-v9FWEpiHI%2FAAAAAAAAADE%2FVAtVCnLgt3E%2Fs144%2Fmp3tag.png" alt="qr code" /></p>
<p><img src="http://bborn.cn/image/readimg.php?src=http%3A%2F%2Flh5.gouride.com%2F_eKKBmJB2_L4%2FS-v_DfZIyyI%2FAAAAAAAAADI%2FwjyPs_HjdqE%2Fs800%2F1.png" alt="main" /><br />
<img src="http://bborn.cn/image/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_eKKBmJB2_L4%2FS-v_DZTeNJI%2FAAAAAAAAADM%2FYh80XaiT5gM%2Fs800%2F2.png" alt="2" /><br />
<img src="http://bborn.cn/image/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_eKKBmJB2_L4%2FS-v_DjP1teI%2FAAAAAAAAADQ%2FqwPTBVqVxwQ%2Fs800%2F3.png" alt="3" /></p>
<p>就是这样</p>
<h3  class="related_post_title">可能相关</h3><ul class="related_post"><li>2009-12-06 -- <a href="http://fangfangtu.com/blog/2009/12/htc-hero/" title="HERO是个好手机">HERO是个好手机</a></li><li>2009-08-22 -- <a href="http://fangfangtu.com/blog/2009/08/google/" title="强大的Google">强大的Google</a></li><li>2009-07-06 -- <a href="http://fangfangtu.com/blog/2009/07/gtranslator/" title="改进版的Google 翻译前端">改进版的Google 翻译前端</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fangfangtu.com/blog/2010/05/mp3-cover-fetcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HERO是个好手机</title>
		<link>http://fangfangtu.com/blog/2009/12/htc-hero/</link>
		<comments>http://fangfangtu.com/blog/2009/12/htc-hero/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 13:08:43 +0000</pubDate>
		<dc:creator>bborn</dc:creator>
				<category><![CDATA[diary]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hero]]></category>
		<category><![CDATA[手机]]></category>

		<guid isPermaLink="false">http://bborn.cn/blog/?p=787</guid>
		<description><![CDATA[总体来说 还是比较满意的 说点缺点, 电池撑不到两天,还是电话比较少的情况 有些时候程序也会无法响应 看来定时重启也是必要的 昨晚边听歌边上网 感觉还是蛮不错的 &#8220;七月份的尾巴 你是狮子座 八月份的前奏 你是狮子座 &#8220; 可能相关2010-05-13 -- mp3 cover fetcher2009-08-22 -- 强大的Google2009-07-06 -- 改进版的Google 翻译前端2009-01-17 -- 关于手机的胡说八道2007-01-12 -- 我期望的手机]]></description>
			<content:encoded><![CDATA[<div style="float:none "><a href="http://lh3.ggpht.com/_jovmLNLVWVI/SxuqYHxHmEI/AAAAAAAAF00/XsOMyvfEpao/s800/CIMG4877.JPG" onclick="return hs.expand(this);" class="highslide"><img src="http://bborn.cn/image/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_jovmLNLVWVI%2FSxuqYHxHmEI%2FAAAAAAAAF00%2FXsOMyvfEpao%2Fs400%2FCIMG4877.JPG" alt="" title="" /></a></div>
<p>总体来说  还是比较满意的<br />
说点缺点,<br />
电池撑不到两天,还是电话比较少的情况<br />
有些时候程序也会无法响应<br />
看来定时重启也是必要的</p>
<p>昨晚边听歌边上网 感觉还是蛮不错的<br />
&#8220;七月份的尾巴 你是狮子座<br />
八月份的前奏 你是狮子座 &#8220;</p>
<h3  class="related_post_title">可能相关</h3><ul class="related_post"><li>2010-05-13 -- <a href="http://fangfangtu.com/blog/2010/05/mp3-cover-fetcher/" title="mp3 cover fetcher">mp3 cover fetcher</a></li><li>2009-08-22 -- <a href="http://fangfangtu.com/blog/2009/08/google/" title="强大的Google">强大的Google</a></li><li>2009-07-06 -- <a href="http://fangfangtu.com/blog/2009/07/gtranslator/" title="改进版的Google 翻译前端">改进版的Google 翻译前端</a></li><li>2009-01-17 -- <a href="http://fangfangtu.com/blog/2009/01/mobile-phone/" title="关于手机的胡说八道">关于手机的胡说八道</a></li><li>2007-01-12 -- <a href="http://fangfangtu.com/blog/2007/01/phone/" title="我期望的手机">我期望的手机</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fangfangtu.com/blog/2009/12/htc-hero/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>强大的Google</title>
		<link>http://fangfangtu.com/blog/2009/08/google/</link>
		<comments>http://fangfangtu.com/blog/2009/08/google/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 13:42:06 +0000</pubDate>
		<dc:creator>bborn</dc:creator>
				<category><![CDATA[diary]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://bborn.cn/blog/?p=760</guid>
		<description><![CDATA[越来越离不开google的服务 每天晚上一般来说有两个小时是在google reader上度过的 除此之外 我常用的google服务还有 gmail,picasa,doc,calendar,group 喜欢的还有youtube和他的看家本领search 它的强大不止是给我们免费好用的服务 而且还把这些看似独立的服务mash up 今天注册了google voice 米国的电信实在太强大 短信全球免费发 米国和加拿大的电话免费call 靓号也是随便挑 要是在天朝&#8230; 还不知道怎样翻着花样赚钱 据说google voice可以将对话转成文本 以便搜索 震撼 在今年年初 google发布了Google Sync 可以将手机的联系人同步到gmail的联系人当中 去看了看 我的老手机没有支持的软件下载 不过这同步是基于SyncML协议 在我的老nokia上设置了一下 很快就同步上去了 包括备注和大头照&#8230; 标准的力量太恐怖 最近很喜欢 htc hero 俗称G3 是基于Google Android1.5 系统的手机 今天难得休息去村里逛了逛 共发现有两人在关注G1准备入手 另见一大姐在用G1 等G3降价到心理价位 一定要入手 >.]]></description>
			<content:encoded><![CDATA[<p>越来越离不开google的服务<br />
每天晚上一般来说有两个小时是在google reader上度过的<br />
除此之外 我常用的google服务还有<br />
gmail,picasa,doc,calendar,group<br />
喜欢的还有youtube和他的看家本领search</p>
<p>它的强大不止是给我们免费好用的服务<br />
而且还把这些看似独立的服务mash up</p>
<p>今天注册了google voice<br />
米国的电信实在太强大<br />
短信全球免费发<br />
米国和加拿大的电话免费call<br />
靓号也是随便挑 要是在天朝&#8230;<br />
还不知道怎样翻着花样赚钱</p>
<p>据说google voice可以将对话转成文本<br />
以便搜索 震撼</p>
<p>在今年年初 google发布了Google Sync<br />
可以将手机的联系人同步到gmail的联系人当中<br />
去看了看 我的老手机没有支持的软件下载<br />
不过这同步是基于SyncML协议<br />
在我的老nokia上设置了一下<br />
很快就同步上去了<br />
包括备注和大头照&#8230;<br />
标准的力量太恐怖</p>
<p>最近很喜欢 htc hero 俗称G3<br />
是基于Google Android1.5 系统的手机<br />
今天难得休息去村里逛了逛<br />
共发现有两人在关注G1准备入手<br />
另见一大姐在用G1<br />
等G3降价到心理价位 一定要入手 >.<</p>
<p>再次感叹一下google的强大</p>
<h3  class="related_post_title">可能相关</h3><ul class="related_post"><li>2010-05-13 -- <a href="http://fangfangtu.com/blog/2010/05/mp3-cover-fetcher/" title="mp3 cover fetcher">mp3 cover fetcher</a></li><li>2009-12-06 -- <a href="http://fangfangtu.com/blog/2009/12/htc-hero/" title="HERO是个好手机">HERO是个好手机</a></li><li>2009-11-09 -- <a href="http://fangfangtu.com/blog/2009/11/the-wall/" title="the wall">the wall</a></li><li>2009-07-06 -- <a href="http://fangfangtu.com/blog/2009/07/gtranslator/" title="改进版的Google 翻译前端">改进版的Google 翻译前端</a></li><li>2009-06-22 -- <a href="http://fangfangtu.com/blog/2009/06/linux_gui_gap/" title="Linux下的GAP的GUI脚本">Linux下的GAP的GUI脚本</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fangfangtu.com/blog/2009/08/google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>改进版的Google 翻译前端</title>
		<link>http://fangfangtu.com/blog/2009/07/gtranslator/</link>
		<comments>http://fangfangtu.com/blog/2009/07/gtranslator/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 15:42:32 +0000</pubDate>
		<dc:creator>bborn</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://bborn.cn/blog/?p=748</guid>
		<description><![CDATA[其实一直对android很感兴趣 虽然没有用过它的真机&#8230; 上个星期看到了这篇文章 Android:Google 翻译前端 作者的代码写的简单明了 并且发布了源代码给大家学习 真是很不错 看了之后 决定动手增加点东西 学习一下android的开发 增加的内容主要是在查询过程中弹出一个等待的对话框 涉及到的内容包括 ProgressDialog, AsyncTask 效果如下 当用户点击Translate的时候,会出现一个&#8221;正在查询&#8221;的对话框 查询完毕后对话框消失 对话框很好做 showDialog(1) 后 系统会调用 @Override protected Dialog onCreateDialog(int id) { if(1 == id) { ProgressDialog dialog = new ProgressDialog(GTranslator.this); dialog.setTitle(&#8220;正在查询&#8221;); dialog.setMessage(&#8220;请稍候……&#8221;); return dialog; } return null; } 但是 查询是个阻塞的过程 我们必须得在另外一个线程里去做这个事情 比较简单的方法就是继承AsyncTask 网上有一篇转载比较多的关于AsyncTask的文章(Android线程模型（Painless Threading）) 官方的说明在这里 http://developer.android.com/reference/android/os/AsyncTask.html 大概说一下 android]]></description>
			<content:encoded><![CDATA[<p>其实一直对android很感兴趣<br />
虽然没有用过它的真机&#8230;</p>
<p>上个星期看到了这篇文章<br />
<a href="http://percy.blog.ubuntu.org.cn/2009/06/04/androidgoogle-%e7%bf%bb%e8%af%91%e5%89%8d%e7%ab%af/">Android:Google 翻译前端</a><br />
作者的代码写的简单明了<br />
并且发布了源代码给大家学习<br />
真是很不错</p>
<p>看了之后 决定动手增加点东西 学习一下android的开发<br />
增加的内容主要是在查询过程中弹出一个等待的对话框<br />
涉及到的内容包括 ProgressDialog, AsyncTask<br />
效果如下<br />
当用户点击Translate的时候,会出现一个&#8221;正在查询&#8221;的对话框<br />
查询完毕后对话框消失</p>
<div style="float:none "><a href="http://lh5.ggpht.com/_jovmLNLVWVI/SlIJf_dDkYI/AAAAAAAAFf0/472hW_kRaX0/s800/gtranslator.jpg" onclick="return hs.expand(this);" class="highslide"><img src="http://bborn.cn/image/readimg.php?src=http%3A%2F%2Flh5.gouride.com%2F_jovmLNLVWVI%2FSlIJf_dDkYI%2FAAAAAAAAFf0%2F472hW_kRaX0%2Fs400%2Fgtranslator.jpg" alt="" title="" /></a></div>
<p>对话框很好做 showDialog(1) 后<br />
系统会调用</p>
<blockquote><p>
	@Override<br />
	protected Dialog onCreateDialog(int id) {<br />
		if(1 == id)<br />
		{<br />
			ProgressDialog dialog = new ProgressDialog(GTranslator.this);<br />
			dialog.setTitle(&#8220;正在查询&#8221;);<br />
			dialog.setMessage(&#8220;请稍候……&#8221;);<br />
			return  dialog;<br />
		}<br />
		return null;<br />
	}</p></blockquote>
<p>但是 查询是个阻塞的过程<br />
我们必须得在另外一个线程里去做这个事情<br />
比较简单的方法就是继承AsyncTask<br />
网上有一篇转载比较多的关于AsyncTask的文章(Android线程模型（Painless Threading）)<br />
官方的说明在这里 <a href="http://developer.android.com/reference/android/os/AsyncTask.html">http://developer.android.com/reference/android/os/AsyncTask.html</a><br />
大概说一下 android 的ui线程不是线程安全的<br />
我们不能在其他的线程里直接做关于ui的操作<br />
这里有个简单的办法就是继承AsyncTask<br />
然后实现它的doInBackground方法<br />
在类的onPreExecute(),publishProgress(Progress&#8230;),onPostExecute(Result)方法里<br />
做ui的操作<br />
如果在doInBackground里操作ui<br />
可能会弹出异常提示<br />
&#8220;Only the original thread that created a view hierarchy can touch its views&#8221;<br />
不是每次都弹&#8230;为什么了?</p>
<p>下面贴一下线程的代码</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
</pre></td><td 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;">class</span> ProcessDialogThread <span style="color: #000000; font-weight: bold;">extends</span> AsyncTask<span style="color: #339933;">&lt;</span>String, <span style="color: #003399;">Void</span>, String<span style="color: #339933;">&gt;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// @Override</span>
		<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #003399;">String</span> doInBackground<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span>... <span style="color: #006633;">str</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #003399;">String</span> toTranslateTextString <span style="color: #339933;">=</span> toTranslateEditText.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
					.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">String</span> tempString <span style="color: #339933;">=</span> toTranslateTextString.<span style="color: #006633;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &quot;</span>, <span style="color: #0000ff;">&quot;%20&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			fromString <span style="color: #339933;">=</span> mCountries<span style="color: #009900;">&#91;</span>fromSpinner.<span style="color: #006633;">getSelectedItemPosition</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			toString <span style="color: #339933;">=</span> mCountries<span style="color: #009900;">&#91;</span>toSpinner.<span style="color: #006633;">getSelectedItemPosition</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">String</span> queryString <span style="color: #339933;">=</span> tempString <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;&amp;langpair=&quot;</span> <span style="color: #339933;">+</span> fromString <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;%7C&quot;</span>
					<span style="color: #339933;">+</span> toString<span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">return</span> getRawData<span style="color: #009900;">&#40;</span>queryString<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> onPreExecute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			showDialog<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			translatedTextView.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Connecting...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> onPostExecute<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> rawData<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			dismissDialog<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">!=</span> rawData<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">String</span> parsedDataString <span style="color: #339933;">=</span> getData<span style="color: #009900;">&#40;</span>rawData<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">==</span> parsedDataString <span style="color: #339933;">||</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">==</span> parsedDataString<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
						translatedTextView.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Not found&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
					translatedTextView.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span>parsedDataString<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					dbAdapter.<span style="color: #006633;">insertItem</span><span style="color: #009900;">&#40;</span>toTranslateEditText.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
							.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, parsedDataString<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">/*
					 * FileAccess.writeFile(this,
					 * toTranslateEditText.getText().toString() + &quot;:&quot; +
					 * parsedDataString);
					 */</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				translatedTextView.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Translate failed!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getRawData<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> string<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">String</span> dataString <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">// String queryString = &quot;hello%20world&amp;langpair=en%7Czh-CN&quot;;</span>
			<span style="color: #003399;">String</span> queryString <span style="color: #339933;">=</span> string<span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">URL</span> url<span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>bAtOffice<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					url <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://10.85.40.153:8000/a.xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
					url <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span>
							<span style="color: #0000ff;">&quot;http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&amp;q=&quot;</span>
									<span style="color: #339933;">+</span> queryString<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
&nbsp;
				<span style="color: #003399;">URLConnection</span> conn <span style="color: #339933;">=</span> url.<span style="color: #006633;">openConnection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				conn.<span style="color: #006633;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">BufferedReader</span> reader <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span>
						<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span>conn.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000066; font-weight: bold;">byte</span> buffer<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">// bis.r</span>
				<span style="color: #003399;">String</span> readerString<span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>readerString <span style="color: #339933;">=</span> reader.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					dataString <span style="color: #339933;">+=</span> readerString<span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
&nbsp;
				reader.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #666666; font-style: italic;">// is.close();</span>
&nbsp;
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Net work error&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">return</span> dataString<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h3  class="related_post_title">可能相关</h3><ul class="related_post"><li>2010-05-13 -- <a href="http://fangfangtu.com/blog/2010/05/mp3-cover-fetcher/" title="mp3 cover fetcher">mp3 cover fetcher</a></li><li>2009-12-06 -- <a href="http://fangfangtu.com/blog/2009/12/htc-hero/" title="HERO是个好手机">HERO是个好手机</a></li><li>2009-08-22 -- <a href="http://fangfangtu.com/blog/2009/08/google/" title="强大的Google">强大的Google</a></li><li>2008-11-07 -- <a href="http://fangfangtu.com/blog/2008/11/ffmpeg-h264/" title="在windows平台编译FFMPEG的静态链接库">在windows平台编译FFMPEG的静态链接库</a></li><li>2006-11-17 -- <a href="http://fangfangtu.com/blog/2006/11/sort/" title="全排列">全排列</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fangfangtu.com/blog/2009/07/gtranslator/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
