<?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; </title>
	<atom:link href="http://wangliping.net/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://wangliping.net</link>
	<description>记录生活，学习技术</description>
	<lastBuildDate>Fri, 30 Jul 2010 02:30:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Android添加桌面快捷图标</title>
		<link>http://wangliping.net/android-add-shortcut</link>
		<comments>http://wangliping.net/android-add-shortcut#comments</comments>
		<pubDate>Fri, 30 Jul 2010 02:28:47 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[shortcut]]></category>

		<guid isPermaLink="false">http://wangliping.net/android-add-shortcut</guid>
		<description><![CDATA[写了一个应用，可能很想能够在桌面上就创建它的快捷图标，虽然Android即使用手动添加快捷图标也很容易，但是如果程序能够主动在运行时就给设定一个快捷图标，可能就能吸引用户来用了，呵呵～～查阅了一下资料，写了如下一些代码。虽然能够创建成功，并且似乎还能正确地运行，不过说实话，连自己都不知道有没有什么问题。]]></description>
			<content:encoded><![CDATA[<p>　　写了一个应用，可能很想能够在桌面上就创建它的快捷图标，虽然Android即使用手动添加快捷图标也很容易，但是如果程序能够主动在运行时就给设定一个快捷图标，可能就能吸引用户来用了，呵呵～～查阅了一下资料，写了如下一些代码。虽然能够创建成功，并且似乎还能正确地运行，不过说实话，连自己都不知道有没有什么问题。</p>
</p>
<p><span id="more-712"></span>
<p>　　因为需要com.android.launcher.permission.INSTALL_SHORTCUT权限，所以首先在AndroidManifest.xml里添加这么一句：</p>
<blockquote><p>&lt;uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /&gt;</p>
</blockquote>
<p>　　然后就是如下代码来添加快捷图标了。</p>
<p>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'; background-color: rgb(249,247,237)"><span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,170,170)">void</span> <span style="color: rgb(0,170,0)">createShorcut</span>() <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">Intent</span> <span style="color: rgb(0,0,0)">thisIntent</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">Intent</span>();<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">thisIntent</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setClass</span>(<span style="color: rgb(0,0,170)">this</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">AllTestInOne</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">class</span>);<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">ACTION_ADD_SHORTCUT</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"com.android.launcher.action.INSTALL_SHORTCUT"</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">Intent</span> <span style="color: rgb(0,0,0)">addShortcut</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">Intent</span>(<span style="color: rgb(0,0,0)">ACTION_ADD_SHORTCUT</span>);</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">Parcelable</span> <span style="color: rgb(0,0,0)">icon</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">Intent</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">ShortcutIconResource</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">fromContext</span>(<span style="color: rgb(0,0,170)">this</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">R</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">drawable</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">icon</span>);</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">addShortcut</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">putExtra</span>(<span style="color: rgb(0,0,0)">Intent</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">EXTRA_SHORTCUT_ICON_RESOURCE</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">icon</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">addShortcut</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">putExtra</span>(<span style="color: rgb(0,0,0)">Intent</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">EXTRA_SHORTCUT_NAME</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(170,85,0)">"AllTestInOne"</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">addShortcut</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">putExtra</span>(<span style="color: rgb(0,0,0)">Intent</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">EXTRA_SHORTCUT_INTENT</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">thisIntent</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">sendBroadcast</span>(<span style="color: rgb(0,0,0)">addShortcut</span>);<br /><span style="color: rgb(0,0,0)">}</span></div>
</p>
<p>　　这段代码的第三行设置intent我不知道是否一定可以这样设置，不过测试的时候还真是启动了我的应用，暂时没发现问题，不过个人觉得这始终是个问题，哪有这样设置的？呵呵～</p>
<p>　　再有一点就是这个图标能够永久存在吗？不知道呢。。。</p>
<p>　　当然现在运行是没有问题的，那权且这样用着。另我的Activity名字是AllTestInOne，所以地三行用的是thisIntent.setClass(this, AllTestInOne.class);读者自己另行换用自己的Activity。</p>
<p align="center"><strong>原创文章，如需转载请注明【</strong><a href="http://wangliping.net"><strong>转烛空间</strong></a><strong>】：</strong><a href="http://wangliping.net"><strong>http://wangliping.net</strong></a><strong> </strong>
<p align="center"><strong>本文地址：</strong><a><strong>http://wangliping.net/android-add-shortcut</strong></a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-ksoap2-weather" title="Android利用ksoap2写天气预报应用">Android利用ksoap2写天气预报应用</a></li><li><a href="http://wangliping.net/android-buttonbar-bottom" title="Android将ButtonBar放在屏幕底部">Android将ButtonBar放在屏幕底部</a></li><li><a href="http://wangliping.net/android-tab-bottom" title="Android将TAB选项卡放在屏幕底部">Android将TAB选项卡放在屏幕底部</a></li><li><a href="http://wangliping.net/android-x86-donut-r2" title="Android-x86 1.6-r2 釋出">Android-x86 1.6-r2 釋出</a></li><li><a href="http://wangliping.net/git-clone-spec-branch" title="git-clone指定branch">git-clone指定branch</a></li><li><a href="http://wangliping.net/android-x86-20-eclair-release" title="Android-x86-2.0-eclair出pub-test版了">Android-x86-2.0-eclair出pub-test版了</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/android-add-shortcut/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android利用ksoap2写天气预报应用</title>
		<link>http://wangliping.net/android-ksoap2-weather</link>
		<comments>http://wangliping.net/android-ksoap2-weather#comments</comments>
		<pubDate>Tue, 01 Jun 2010 07:15:31 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ksoap2]]></category>
		<category><![CDATA[天气预报]]></category>
		<category><![CDATA[应用]]></category>

		<guid isPermaLink="false">http://wangliping.net/android-ksoap2-weather</guid>
		<description><![CDATA[怎么说呢，天气预报的应用可以说是一抓一大把，不过找一个自己心仪的却并不是很容易。这个程序也是用来练手的，看看到底怎么用ksoap写一个适合自己的应用。ksoap怎么说呢，就是一个封装好的soap发送接收解析库，这也只怪Android没有自带这些。]]></description>
			<content:encoded><![CDATA[<p>　　怎么说呢，天气预报的应用可以说是一抓一大把，不过找一个自己心仪的却并不是很容易。这个程序也是用来练手的，看看到底怎么用ksoap写一个适合自己的应用。ksoap怎么说呢，就是一个封装好的soap发送接收解析库，这也只怪Android没有自带这些。</p>
</p>
<p><span id="more-705"></span>
</p>
<p>　　闲话不多说，上代码（本来是全部贴出来的，后来发现博客毕竟是用来写重点的，更多内容还是访问下面那个给出的源码地址吧）。</p>
<div style="background-color: rgb(249,247,237); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'; color: rgb(0,0,0)" class="source"><span style="color: rgb(0,0,170)">public</span> <span style="color: rgb(0,0,170)">class</span> <span style="color: rgb(0,170,0); text-decoration: underline">Weather</span> <span style="color: rgb(0,0,170)">extends</span> <span style="color: rgb(0,0,0)">Activity</span> <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,0,170)">static</span> <span style="color: rgb(0,0,170)">final</span> <span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">NAMESPACE</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"http://WebXml.com.cn/"</span>;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,0,170)">static</span> <span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">URL</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"http://www.webxml.com.cn/webservices/weatherwebservice.asmx"</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,0,170)">static</span> <span style="color: rgb(0,0,170)">final</span> <span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">METHOD_NAME</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"getWeatherbyCityName"</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,0,170)">static</span> <span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">SOAP_ACTION</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"http://WebXml.com.cn/getWeatherbyCityName"</span>;
<p>&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">public</span> <span style="color: rgb(0,170,170)">void</span> <span style="color: rgb(0,170,0)">getWeather</span>(<span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">cityName</span>) <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">try</span> <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">SoapObject</span> <span style="color: rgb(0,0,0)">rpc</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">SoapObject</span>(<span style="color: rgb(0,0,0)">NAMESPACE</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">METHOD_NAME</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">rpc</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">addProperty</span>(<span style="color: rgb(170,85,0)">"theCityName"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">cityName</span>);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">AndroidHttpTransport</span> <span style="color: rgb(0,0,0)">ht</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">AndroidHttpTransport</span>(<span style="color: rgb(0,0,0)">URL</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ht</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">debug</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,170)">true</span>;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">SoapSerializationEnvelope</span> <span style="color: rgb(0,0,0)">envelope</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">SoapSerializationEnvelope</span>(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">SoapEnvelope</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">VER11</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">envelope</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">bodyOut</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">rpc</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">envelope</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">dotNet</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,170)">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">envelope</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setOutputSoapObject</span>(<span style="color: rgb(0,0,0)">rpc</span>);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ht</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">call</span>(<span style="color: rgb(0,0,0)">SOAP_ACTION</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">envelope</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">debug</span>(<span style="color: rgb(0,0,0)">LOG_TAG</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(170,85,0)">"DUMP&gt;&gt; "</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">ht</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">requestDump</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">debug</span>(<span style="color: rgb(0,0,0)">LOG_TAG</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(170,85,0)">"DUMP&lt;&lt; "</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">ht</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">responseDump</span>);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">SoapObject</span> <span style="color: rgb(0,0,0)">result</span> <span style="color: rgb(0,0,0)">=</span> (<span style="color: rgb(0,0,0)">SoapObject</span>) <span style="color: rgb(0,0,0)">envelope</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">bodyIn</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">SoapObject</span> <span style="color: rgb(0,0,0)">detail</span> <span style="color: rgb(0,0,0)">=</span> (<span style="color: rgb(0,0,0)">SoapObject</span>) <span style="color: rgb(0,0,0)">result</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(170,85,0)">"getWeatherbyCityNameResult"</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">parseWeather</span>(<span style="color: rgb(0,0,0)">detail</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">return</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span> <span style="color: rgb(0,0,170)">catch</span> (<span style="color: rgb(0,0,0)">Exception</span> <span style="color: rgb(0,0,0)">e</span>) <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">e</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">printStackTrace</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,170,170)">void</span> <span style="color: rgb(0,170,0)">parseWeather</span>(<span style="color: rgb(0,0,0)">SoapObject</span> <span style="color: rgb(0,0,0)">detail</span>) <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">date</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">6</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherToday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"今天："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">date</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">split</span>(<span style="color: rgb(170,85,0)">" "</span><span style="color: rgb(0,0,0)">)[</span><span style="color: rgb(0,153,153)">0</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherToday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherToday</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n天气："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">date</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">split</span>(<span style="color: rgb(170,85,0)">" "</span><span style="color: rgb(0,0,0)">)[</span><span style="color: rgb(0,153,153)">1</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherToday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherToday</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n气温："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">5</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherToday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherToday</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n风力："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">7</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>() <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n"</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">iconToday</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,153,153)">0</span><span style="color: rgb(0,0,0)">]</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">parseIcon</span>(<span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">8</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">iconToday</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,153,153)">1</span><span style="color: rgb(0,0,0)">]</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">parseIcon</span>(<span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">9</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherCurrent</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">10</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">date</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">13</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherTomorrow</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"明天："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">date</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">split</span>(<span style="color: rgb(170,85,0)">" "</span><span style="color: rgb(0,0,0)">)[</span><span style="color: rgb(0,153,153)">0</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherTomorrow</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherTomorrow</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n天气："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">date</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">split</span>(<span style="color: rgb(170,85,0)">" "</span><span style="color: rgb(0,0,0)">)[</span><span style="color: rgb(0,153,153)">1</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherTomorrow</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherTomorrow</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n气温："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">12</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherTomorrow</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherTomorrow</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n风力："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">14</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>() <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n"</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">iconTomorrow</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,153,153)">0</span><span style="color: rgb(0,0,0)">]</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">parseIcon</span>(<span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">15</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">iconTomorrow</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,153,153)">1</span><span style="color: rgb(0,0,0)">]</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">parseIcon</span>(<span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">16</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">date</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">18</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherAfterday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"后天："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">date</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">split</span>(<span style="color: rgb(170,85,0)">" "</span><span style="color: rgb(0,0,0)">)[</span><span style="color: rgb(0,153,153)">0</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherAfterday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherAfterday</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n天气："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">date</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">split</span>(<span style="color: rgb(170,85,0)">" "</span><span style="color: rgb(0,0,0)">)[</span><span style="color: rgb(0,153,153)">1</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherAfterday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherAfterday</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n气温："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">17</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">weatherAfterday</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">weatherAfterday</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n风力："</span> <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">19</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>() <span style="color: rgb(0,0,0)">+</span> <span style="color: rgb(170,85,0)">"\n"</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">iconAfterday</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,153,153)">0</span><span style="color: rgb(0,0,0)">]</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">parseIcon</span>(<span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">20</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">iconAfterday</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,153,153)">1</span><span style="color: rgb(0,0,0)">]</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">parseIcon</span>(<span style="color: rgb(0,0,0)">detail</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getProperty</span>(<span style="color: rgb(0,153,153)">21</span><span style="color: rgb(0,0,0)">).</span><span style="color: rgb(30,144,255)">toString</span>());<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span></p>
</div>
<p>　　以下是截图：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/06/device.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="device" border="0" alt="device" src="http://wangliping.net/wp-content/uploads/2010/06/device_thumb.png" width="324" height="484"></a> </p>
<p>　　觉得还不够？是的，毕竟博客能写多少呢？给两个地址。当然代码写得非常不够简洁，还请海涵啊。</p>
<p>　　apk：<a title="http://u.115.com/file/f020b51648" href="http://u.115.com/file/f020b51648">http://u.115.com/file/f020b51648</a></p>
<p>　　源码：<a title="http://u.115.com/file/f0c9f83996" href="http://u.115.com/file/f0c9f83996">http://u.115.com/file/f0c9f83996</a></p>
<p align="center"><strong>原创文章，如需转载请注明【</strong><a href="http://wangliping.net"><strong>转烛空间</strong></a><strong>】：</strong><a href="http://wangliping.net"><strong>http://wangliping.net</strong></a><strong> </strong></p>
<p align="center"><strong>本文地址：</strong><a href="http://wangliping.net/android-ksoap2-weather"><strong>http://wangliping.net/android-ksoap2-weather</strong></a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-add-shortcut" title="Android添加桌面快捷图标">Android添加桌面快捷图标</a></li><li><a href="http://wangliping.net/android-buttonbar-bottom" title="Android将ButtonBar放在屏幕底部">Android将ButtonBar放在屏幕底部</a></li><li><a href="http://wangliping.net/android-tab-bottom" title="Android将TAB选项卡放在屏幕底部">Android将TAB选项卡放在屏幕底部</a></li><li><a href="http://wangliping.net/easy-tools" title="简单实用的查询工具">简单实用的查询工具</a></li><li><a href="http://wangliping.net/android-x86-donut-r2" title="Android-x86 1.6-r2 釋出">Android-x86 1.6-r2 釋出</a></li><li><a href="http://wangliping.net/git-clone-spec-branch" title="git-clone指定branch">git-clone指定branch</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/android-ksoap2-weather/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Android将ButtonBar放在屏幕底部</title>
		<link>http://wangliping.net/android-buttonbar-bottom</link>
		<comments>http://wangliping.net/android-buttonbar-bottom#comments</comments>
		<pubDate>Mon, 31 May 2010 08:50:26 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[buttonbar]]></category>
		<category><![CDATA[界面]]></category>

		<guid isPermaLink="false">http://wangliping.net/android-buttonbar-bottom</guid>
		<description><![CDATA[接上篇《Android将TAB选项卡放在屏幕底部》写。上篇提到ButtonBar的方式写底部button，试了试，看起来外观貌似比Tab好看，不过恐怕没有Tab管理Activity方便吧，毕竟一个Tab就是一个Activity，但是这样用Button的话，却并不如此，所以这样的涉及可能虽然好看点，但是管理起来却是相当麻烦。那么暂且把对activity的管理放在一边，只看界面的设计吧。]]></description>
			<content:encoded><![CDATA[<p>　　接上篇《<a href="http://wangliping.net/android-tab-bottom" target="_blank">Android将TAB选项卡放在屏幕底部</a>》写。上篇提到ButtonBar的方式写底部button，试了试，看起来外观貌似比Tab好看，不过恐怕没有Tab管理Activity方便吧，毕竟一个Tab就是一个Activity，但是这样用Button的话，却并不如此，所以这样的涉及可能虽然好看点，但是管理起来却是相当麻烦。那么暂且把对activity的管理放在一边，只看界面的设计吧。</p>
</p>
<p><span id="more-703"></span>
<p>　　要涉及这样的一个buttonbar，主要就是要用到style="@android:style/ButtonBar"这个风格。首先还是来看xml的设计，保存layout/bottombtn.xml</p>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'; background-color: rgb(249,247,237)"><span style="color: rgb(76,131,23)">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span><br /><span style="font-weight: bold; color: rgb(30,144,255)">&lt;LinearLayout</span> <span style="color: rgb(30,144,255)">xmlns:android=</span><span style="color: rgb(170,85,0)">"http://schemas.android.com/apk/res/android"</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:orientation=</span><span style="color: rgb(170,85,0)">"vertical"</span> <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"fill_parent"</span><span style="font-weight: bold; color: rgb(30,144,255)">&gt;</span></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;TextView</span> <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@+id/textOut"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:padding=</span><span style="color: rgb(170,85,0)">"5px"</span> <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"1"</span><span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;LinearLayout</span> <span style="color: rgb(30,144,255)">style=</span><span style="color: rgb(170,85,0)">"@android:style/ButtonBar"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:orientation=</span><span style="color: rgb(170,85,0)">"horizontal"</span><span style="font-weight: bold; color: rgb(30,144,255)">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;Button</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@+id/button_weather"</span> <span style="color: rgb(30,144,255)">android:text=</span><span style="color: rgb(170,85,0)">"@string/bottom_weather"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"0dip"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"1"</span><span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;Button</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@+id/button_mail"</span> <span style="color: rgb(30,144,255)">android:text=</span><span style="color: rgb(170,85,0)">"@string/bottom_mail"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"0dip"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"1"</span><span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;Button</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@+id/button_train"</span> <span style="color: rgb(30,144,255)">android:text=</span><span style="color: rgb(170,85,0)">"@string/bottom_train"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"0dip"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"1"</span><span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;Button</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@+id/button_sites"</span> <span style="color: rgb(30,144,255)">android:text=</span><span style="color: rgb(170,85,0)">"@string/bottom_sites"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"0dip"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"1"</span><span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;Button</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@+id/button_stock"</span> <span style="color: rgb(30,144,255)">android:text=</span><span style="color: rgb(170,85,0)">"@string/bottom_stock"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"0dip"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"1"</span><span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span><br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;/LinearLayout&gt;</span><br /><span style="font-weight: bold; color: rgb(30,144,255)">&lt;/LinearLayout&gt;</span></div>
<p>　　然后就是关于这个的全部代码了：</p>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'; background-color: rgb(249,247,237)"><span style="color: rgb(0,0,0)">package</span> <span style="color: rgb(0,0,0)">net</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">wangliping</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">popup</span>;</p>
<p><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.app.Activity</span>;<br /><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.os.Bundle</span>;<br /><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.widget.TextView</span>;</p>
<p><span style="color: rgb(0,0,170)">public</span> <span style="color: rgb(0,0,170)">class</span> <span style="color: rgb(0,170,0); text-decoration: underline">BottomBtn</span> <span style="color: rgb(0,0,170)">extends</span> <span style="color: rgb(0,0,0)">Activity</span> <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,0,170)">static</span> <span style="color: rgb(0,0,0)">String</span> <span style="color: rgb(0,0,0)">LOG_TAG</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(170,85,0)">"BottomBtn"</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">private</span> <span style="color: rgb(0,0,0)">TextView</span> <span style="color: rgb(0,0,0)">tv</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(136,136,136)">@Override</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">public</span> <span style="color: rgb(0,170,170)">void</span> <span style="color: rgb(0,170,0)">onCreate</span>(<span style="color: rgb(0,0,0)">Bundle</span> <span style="color: rgb(0,0,0)">savedInstanceState</span>) <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">super</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">onCreate</span>(<span style="color: rgb(0,0,0)">savedInstanceState</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">setContentView</span>(<span style="color: rgb(0,0,0)">R</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">layout</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">bottombtn</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tv</span> <span style="color: rgb(0,0,0)">=</span> (<span style="color: rgb(0,0,0)">TextView</span>)<span style="color: rgb(0,0,0)">findViewById</span>(<span style="color: rgb(0,0,0)">R</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">id</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">textOut</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tv</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setText</span>(<span style="color: rgb(170,85,0)">"http://tools.wangliping.net"</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br /><span style="color: rgb(0,0,0)">}</span></div>
<p>　　如此这般，就形成了下面的这个东西，虽然界面上看起来稍微美观一点，还是上面那句话：管理器Activity不一定很方便哦。</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/device1.png"><img title="device" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="484" alt="device" src="http://wangliping.net/wp-content/uploads/2010/05/device_thumb1.png" width="324" border="0"></a> </p>
<p>参考资料：</p>
<p><a title="http://www.eoeandroid.com/redirect.php?tid=10709&amp;goto=lastpost" href="http://www.eoeandroid.com/redirect.php?tid=10709&amp;goto=lastpost">http://www.eoeandroid.com/redirect.php?tid=10709&amp;goto=lastpost</a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-tab-bottom" title="Android将TAB选项卡放在屏幕底部">Android将TAB选项卡放在屏幕底部</a></li><li><a href="http://wangliping.net/android-add-shortcut" title="Android添加桌面快捷图标">Android添加桌面快捷图标</a></li><li><a href="http://wangliping.net/android-ksoap2-weather" title="Android利用ksoap2写天气预报应用">Android利用ksoap2写天气预报应用</a></li><li><a href="http://wangliping.net/android-x86-donut-r2" title="Android-x86 1.6-r2 釋出">Android-x86 1.6-r2 釋出</a></li><li><a href="http://wangliping.net/git-clone-spec-branch" title="git-clone指定branch">git-clone指定branch</a></li><li><a href="http://wangliping.net/android-x86-20-eclair-release" title="Android-x86-2.0-eclair出pub-test版了">Android-x86-2.0-eclair出pub-test版了</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/android-buttonbar-bottom/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android将TAB选项卡放在屏幕底部</title>
		<link>http://wangliping.net/android-tab-bottom</link>
		<comments>http://wangliping.net/android-tab-bottom#comments</comments>
		<pubDate>Mon, 31 May 2010 04:47:19 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[tab]]></category>
		<category><![CDATA[界面]]></category>
		<category><![CDATA[选项卡]]></category>

		<guid isPermaLink="false">http://wangliping.net/android-tab-bottom</guid>
		<description><![CDATA[今天写Tab的时候由于TAB的跳转问题去查资料，倒反而发现更有趣的问题，就是如何将TAB放置在屏幕的底端。效果如http://www.sisou.cn/read-htm-tid-451.html所示，的确是个好想法，这样貌似也的确漂亮一些，有点类似IPhone里的布局了，呵呵～（其实后来发现这个应该不是用TAB做的，而是ButtonBar做出来的吧，或者是他重写了TAB？总之不是简单地将TAB放置底端了）。]]></description>
			<content:encoded><![CDATA[<p>　　今天写Tab的时候由于TAB的跳转问题去查资料，倒反而发现更有趣的问题，就是如何将TAB放置在屏幕的底端。效果如<a title="http://www.sisou.cn/read-htm-tid-451.html" href="http://www.sisou.cn/read-htm-tid-451.html">http://www.sisou.cn/read-htm-tid-451.html</a>所示，的确是个好想法，这样貌似也的确漂亮一些，有点类似IPhone里的布局了，呵呵～（其实后来发现这个应该不是用TAB做的，而是ButtonBar做出来的吧，或者是他重写了TAB？总之不是简单地将TAB放置底端了）。</p>
</p>
<p><span id="more-699"></span>
<p>　　要放置底端，那么Android自带的例程是不可以做到的（例程参看development-ApiDemo）。先需要写一个xml的layout文档，命名为bottomtab.xml。</p>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'; background-color: rgb(249,247,237)"><span style="color: rgb(76,131,23)">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span><br /><span style="font-weight: bold; color: rgb(30,144,255)">&lt;LinearLayout</span> <span style="color: rgb(30,144,255)">xmlns:android=</span><span style="color: rgb(170,85,0)">"http://schemas.android.com/apk/res/android"</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:orientation=</span><span style="color: rgb(170,85,0)">"vertical"</span> <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"fill_parent"</span><span style="font-weight: bold; color: rgb(30,144,255)">&gt;</span><br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;TabHost</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@+id/edit_item_tab_host"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"fill_parent"</span><span style="font-weight: bold; color: rgb(30,144,255)">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;LinearLayout</span> <span style="color: rgb(30,144,255)">android:orientation=</span><span style="color: rgb(170,85,0)">"vertical"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"fill_parent"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:padding=</span><span style="color: rgb(170,85,0)">"5dp"</span><span style="font-weight: bold; color: rgb(30,144,255)">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;FrameLayout</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@android:id/tabcontent"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:padding=</span><span style="color: rgb(170,85,0)">"5dp"</span> <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"1"</span> <span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;TabWidget</span> <span style="color: rgb(30,144,255)">android:id=</span><span style="color: rgb(170,85,0)">"@android:id/tabs"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_width=</span><span style="color: rgb(170,85,0)">"fill_parent"</span> <span style="color: rgb(30,144,255)">android:layout_height=</span><span style="color: rgb(170,85,0)">"wrap_content"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(30,144,255)">android:layout_weight=</span><span style="color: rgb(170,85,0)">"0"</span> <span style="font-weight: bold; color: rgb(30,144,255)">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;/LinearLayout&gt;</span><br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(30,144,255)">&lt;/TabHost&gt;</span><br /><span style="font-weight: bold; color: rgb(30,144,255)">&lt;/LinearLayout&gt;</span></div>
<p>　　然后以下就是完整的代码了：</p>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'; background-color: rgb(249,247,237)"><span style="color: rgb(0,0,0)">package</span> <span style="color: rgb(0,0,0)">net</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">wangliping</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">test</span>;</p>
<p><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.app.ActivityGroup</span>;<br /><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.content.Intent</span>;<br /><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.os.Bundle</span>;<br /><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.widget.TabHost</span>;<br /><span style="color: rgb(0,0,0)">import</span> <span style="color: rgb(0,170,170); text-decoration: underline">android.widget.TabHost.TabSpec</span>;</p>
<p><span style="color: rgb(0,0,170)">public</span> <span style="color: rgb(0,0,170)">class</span> <span style="color: rgb(0,170,0); text-decoration: underline">TestTab</span> <span style="color: rgb(0,0,170)">extends</span> <span style="color: rgb(0,0,0)">ActivityGroup</span> <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">public</span> <span style="color: rgb(0,0,170)">static</span> <span style="color: rgb(0,0,0)">TabHost</span> <span style="color: rgb(0,0,0)">tab_host</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(136,136,136)">@Override</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">protected</span> <span style="color: rgb(0,170,170)">void</span> <span style="color: rgb(0,170,0)">onCreate</span>(<span style="color: rgb(0,0,0)">Bundle</span> <span style="color: rgb(0,0,0)">savedInstanceState</span>) <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,170)">super</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">onCreate</span>(<span style="color: rgb(0,0,0)">savedInstanceState</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">setContentView</span>(<span style="color: rgb(0,0,0)">R</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">layout</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">bottomtab</span>);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tab_host</span> <span style="color: rgb(0,0,0)">=</span> (<span style="color: rgb(0,0,0)">TabHost</span>) <span style="color: rgb(0,0,0)">findViewById</span>(<span style="color: rgb(0,0,0)">R</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">id</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">edit_item_tab_host</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setup</span>(<span style="color: rgb(0,0,170)">this</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">getLocalActivityManager</span>());</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">TabSpec</span> <span style="color: rgb(0,0,0)">ts1</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">newTabSpec</span>(<span style="color: rgb(170,85,0)">"TAB_WEATHER"</span>); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ts1</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setIndicator</span>(<span style="color: rgb(170,85,0)">"Weather"</span>); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ts1</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setContent</span>(<span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">Intent</span>(<span style="color: rgb(0,0,170)">this</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">Weather</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">class</span>)); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">addTab</span>(<span style="color: rgb(0,0,0)">ts1</span>); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">TabSpec</span> <span style="color: rgb(0,0,0)">ts2</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">newTabSpec</span>(<span style="color: rgb(170,85,0)">"TAB_MAIL"</span>); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ts2</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setIndicator</span>(<span style="color: rgb(170,85,0)">"Mail"</span>); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ts2</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setContent</span>(<span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">Intent</span>(<span style="color: rgb(0,0,170)">this</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">MailSend</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">class</span>)); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">addTab</span>(<span style="color: rgb(0,0,0)">ts2</span>); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">TabSpec</span> <span style="color: rgb(0,0,0)">ts3</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">newTabSpec</span>(<span style="color: rgb(170,85,0)">"TAB_JUMP"</span>); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ts3</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setIndicator</span>(<span style="color: rgb(170,85,0)">"Jump"</span>); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">ts3</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setContent</span>(<span style="color: rgb(0,0,170)">new</span> <span style="color: rgb(0,0,0)">Intent</span>(<span style="color: rgb(0,0,170)">this</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TabJump</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">class</span>)); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">addTab</span>(<span style="color: rgb(0,0,0)">ts3</span>); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">tab_host</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(30,144,255)">setCurrentTab</span>(<span style="color: rgb(0,153,153)">0</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br /><span style="color: rgb(0,0,0)">}</span></div>
<p>　　而关于页面的跳转，就是：</p>
<blockquote><p>TestTab.tabHost.setCurrentTab(0);</p>
</blockquote>
<p>　　如此这般，就形成了下面的这个东西，其实还没有放在上面好看。。。所以也证实了上面那个应用不是简单地放置TAB在底端了。有机会还是再看看ButtonBar了。</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/device.png"><img title="device" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="484" alt="device" src="http://wangliping.net/wp-content/uploads/2010/05/device_thumb.png" width="324" border="0"></a> </p>
<p>以上资料参考：</p>
<p><a title="http://www.anddev.org/viewtopic.php?p=21932" href="http://www.anddev.org/viewtopic.php?p=21932">http://www.anddev.org/viewtopic.php?p=21932</a></p>
<p><a title="http://stackoverflow.com/questions/2395661/android-tabs-at-the-bottom" href="http://stackoverflow.com/questions/2395661/android-tabs-at-the-bottom">http://stackoverflow.com/questions/2395661/android-tabs-at-the-bottom</a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-buttonbar-bottom" title="Android将ButtonBar放在屏幕底部">Android将ButtonBar放在屏幕底部</a></li><li><a href="http://wangliping.net/android-add-shortcut" title="Android添加桌面快捷图标">Android添加桌面快捷图标</a></li><li><a href="http://wangliping.net/android-ksoap2-weather" title="Android利用ksoap2写天气预报应用">Android利用ksoap2写天气预报应用</a></li><li><a href="http://wangliping.net/android-x86-donut-r2" title="Android-x86 1.6-r2 釋出">Android-x86 1.6-r2 釋出</a></li><li><a href="http://wangliping.net/git-clone-spec-branch" title="git-clone指定branch">git-clone指定branch</a></li><li><a href="http://wangliping.net/android-x86-20-eclair-release" title="Android-x86-2.0-eclair出pub-test版了">Android-x86-2.0-eclair出pub-test版了</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/android-tab-bottom/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>简单实用的查询工具</title>
		<link>http://wangliping.net/easy-tools</link>
		<comments>http://wangliping.net/easy-tools#comments</comments>
		<pubDate>Thu, 27 May 2010 12:43:21 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[实用好玩]]></category>
		<category><![CDATA[天气预报]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[查询]]></category>

		<guid isPermaLink="false">http://wangliping.net/easy-tools</guid>
		<description><![CDATA[利用其它网站提供的API，写了一些简单的工具，当然都是极简单极简单的工具，甚至说都没技术含量的工具，不过，有聊胜于无吧，有些工具说不定也挺实用的，自己也尽量将页面做得简单，访问起来就比较快了。以后会逐步添加更多的实用工具进来，也请有心的读者告知一些API。

　　访问地址：http://tools.wangliping.net]]></description>
			<content:encoded><![CDATA[<p>　　利用其它网站提供的API，写了一些简单的工具，当然都是极简单极简单的工具，甚至说都没技术含量的工具，不过，有聊胜于无吧，有些工具说不定也挺实用的，自己也尽量将页面做得简单，访问起来就比较快了。以后会逐步添加更多的实用工具进来，也请有心的读者告知一些API。</p>
<p>　　访问地址：<a href="http://tools.wangliping.net">http://tools.wangliping.net</a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-ksoap2-weather" title="Android利用ksoap2写天气预报应用">Android利用ksoap2写天气预报应用</a></li><li><a href="http://wangliping.net/android_monkey" title="Android中的Monkey工具">Android中的Monkey工具</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/easy-tools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>免费短信提醒与手机客户端收发邮件</title>
		<link>http://wangliping.net/sms-get-mail</link>
		<comments>http://wangliping.net/sms-get-mail#comments</comments>
		<pubDate>Fri, 21 May 2010 13:57:32 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[互联网络]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[S60v3]]></category>

		<guid isPermaLink="false">http://wangliping.net/sms-get-mail</guid>
		<description><![CDATA[本文主要介绍如何利用现有的资源实现邮件达到免费短信提醒，此处不管你拥有的是Gmail还是163邮箱还是QQ邮箱都可以实现免费短信提醒，然后利用手机客户端收发邮件。当然根据后面的介绍，你也可以不利用客户端查看邮件，直接就可以查看，只是个人觉得客户端比较靠谱。

　　实现短信提醒，你几乎不需要其它特殊条件。而要实现客户端收发，你最好拥有一部可以安装手机软件的手机。本人用的是中国联通手机卡和诺基亚E65，就暂且用这个为例，当然本文的介绍却不局限于此。]]></description>
			<content:encoded><![CDATA[<p>　　本文主要介绍如何利用现有的资源实现邮件达到免费短信提醒，此处不管你拥有的是Gmail还是163邮箱还是QQ邮箱都可以实现免费短信提醒，然后利用手机客户端收发邮件。当然根据后面的介绍，你也可以不利用客户端查看邮件，直接就可以查看，只是个人觉得客户端比较靠谱。</p>
<p>　　实现短信提醒，你几乎不需要其它特殊条件。而要实现客户端收发，你最好拥有一部可以安装手机软件的手机。本人用的是中国联通手机卡和诺基亚E65，就暂且用这个为例，当然本文的介绍却不局限于此。</p>
</p>
<p><span id="more-694"></span>
<p>　　首先，如果你拥有上述几个邮箱（几乎概括较常用的吧，如果是其它的邮箱，如yahoo，你可以仿照下面的去寻找），你首先去申请一个手机邮箱（免费）。我的联通的，所以去<a href="http://mail.wo.com.cn">http://mail.wo.com.cn</a>申请了，如果是中国移动，就去<a href="http://mail.139.com">http://mail.139.com</a>申请，中国电信也有189邮箱，应该也可以的，我不太熟悉而已。上述的都是可以申请免费的，至于升级到收费，个人觉得暂时没必要。然后就是设置了。依然以联通邮箱为例，进入设置页面，可以看到如下界面，然后选择“邮件达到通知”。</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/womail_setting.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="womail_setting" border="0" alt="womail_setting" src="http://wangliping.net/wp-content/uploads/2010/05/womail_setting_thumb.jpg" width="621" height="308"></a> </p>
<p>　　在选择“邮件到达通知”后，可以看到如下界面，设置普通短信提醒邮件达到。此处你设置的是手机上网链接提醒邮件到达，则可以直接通过wap链接访问，而无需后面的客户端了，只是个人认为客户端看邮件更舒服一些吧。如果觉得有些邮件无需提醒，则下面的过滤可以设置。</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/womail_mail.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="womail_mail" border="0" alt="womail_mail" src="http://wangliping.net/wp-content/uploads/2010/05/womail_mail_thumb.jpg" width="655" height="424"></a> </p>
<p>　　做了上述设置之后，那么就回到你自己的邮箱了，毕竟你常用的邮箱估计是其它邮箱，而且已经习惯了。以上述三种邮箱为例，主要是设置邮件转发，当然手机邮箱提供了代收邮件功能，不过个人认为呢，那个是基于pop收取，也就是每隔一段时间收取一次，并不能做到及时收取，即使每隔5分钟，也算不上即时吧，本来邮件的收发就有时间差，再加上这个时间差，就没必要吧，更何况现在邮箱大多提供了转发功能，那就充分利用邮件转发吧，基本可以做到即时提醒。</p>
<p>　　如果是Gmail，你可以在设置里如此设置：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/gmail.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="gmail" border="0" alt="gmail" src="http://wangliping.net/wp-content/uploads/2010/05/gmail_thumb.png" width="885" height="149"></a> </p>
</p>
<p>　　至此，你可以去测试了，发一封邮件到你的Gmail，看你是否能收到短信提醒？我现在不记得这样的设置是不是需要过一会才生效，不过如果不可以，你可以隔那么一会再试的，一定是可以的。</p>
<p>　　那么如果你的邮箱是163邮箱或者是QQ邮箱又如何呢？参看下面的设置，当然我是将我的163邮箱和QQ邮箱的邮件都转发到我的Gmail，然后由Gmail转发到手机邮箱，做到了短信提醒所有邮箱。你不想的话，只需将我的邮箱地址换成你的手机邮箱地址即可。如QQ邮箱，在“设置-常规”里可以找到这个设置界面：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/qmail.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="qmail" border="0" alt="qmail" src="http://wangliping.net/wp-content/uploads/2010/05/qmail_thumb.png" width="533" height="226"></a>&nbsp;</p>
<p>　　如果你是163邮箱，在设置可以看到：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/163_mail.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="163_mail" border="0" alt="163_mail" src="http://wangliping.net/wp-content/uploads/2010/05/163_mail_thumb.jpg" width="588" height="210"></a> </p>
<p>　　如此一来，事情都搞定了，你可以去测试了。下面要讲的就是如何收到了短信提醒后，用手机客户端收发邮件，其实上述的Gmail和163邮箱和QQ邮箱都提供了手机客户端，而且介绍得如此详细，我都不需要介绍了。Gmail的客户端你可以去m.google.com利用手机上去下载，163邮箱的客户端在<a href="http://zsy.163.com">http://zsy.163.com</a>，QQ邮箱的客户端在邮箱里的设置-手中邮可以找到，而手机邮箱也提供了客户端，还能pushmail，所以，如果你不想用这些客户端，甚至可以直接用手机邮箱的pushmail，不过我觉得吧，手机天天辐射的，这GPRS又加一层辐射，没必要整天整天地开吧，所以采用客户端，直到有邮件时才去看，而且有些邮件收到也许都不会去看的。我个人用的是163的手机客户端，非常不错的一款软件，这里有介绍：<a title="http://mail.blog.163.com/blog/static/822094242010029112656481/" href="http://mail.blog.163.com/blog/static/822094242010029112656481/">http://mail.blog.163.com/blog/static/822094242010029112656481/</a></p>
<p>　　好了，至此，都讲完了。不过既然讲到这份上，也提到一个免费天气预报短信提醒吧。不要跟我说谷歌的那个免费天气预报了，已经停止服务了，这里要提到的一款，其实也是基于手机邮箱的，原理就是网站会发送一封以天气预报信息为主题的邮件到你的邮箱，那么当你的手机收到这个短信提醒时，就意味着你收到了天气预报，直接在主题里显示了天气，所以无需去查看邮件，订阅地址：<a title="http://api.liqwei.com/weather/subscription.asp" href="http://api.liqwei.com/weather/subscription.asp">http://api.liqwei.com/weather/subscription.asp</a>，可以看到下面的界面：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/05/weather.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="weather" border="0" alt="weather" src="http://wangliping.net/wp-content/uploads/2010/05/weather_thumb.png" width="682" height="350"></a> </p>
<p>　　OK，不知这样介绍你满意了没？如果觉得这也太简单或者太旧了，就不要喷了，出来混的都不容易。</p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/nokia-e65-s60v3-sis-2" title="实用的S60v3软件(以Nokia E65为例)(二)">实用的S60v3软件(以Nokia E65为例)(二)</a></li><li><a href="http://wangliping.net/e65" title="实用的S60v3软件(以Nokia E65为例)(一)">实用的S60v3软件(以Nokia E65为例)(一)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/sms-get-mail/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>邀请注册了腾讯微博</title>
		<link>http://wangliping.net/invite-qq-weibo</link>
		<comments>http://wangliping.net/invite-qq-weibo#comments</comments>
		<pubDate>Wed, 21 Apr 2010 16:35:25 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[互联网络]]></category>
		<category><![CDATA[微博]]></category>
		<category><![CDATA[腾讯]]></category>

		<guid isPermaLink="false">http://wangliping.net/invite-qq-weibo</guid>
		<description><![CDATA[今天终于获得了一个腾讯微博的邀请，虽然说腾讯微博从4月1日就开始公测，不过一直处于需要邀请的状态，所以一直没注册上，今天又google上搜了一下，顺带把日期也带上，因为一般来说这样的邀请一旦过了当天，那么基本被人占用。在此感谢hugo给我的邀请注册。]]></description>
			<content:encoded><![CDATA[<p>　　今天终于获得了一个腾讯微博的邀请，虽然说腾讯微博从4月1日就开始公测，不过一直处于需要邀请的状态，所以一直没注册上，今天又google上搜了一下，顺带把日期也带上，因为一般来说这样的邀请一旦过了当天，那么基本被人占用。在此感谢hugo给我的邀请注册。</p>
</p>
<p><span id="more-665"></span>
<p>　　怎么说腾讯微博呢，其实对比看了一下，现在都微博都差不多一个样，不过新浪微博倒是自己创新了一种方案，那就是评论，评论虽然类似@，不过新浪却并不按平常那样排列@。而腾讯微博就非常类似twitter了。</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/04/image.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://wangliping.net/wp-content/uploads/2010/04/image_thumb.png" width="644" height="294"></a> </p>
<p>　　不过不知道腾讯微博为什么还是沿用广播这个说法，这个是腾讯邮箱里已经有的说法，难道是为了保持一致性？难道以后邮箱广播里的内容会和这个腾讯微博整合？腾讯依靠它强大的用户群，或许可以在微博领域占领一席之地，不过这个当然要看它怎么与之结合了。</p>
<p>　　为了体验客户端与腾讯微博的相结合，我也装了个2010beta3版本的Q，可以看一下新版本出现了腾讯微博。</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/04/XCVICPAB0EGQM1CW.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="%XCV%~ICP`)]AB0EGQM@1CW" border="0" alt="%XCV%~ICP`)]AB0EGQM@1CW" src="http://wangliping.net/wp-content/uploads/2010/04/XCVICPAB0EGQM1CW_thumb.jpg" width="240" height="53"></a>
<p>　　第三个就是多的微博选项卡，其它所有的界面都没发生什么变化。再看看微博选项卡里有什么：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/04/27_MQ45_X120LHC_7WI.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="27(_$MQ45_X120L)H@C_7WI" border="0" alt="27(_$MQ45_X120L)H@C_7WI" src="http://wangliping.net/wp-content/uploads/2010/04/27_MQ45_X120LHC_7WI_thumb.jpg" width="241" height="117"></a>
</p>
</p>
<p>　　测试了一下，如果有新微博，客户端会有提示，就是第三个选项卡会变成彩色：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/04/JWTEBUCBH61QKO.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="{JW[[]TEBU([CB[~H61~QKO" border="0" alt="{JW[[]TEBU([CB[~H61~QKO" src="http://wangliping.net/wp-content/uploads/2010/04/JWTEBUCBH61QKO_thumb.jpg" width="238" height="33"></a>
</p>
<p>　　不知是否有弹出框提示，不过老是这样发测试信息不好吧？呵呵～客户端发送微博可以点“广播”，弹出对话框：</p>
<p><a href="http://wangliping.net/wp-content/uploads/2010/04/image1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://wangliping.net/wp-content/uploads/2010/04/image_thumb1.png" width="400" height="182"></a> </p>
<p>　　这样你就可以发布微博了。从客户端的联系上看，还算不错，不过如果能更方便就好了，譬如直接在Q面板上就可以输入，而不用跳到微博面板，或者有个热键直接调出微博输入框就更好，那样就方便很多了。查看微博的更新像查看聊天信息一下闪动然后用热键调出信息也更好。当然完善是进一步的事情了。</p>
<p>　　个人觉得腾讯微博的最大优势就是利用几乎人人都会开启的客户端来绑定。如果再开发各种手机客户端那就更好了，现在新浪微博已经走在前面，其利用名人效应也聚集了许多人，现在就看腾讯微博怎么发展了。</p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/tencent-broadcast-or-twiter" title="腾讯广播-腾讯的微博？">腾讯广播-腾讯的微博？</a></li><li><a href="http://wangliping.net/play-with-digu-try" title="玩玩嘀咕看什么模样">玩玩嘀咕看什么模样</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/invite-qq-weibo/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>实例解说 fdisk 使用方法</title>
		<link>http://wangliping.net/how-to-use-fdisk-in-linux</link>
		<comments>http://wangliping.net/how-to-use-fdisk-in-linux#comments</comments>
		<pubDate>Mon, 12 Apr 2010 03:58:36 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[编程技术]]></category>
		<category><![CDATA[fdisk]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mount]]></category>

		<guid isPermaLink="false">http://wangliping.net/how-to-use-fdisk-in-linux</guid>
		<description><![CDATA[fdisk 是一款功能强大的分区工具，也是目前在Unix类操作系统中最流行的工具之一；分区工具老字号；本篇只介绍其最简单的分区操作功能]]></description>
			<content:encoded><![CDATA[<p><b>提要：</b>fdisk 是一款功能强大的分区工具，也是目前在Unix类操作系统中最流行的工具之一；分区工具老字号；本篇只介绍其最简单的分区操作功能。
<p><b><br />一、fdisk 的介绍；<br /></b>
<p><b>fdisk - Partition table manipulator for Linux</b> ，译成中文的意思是磁盘分区表操作工具；本人译的不太好，也没有看中文文档；其实就是分区工具；
</p>
<p><span id="more-652"></span>
<p>fdsik 能划分磁盘成为若干个区，同时也能为每个分区指定分区的文件系统，比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等；当然我们用fdisk 对磁盘操作分区时，并不是一个终点，我们还要对分区进行格式化所需要的文件系统；这样一个分区才能使用；这和DOS中的fdisk 是类似的；
<p><b><br />二、合理规划您的硬盘分区；<br /></b><br />在操作分区之前，我们要明白硬盘分区一点理论，比如硬盘容量和分区大小的计算；对一个硬盘如何规划分区等，请参考如下文档，谢谢；
<p><a href="http://fedora.linuxsir.org/main/?q=node/80">《合理规划您的硬盘分区》</a>
<p><b><br />三、fdisk -l 查看硬盘及分区信息；<br /></b>
<p>通过<a href="http://fedora.linuxsir.org/main/?q=node/80">《合理规划您的硬盘分区》</a> ，我们知道主分区（包括扩展分区）的总个数不能超过四个；也不能把扩展分区包围在主分区之间；根据这个原则，我们划分硬盘分区就比较容易的多；也能为以后减少不必要的麻烦；
<p><b><br />1、通过fdisk -l 查看机器所挂硬盘个数及分区情况；<br /></b>
<p><code>[root@localhost beinan]# fdisk -l<br />Disk /dev/hda: 80.0 GB, 80026361856 bytes<br />255 heads, 63 sectors/track, 9729 cylinders<br />Units = cylinders of 16065 * 512 = 8225280 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/hda1&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 765&nbsp;&nbsp;&nbsp;&nbsp; 6144831&nbsp;&nbsp;&nbsp; 7&nbsp; HPFS/NTFS<br />/dev/hda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 766&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2805&nbsp;&nbsp;&nbsp; 16386300&nbsp;&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/hda3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2806&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9729&nbsp;&nbsp;&nbsp; 55617030&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/hda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2806&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3825&nbsp;&nbsp;&nbsp;&nbsp; 8193118+&nbsp; 83&nbsp; Linux<br />/dev/hda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3826&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5100&nbsp;&nbsp;&nbsp; 10241406&nbsp;&nbsp; 83&nbsp; Linux<br />/dev/hda7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5198&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 787153+&nbsp; 82&nbsp; Linux swap / Solaris<br />/dev/hda8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5199&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6657&nbsp;&nbsp;&nbsp; 11719386&nbsp;&nbsp; 83&nbsp; Linux<br />/dev/hda9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6658&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7751&nbsp;&nbsp;&nbsp;&nbsp; 8787523+&nbsp; 83&nbsp; Linux<br />/dev/hda10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7752&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9729&nbsp;&nbsp;&nbsp; 15888253+&nbsp; 83&nbsp; Linux<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 806400&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 76&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 200781&nbsp;&nbsp; 83&nbsp; Linux</code>
<p>通过上面的信息，我们知道此机器中挂载两个硬盘（或移动硬盘），其中一个是hda 另一个是sda ；如果我们想查看单个硬盘情况，可以通过 fdisk -l /dev/hda1 或者fdisk -l /dev/sda1 来操作；以fdisk -l 输出的硬盘标识为准；
<p>其中 hda有三个主分区（包括扩展分区）,分别是主分区 hda1 hda2 和hda3（扩展分区） ；逻辑分区是 hda5到hda10；<br />其中 sda 有两个主分区（包括扩展分区），分别是 hda1 和hda2 (扩展分区）；逻辑分区是 sda5 hda6 ；
<p>硬盘总容量=主分区（包括扩展分区）总容量<br />扩展分区容量=逻辑分区总容量
<p>通过上面的例子，我们可以得知 hda=hda1+hda2+hda3，其中hda3=hda5+hda6+hda7+hda8+hda9+hda10 ... ...<br /><b><br />2、关于fdisk -l 一些数值的说明；<br /></b>
<p><code>Disk /dev/hda: 80.0 GB, 80026361856 bytes<br />255 heads, 63 sectors/track, 9729 cylinders<br />Units = cylinders of 16065 * 512 = 8225280 bytes</code>
<p>这个硬盘是80G的，有255个磁面；63个扇区；9729个磁柱；每个 cylinder（磁柱）的容量是 8225280 bytes=8225.280 K（约为）=8.225280M（约为）；
<p><code>分区序列&nbsp;&nbsp;&nbsp; 引导&nbsp;&nbsp;&nbsp; 开始&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 终止&nbsp;&nbsp;&nbsp; 容量&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 分区类型ID&nbsp;&nbsp;&nbsp; 分区类型<br />Device&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System<br />/dev/hda1&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 765&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6144831&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HPFS/NTFS<br />/dev/hda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 766&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2805&nbsp;&nbsp;&nbsp;&nbsp; 16386300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; W95 FAT32 (LBA)<br />/dev/hda3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2806&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9729&nbsp;&nbsp;&nbsp; 55617030&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Extended<br />/dev/hda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2806&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3825&nbsp;&nbsp;&nbsp;&nbsp; 8193118+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux<br />/dev/hda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3826&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5100&nbsp;&nbsp;&nbsp; 10241406&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux<br />/dev/hda7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5198&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 787153+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 82&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux swap / Solaris<br />/dev/hda8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5199&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6657&nbsp;&nbsp;&nbsp; 11719386&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux<br />/dev/hda9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6658&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7751&nbsp;&nbsp;&nbsp;&nbsp; 8787523+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux<br />/dev/hda10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7752&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9729&nbsp;&nbsp;&nbsp; 15888253+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux</code>
<p><b>说明：</b>
<p>硬盘分区的表示：在Linux 是通过hd*x 或 sd*x 表示的，其中 * 表示的是a、b、c ... ... x表示的数字 1、2、3 ... ... hd大多是IDE硬盘；sd大多是SCSI或移动存储；<br />引导（Boot）：表示引导分区，在上面的例子中 hda1 是引导分区；<br />Start （开始）：表示的一个分区从X cylinder（磁柱）开始；<br />End （结束）：表示一个分区到 Y cylinder（磁柱）结束；<br />id和System 表示的是一个意思，id看起来不太直观，我们要在fdisk 一个分区时，通过指定id来确认分区类型；比如 7表示的就NTFS 分区；这个在fdisk 中要通过t功能来指定。下面的部份会提到；<br />Blocks（容量）：这是我翻译的，其实不准确，表示的意思的确是容量的意思，其单位是K；一个分区容量的值是由下面的公式而来的；
<p>Blocks = （相应分区End数值 - 相应分区Start数值）x 单位cylinder（磁柱）的容量
<p>所以我们算一下 hda1的 Blocks 的大小 ：
<p>hda1 Blocks=(765-1)x8225.280=6284113.92 K = 6284.113.92M
<p><b>注：</b>换算单位以硬盘厂家提供的10进位算起，如果以操作系统二进制来算，这个分区容量应该更少一些，得出的这个值和我们通过 fdisk -l 看到的 /dev/hda1的值是大体相当的，因为换算方法不一样，所以也不可能尽可能的精确；再加上分区时的一点损失之类，有时或大或小是存在的；
<p>我们查看分区大小或者文件的时候，还是用十进制来计算比较直观；推算办法是 byte 向前推小数点三位就是K ，K单位的值向前推小数点三位就是M，M向前推小数点三位就是G... ... 一般也差不了多少；这么算就行；
<p><b><br />3、估算一个存储设备是否被完全划分；<br /></b><br />我们估算一个硬盘是否完全被划分，我们只要看 fdisk -l 输出的内容中的 cylinders（柱体） 上一个分区的End 和 下一个分区的Start是不是一个连续的数字，另外要看一下每个硬盘设备的fdisk -l 的开头部份，看一下他的 cylinders（柱体）的值；
<p>比如hda设备，我们看到的是 9729 cylinders ；我们通过 hda的分区表可以看到上一个分区的End的值+1 就是下一个分区的Start 的值；比如 hda2的Start的值是 hda1 的End 的值+1，这证明 hda1 和hda2 中间没有空白分区，是连续的，以此类推；在 hda10，我们看到 End 的值是9729 ，而在fdisk -l头部信息中也有9729 cylinders，证明这个硬盘已经完全划分；
<p><code>Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 806400&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 76&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 200781&nbsp;&nbsp; 83&nbsp; Linux</code>
<p>我们再看看 sda 移动储是不是被完全划分了；sda有 125个cylinders （柱体），有一个主分区和一个扩展分区构成；在扩展分区中，我们看到End的值为125,而这个移动硬盘的cylinder也是125，这能说明这个硬盘不可能再添加任何主分区了；根据我们上面所说的 sda1 sda2 sda5 sda6 之间未有任何未划分空间，但sda6 的cylinders （柱体）的End值却是 76 ，而 sda总的cylinders （柱体）有125个，由此看来sda 在 sda6后面有未划分区域；
<p>至于sda 有多少未划分空间，我们算一下就知道了；扩展分区总容量是 806400 K ，大约是 806.400M左右，而逻辑分区 sda5 和sda6 的大小加起来是 400M左右，所以还仍有400M左右未划分空间，并且只能划分为链逻辑分区；
<p><b><br />四、fdisk 对硬盘及分区的操作，进入fdisk 对硬盘操作阶段；<br /></b>
<p>我们可以对硬盘进行分区操作，前提是您把fdisk -l 弄明白了；通过fdisk -l ，我们能找出机器中所有硬盘个数及设备名称；比如上面的例子，我们会看到两个设备一个是/dev/hda ，另一个是/dev/sda ；<br /><b><br />fdisk 操作硬盘的命令格式如下：<br /></b>
<p><code>[root@localhost beinan]# fdisk&nbsp;&nbsp;&nbsp; 设备 </code>
<p>比如我们通过 fdisk -l 得知 /dev/hda 或者 /dev/sda设备；我们如果想再添加或者删除一些分区，可以用
<p><code>[root@localhost beinan]# fdisk&nbsp;&nbsp;&nbsp;&nbsp; /dev/hda<br />或<br />[root@localhost beinan]# fdisk&nbsp; /dev/sda </code>
<p><b>注</b> 在以后的例子中，我们要以 /dev/sda设备为例，来讲解如何用fdisk 来操作添加、删除分区等动作；<br /><b><br />1、fdisk 的说明；<br /></b><br />当我们通过 fdisk 设备，进入相应设备的操作时，会发现有如下的提示；以 fdisk /dev/sda 设备为例，以下同；
<p><code>[root@localhost beinan]# fdisk /dev/sda<br />Command (m for help):&nbsp; 在这里按m ，就会输出帮助；<br />Command action<br />&nbsp;&nbsp; a&nbsp;&nbsp; toggle a bootable flag<br />&nbsp;&nbsp; b&nbsp;&nbsp; edit bsd disklabel<br />&nbsp;&nbsp; c&nbsp;&nbsp; toggle the dos compatibility flag<br />&nbsp;&nbsp; d&nbsp;&nbsp; delete a partition&nbsp;&nbsp; 注：这是删除一个分区的动作；<br />&nbsp;&nbsp; l&nbsp;&nbsp; list known partition types&nbsp; 注：l是列出分区类型，以供我们设置相应分区的类型；<br />&nbsp;&nbsp; m&nbsp;&nbsp; print this menu&nbsp; 注：m 是列出帮助信息；<br />&nbsp;&nbsp; n&nbsp;&nbsp; add a new partition 注：添加一个分区；<br />&nbsp;&nbsp; o&nbsp;&nbsp; create a new empty DOS partition table <br />&nbsp;&nbsp; p&nbsp;&nbsp; print the partition table 注：p列出分区表；<br />&nbsp;&nbsp; q&nbsp;&nbsp; quit without saving changes 注：不保存退出；<br />&nbsp;&nbsp; s&nbsp;&nbsp; create a new empty Sun disklabel&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp; t&nbsp;&nbsp; change a partition's system id&nbsp; 注：t 改变分区类型；<br />&nbsp;&nbsp; u&nbsp;&nbsp; change display/entry units&nbsp; <br />&nbsp;&nbsp; v&nbsp;&nbsp; verify the partition table<br />&nbsp;&nbsp; w&nbsp;&nbsp; write table to disk and exit&nbsp; 注：把分区表写入硬盘并退出；<br />&nbsp;&nbsp; x&nbsp;&nbsp; extra functionality (experts only)&nbsp; 注：扩展应用，专家功能；</code>
<p>其实我们常用的只有注有中文的，其它的功能我们不常用（呵，主要是我不会用，否则早会卖弄一下了）；x扩展功能，也不是常用的；一般的情况下只要懂得 d l m p q t w 就行了；
<p>下面以实例操作来详述，没有例子没有办法就，新手也看不懂；<br /><b><br />2、列出当前操作硬盘的分区情况，用p；<br /></b>
<p><code>Command (m for help): p<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 806400&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 76&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 200781&nbsp;&nbsp; 83&nbsp; Linux</code>
<p><b><br />3、通过fdisk的d指令来删除一个分区；<br /></b>
<p><code>Command (m for help): p&nbsp;&nbsp;&nbsp; 注：列出分区情况；<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 806400&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 76&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 200781&nbsp;&nbsp; 83&nbsp; Linux<br />Command (m for help): d 注：执行删除分区指定；<br />Partition number (1-6): 6&nbsp; 注：我想删除 sda6 ，就在这里输入 6 ；<br />Command (m for help): p 注：再查看一下硬盘分区情况，看是否删除了？<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 806400&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />Command (m for help):</code>
<p><b>警告：</b>删除分区时要小心，请看好分区的序号，如果您删除了扩展分区，扩展分区之下的逻辑分区都会删除；所以操作时一定要小心；如果知道自己操作错了，请不要惊慌，用q不保存退出；切记切记！！！！在分区操作错了之时，千万不要输入w 保存退出！！！<br /><b><br />4、通过fdisk的n指令增加一个分区；<br /></b>
<p><code>Command (m for help): p<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 806400&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />Command (m for help): n&nbsp; 注：增加一个分区；<br />Command action<br />&nbsp;&nbsp; l&nbsp;&nbsp; logical (5 or over)&nbsp; 注：增加逻辑分区，分区编号要大于5；为什么要大于5，因为已经有sda5了；<br />&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4) 注：增加一个主分区；编号从 1-4 ；但sda1 和sda2都被占用，所以只能从3开始；<br />p<br />Partition number (1-4): 3<br />No free sectors available&nbsp; 注：失败中，为什么失败？</code>
<p>注：我试图增加一个主分区，看来是失败了，为什么失败？因为我们看到主分区+扩展分区把整个磁盘都用光了，看扩展分区的End的值，再看一下 p输出信息中有125 cylinders；最好还是看前面部份；那里有提到；
<p>所以我们只能增加逻辑分区了；
<p><code>Command (m for help): n<br />Command action<br />&nbsp;&nbsp; l&nbsp;&nbsp; logical (5 or over)<br />&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)<br />l&nbsp;&nbsp; 注：在这里输入l，就进入划分逻辑分区阶段了；<br />First cylinder (51-125, default 51):&nbsp;&nbsp; 注：这个就是分区的Start 值；这里最好直接按回车，如果您输入了一个非默认的数字，会造成空间浪费；<br />Using default value 51<br />Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M&nbsp; 注：这个是定义分区大小的，+200M 就是大小为200M ；当然您也可以根据p提示的单位cylinder的大小来算，然后来指定 End的数值。回头看看是怎么算的；还是用+200M这个办法来添加，这样能直观一点。如果您想添加一个10G左右大小的分区，请输入 +10000M ；<br />Command (m for help):</code>
<p><b><br />5、通过fdisk的t指令指定分区类型；<br /></b>
<p><code>Command (m for help): t&nbsp; 注：通过t来指定分区类型；<br />Partition number (1-6): 6 注：要改变哪个分区类型呢？我指定了6，其实也就是sda6<br />Hex code (type L to list codes):L&nbsp; 注：在这里输入L，就可以查看分区类型的id了；<br />Hex code (type L to list codes): b&nbsp; 注：如果我想让这个分区是 W95 FAT32 类型的，通过L查看得知 b是表示的是，所以输入了b；<br />Changed system type of partition 6 to b (W95 FAT32)&nbsp; 注：系统信息，改变成功；是否是改变了，请用p查看；<br />Command (m for help): p<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 806400&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp;&nbsp; b&nbsp; W95 FAT32</code>
<p><b><br />6、fdisk 的退出，用q或者 w；<br /></b><br />其中 q是 不保存退出，w是保存退出；
<p><code>Command (m for help): w<br />或 <br />Command (m for help): q</code>
<p><b><br />7、一个添加分区的例子；<br /></b><br />本例中我们会添加两个200M的主分区，其它为扩展分区，在扩展分区中我们添加两个200M大小的逻辑分区；
<p><code>Command (m for help): p 注：列出分区表；<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />Command (m for help): n 注：添加分区；<br />Command action<br />&nbsp;&nbsp; e&nbsp;&nbsp; extended<br />&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)<br />p&nbsp; 注：添加主分区；<br />Partition number (1-4): 1&nbsp;&nbsp; 注：添加主分区1；<br />First cylinder (1-125, default 1):&nbsp;&nbsp; 注：直接回车，主分区1的起始位置；默认为1,默认就好；<br />Using default value 1<br />Last cylinder or +size or +sizeM or +sizeK (1-125, default 125): +200M&nbsp;&nbsp; 注：指定分区大小，用+200M来指定大小为200M<br />Command (m for help): n&nbsp; 注：添加新分区；<br />Command action<br />&nbsp;&nbsp; e&nbsp;&nbsp; extended<br />&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)<br />p&nbsp; 注：添加主分区<br />Partition number (1-4): 2&nbsp; 注：添加主分区2；<br />First cylinder (26-125, default 26):<br />Using default value 26<br />Last cylinder or +size or +sizeM or +sizeK (26-125, default 125): +200M 注：指定分区大小，用+200M来指定大小为200M<br />Command (m for help): n<br />Command action<br />&nbsp;&nbsp; e&nbsp;&nbsp; extended<br />&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)<br />e&nbsp; 注：添加扩展分区；<br />Partition number (1-4): 3&nbsp; 注：指定为3 ，因为主分区已经分了两个了，这个也算主分区，从3开始；<br />First cylinder (51-125, default 51):&nbsp; 注：直接回车；<br />Using default value 51<br />Last cylinder or +size or +sizeM or +sizeK (51-125, default 125):&nbsp;&nbsp; 注：直接回车，把其余的所有空间都给扩展分区；<br />Using default value 125<br />Command (m for help): p<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201600&nbsp;&nbsp; 83&nbsp; Linux<br />/dev/sda3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 604800&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />Command (m for help): n<br />Command action<br />&nbsp;&nbsp; l&nbsp;&nbsp; logical (5 or over)<br />&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)<br />l&nbsp; 注：添加逻辑分区；<br />First cylinder (51-125, default 51):<br />Using default value 51<br />Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M&nbsp; 注：添加一个大小为200M大小的分区；<br />Command (m for help): n<br />Command action<br />&nbsp;&nbsp; l&nbsp;&nbsp; logical (5 or over)<br />&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)<br />l&nbsp; 注：添加一个逻辑分区；<br />First cylinder (76-125, default 76):<br />Using default value 76<br />Last cylinder or +size or +sizeM or +sizeK (76-125, default 125): +200M 注：添加一个大小为200M大小的分区；<br />Command (m for help): p&nbsp; 列出分区表；<br />Disk /dev/sda: 1035 MB, 1035730944 bytes<br />256 heads, 63 sectors/track, 125 cylinders<br />Units = cylinders of 16128 * 512 = 8257536 bytes<br />&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201600&nbsp;&nbsp; 83&nbsp; Linux<br />/dev/sda3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 604800&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux<br />/dev/sda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 76&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201568+&nbsp; 83&nbsp; Linux</code>
<p>然后我们根据前面所说通过t指令来改变分区类型；
<p>最后不要忘记w保存退出；
<p><b><br />五、对分区进行格式化，以及加载;<br /></b>
<p>先提示一下；用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令来格式化分区，比如我想格式化 sda6为ext3文件系统，则输入；
<p><code>[root@localhost beinan]# mkfs.ext3 /dev/sda6</code>
<p>如果我想加载 sda6到目前系统来存取文件，应该有mount 命令，但首先您得建一个挂载目录；比如 /mnt/sda6 ；
<p><code>[root@localhost beinan]# mkdir /mnt/sda6<br />[root@localhost beinan]# mount /dev/sda6 /mnt/sda6<br />[root@localhost beinan]# df -lh<br />Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 容量&nbsp; 已用 可用 已用% 挂载点<br />/dev/hda8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11G&nbsp; 8.4G&nbsp; 2.0G&nbsp; 81% /<br />/dev/shm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 236M&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 236M&nbsp;&nbsp; 0% /dev/shm<br />/dev/hda10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16G&nbsp; 6.9G&nbsp; 8.3G&nbsp; 46% /mnt/hda10<br />/dev/sda6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 191M&nbsp; 5.6M&nbsp; 176M&nbsp;&nbsp; 4% /mnt/sda6</code>
<p>这样我们就能进入 /mnt/sda6目录，然后存取文件了；
<p>具体的权限方法，以及mount 更详细的用法，在以后我会专门写一个帖子；在一帖中放下所有的内容实在有点为难；
<p><strong>原文</strong>：<a title="http://fedora.linuxsir.org/main/?q=node/81" href="http://fedora.linuxsir.org/main/?q=node/81">http://fedora.linuxsir.org/main/?q=node/81</a>
<p><strong>转烛补充：</strong>
<p>我主要是利用它进行分区合并操作。因为我在安装时分了几个区，现在想把/dev/sda5和/dev/sda6合并，搜了一些资料说用gparted这个工具很不错（后来证实这个工具的确不错），不过如果能用自带的工具而不用另外安装当然是最好的。先是用d命令删除了两个分区，重启，然后用n命令将剩余的空间创建了一个分区，用的都是默认值，即将全部剩余空间放到新的分区，然后再重启。然后利用gparted给新的分区改了个label（此处你也没必要做），再然后仍然利用gparted查看了一下新分区的uuid，在/etc/fstab里将这个挂载到/media/disk下。以上修改label和查看uuid应该可以不用gparted的，但是一时没找到命令，而正好又装了，所以就用上了。然后再重启，OK了。
<p>再补充：ls -al /dev/disk/by-uuid 可以查看uuid</p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/linux_mount_usb" title="Linux如何mount Usb盘">Linux如何mount Usb盘</a></li><li><a href="http://wangliping.net/c-change-file-permission" title="C语言查看和更改文件的权限">C语言查看和更改文件的权限</a></li><li><a href="http://wangliping.net/source-insight-see-source-code" title="Source-Insight-看大规模大工程源代码">Source-Insight-看大规模大工程源代码</a></li><li><a href="http://wangliping.net/linux-android-x86-test-keyboard-mouse-touch-screen" title="Linux下测试键盘鼠标触摸屏触摸板">Linux下测试键盘鼠标触摸屏触摸板</a></li><li><a href="http://wangliping.net/linux_mem_info_watch" title="Linux内存信息查看相关">Linux内存信息查看相关</a></li><li><a href="http://wangliping.net/how_to_add_swap_method" title="Linux中增加Swap的方法">Linux中增加Swap的方法</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/how-to-use-fdisk-in-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android-x86 1.6-r2 釋出</title>
		<link>http://wangliping.net/android-x86-donut-r2</link>
		<comments>http://wangliping.net/android-x86-donut-r2#comments</comments>
		<pubDate>Thu, 25 Mar 2010 00:54:29 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android-x86]]></category>
		<category><![CDATA[busybox]]></category>

		<guid isPermaLink="false">http://wangliping.net/android-x86-donut-r2</guid>
		<description><![CDATA[你还在为Android兴奋却拿不到Nexus one手机吗？不用着急，这里有你需要的，android-x86在PC上跑出越来越多的功能，或许某些地方比Nexus one还强大呢，而且也越来越稳定。还等什么，来看看阿偉的個人天地关于Android-x86 1.6-r2 釋出。]]></description>
			<content:encoded><![CDATA[<p>　　你还在为Android兴奋却拿不到Nexus one手机吗？不用着急，这里有你需要的，android-x86在PC上跑出越来越多的功能，或许某些地方比Nexus one还强大呢，而且也越来越稳定。还等什么，来看看<a href="http://cwhuang.info/">阿偉的個人天地</a>关于<a href="http://cwhuang.info/2010/03/android-x86-1-6-r2-release">Android-x86 1.6-r2 釋出</a>。</p>
<p><span id="more-649"></span><br />
<blockquote>
<p>最近在 donut-x86 branch 新增不少功能或修正，因此釋出了 1.6 release 2。主要的特色包括 </p>
<ul>
<li>錄影功能可正常使用了。
<li>3G USB 網卡的支援。
<li>加入 mksh 取代原本的 Android shell。
<li>加入 busybox。
<li>從 eclair-x86 移植過來的觸控螢幕校正功能。
<li>更新一些 apps，例如 LIME、ConnectBot。
<li>其餘的小修正，例如移除開機時的警告訊息，還有 console 可以 ctrl-C 了。 </li>
</ul>
<p>細節以及下載地點，請參考 <a href="http://www.android-x86.org/releases/releasenote_1_6_r2">release note</a>。</p>
</blockquote>
<p>　　如果这个信息能在cnBeta上发出，或许可以受到更多人的追捧呢，呵呵～</p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-x86-20-eclair-release" title="Android-x86-2.0-eclair出pub-test版了">Android-x86-2.0-eclair出pub-test版了</a></li><li><a href="http://wangliping.net/source-insight-see-source-code" title="Source-Insight-看大规模大工程源代码">Source-Insight-看大规模大工程源代码</a></li><li><a href="http://wangliping.net/eclair-virtuebox-boot" title="Eclair已经在VirtualBox上跑起来了">Eclair已经在VirtualBox上跑起来了</a></li><li><a href="http://wangliping.net/android-x86-camrecord-and-opensource" title="Android-x86录像功能完善——兼谈开源">Android-x86录像功能完善——兼谈开源</a></li><li><a href="http://wangliping.net/android-x86-begin-to-accept-donate" title="Android-x86项目开始接受捐款">Android-x86项目开始接受捐款</a></li><li><a href="http://wangliping.net/android-x86-1-6-stable" title="Android-x86出1.6版了">Android-x86出1.6版了</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/android-x86-donut-r2/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>C语言实现文件查找操作</title>
		<link>http://wangliping.net/c-file-find-out</link>
		<comments>http://wangliping.net/c-file-find-out#comments</comments>
		<pubDate>Thu, 11 Mar 2010 04:51:47 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[编程技术]]></category>
		<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">http://wangliping.net/c-file-find-out</guid>
		<description><![CDATA[在文件操作过程中，免不得要去查找文件之类的。虽然说Windows的API提供了不少这样的接口，但是还是比较倾向于C和C++之类的库。以下就用例子来做这样的工作，程序本身当然还有不少不成熟之处，编译工具用的是Dev C++，编译环境建立在WindowsXP上。]]></description>
			<content:encoded><![CDATA[<p>　　在文件操作过程中，免不得要去查找文件之类的。虽然说Windows的API提供了不少这样的接口，但是还是比较倾向于C和C++之类的库。以下就用例子来做这样的工作，程序本身当然还有不少不成熟之处，编译工具用的是Dev C++，编译环境建立在WindowsXP上。</p>
<p><span id="more-648"></span>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'"><span style="color: rgb(0,128,128)">#include &lt;cstdlib&gt;</span><br /><span style="color: rgb(0,128,128)">#include &lt;iostream&gt;</span><br /><span style="color: rgb(0,128,128)">#include &lt;string.h&gt;&nbsp; </span><br /><span style="color: rgb(0,128,128)">#include &lt;dir.h&gt;</span></p>
<p><span style="color: rgb(0,0,0)">using</span> <span style="color: rgb(0,0,0)">namespace</span> <span style="color: rgb(0,0,0)">std</span>;</p>
<p><span style="font-weight: bold; color: rgb(0,0,128)">int</span> <span style="color: rgb(0,0,0)">main</span>(<span style="font-weight: bold; color: rgb(0,0,128)">int</span> <span style="color: rgb(0,0,0)">argc</span><span style="color: rgb(0,0,0)">,</span> <span style="font-weight: bold; color: rgb(0,0,128)">char</span> <span style="color: rgb(0,0,0)">*</span><span style="color: rgb(0,0,0)">argv</span><span style="color: rgb(0,0,0)">[])</span><br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">struct</span> <span style="color: rgb(0,0,0)">_finddata_t</span> <span style="color: rgb(0,0,0)">myfile</span>;<br />&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">char</span> <span style="color: rgb(0,0,0)">path</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,0,255)">256</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">char</span> <span style="color: rgb(0,0,0)">extension</span><span style="color: rgb(0,0,0)">[</span><span style="color: rgb(0,0,255)">20</span><span style="color: rgb(0,0,0)">];</span><br />&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(0,0,255)">"Please input the extension of the file: "</span>);<br />&nbsp; <span style="color: rgb(0,0,0)">scanf</span>(<span style="color: rgb(0,0,255)">"%s"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">extension</span>);<br />&nbsp; <span style="color: rgb(0,0,0)">sprintf</span>(<span style="color: rgb(0,0,0)">path</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,255)">"D:</span><span style="color: rgb(0,0,255)">\\</span><span style="color: rgb(0,0,255)">Work</span><span style="color: rgb(0,0,255)">\\</span><span style="color: rgb(0,0,255)">*.%s"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">extension</span>);<br />&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(0,0,255)">"List of the .%s files:</span><span style="color: rgb(0,0,255)">\n</span><span style="color: rgb(0,0,255)">"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">extension</span>);<br />&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">long</span>&nbsp; <span style="color: rgb(0,0,0)">done</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">_findfirst</span>(<span style="color: rgb(0,0,0)">path</span><span style="color: rgb(0,0,0)">,</span><span style="color: rgb(0,0,0)">&amp;</span><span style="color: rgb(0,0,0)">myfile</span>);&nbsp; <br />&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">int</span>&nbsp;&nbsp; <span style="color: rgb(0,0,0)">find</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,255)">0</span>; <br />&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">while</span> (<span style="color: rgb(0,0,0)">!</span><span style="color: rgb(0,0,0)">find</span>)<br />&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">if</span> (<span style="color: rgb(0,0,0)">strcmp</span>(<span style="color: rgb(0,0,0)">myfile</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">name</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,255)">"."</span>) <span style="color: rgb(0,0,0)">&amp;&amp;</span> <span style="color: rgb(0,0,0)">strcmp</span>(<span style="color: rgb(0,0,0)">myfile</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">name</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,255)">".."</span>))&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(0,0,255)">"%s</span><span style="color: rgb(0,0,255)">\n</span><span style="color: rgb(0,0,255)">"</span><span style="color: rgb(0,0,0)">,</span><span style="color: rgb(0,0,0)">myfile</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">name</span>);&nbsp; <br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">find</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">_findnext</span>(<span style="color: rgb(0,0,0)">done</span><span style="color: rgb(0,0,0)">,</span><span style="color: rgb(0,0,0)">&amp;</span><span style="color: rgb(0,0,0)">myfile</span>);&nbsp;&nbsp;&nbsp; <br />&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp; <span style="color: rgb(0,0,0)">_findclose</span>(<span style="color: rgb(0,0,0)">done</span>);<br />&nbsp; <span style="color: rgb(0,0,0)">system</span>(<span style="color: rgb(0,0,255)">"PAUSE"</span>);</p>
<p>&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">return</span> <span style="color: rgb(0,0,255)">0</span>;<br /><span style="color: rgb(0,0,0)">}</span></div>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'"><span style="color: rgb(0,0,0)"></span>&nbsp;</div>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'"><span style="color: rgb(0,0,0)"></span></div>
<p>　　如果是在Linux环境下运行，可能会提示找不到dir.h文件，所以还是在Windows下编译运行吧。下面给一个列出文件目录下所有文件的程序，可以在Windows和Linux都能运行。</p>
<p>
<div class="source" style="color: rgb(0,0,0); font-family: '[object HTMLOptionElement]','Consolas','Lucida Console','Courier New'"><span style="color: rgb(0,128,128)">#include &lt;dirent.h&gt;</span></p>
<p><span style="font-weight: bold; color: rgb(0,0,128)">int</span> <span style="color: rgb(0,0,0)">main</span>()<br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">DIR</span> <span style="color: rgb(0,0,0)">*</span> <span style="color: rgb(0,0,0)">dir</span>;<br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">struct</span> <span style="color: rgb(0,0,0)">dirent</span> <span style="color: rgb(0,0,0)">*</span> <span style="color: rgb(0,0,0)">ptr</span>;<br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">int</span> <span style="color: rgb(0,0,0)">i</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">dir</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">opendir</span>(<span style="color: rgb(0,0,255)">"D:</span><span style="color: rgb(0,0,255)">\\</span><span style="color: rgb(0,0,255)">Work</span><span style="color: rgb(0,0,255)">\\</span><span style="color: rgb(0,0,255)">"</span>);<br />&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: rgb(0,0,128)">while</span>(<span style="color: rgb(0,0,0)">ptr</span> <span style="color: rgb(0,0,0)">=</span> <span style="color: rgb(0,0,0)">readdir</span>(<span style="color: rgb(0,0,0)">dir</span>)) <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(0,0,255)">"file name: %s</span><span style="color: rgb(0,0,255)">\n</span><span style="color: rgb(0,0,255)">"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">ptr</span><span style="color: rgb(0,0,0)">-&gt;</span><span style="color: rgb(0,0,0)">d_name</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">closedir</span>(<span style="color: rgb(0,0,0)">dir</span>);<br /><span style="color: rgb(0,0,0)">}</span></div>
</p>
<p>　　以上这个参考过别人的程序，大家如果有更多的指教请多多指出。</p>
<p align="center"><strong>原创文章，如需转载请注明【</strong><a href="http://wangliping.net"><strong>转烛空间</strong></a><strong>】：</strong><a href="http://wangliping.net"><strong>http://wangliping.net</strong></a><strong> </strong>
<p align="center"><strong>本文地址：</strong><a href="http://wangliping.net/c-file-find-out"><strong>http://wangliping.net/c-file-find-out</strong></a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/c-change-file-permission" title="C语言查看和更改文件的权限">C语言查看和更改文件的权限</a></li><li><a href="http://wangliping.net/cpp-link-sort-override-wrfile" title="C++单链表冒泡排序、运算符重载和文件读写">C++单链表冒泡排序、运算符重载和文件读写</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/c-file-find-out/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
