<?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>liulang&#039;s blog</title>
	<atom:link href="http://www.liulang.cq.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liulang.cq.cn</link>
	<description>既然选择了远方，便只顾风雨兼程……</description>
	<lastBuildDate>Thu, 10 Jun 2010 11:41:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>电影有时候不仅仅是娱乐，哈佛商学院和斯坦福要求学生必看的20部电影（当然你可以选择不看，没有人逼迫只有梦想只有天真和勇气的你）</title>
		<link>http://www.liulang.cq.cn/20100610/20movie.html</link>
		<comments>http://www.liulang.cq.cn/20100610/20movie.html#comments</comments>
		<pubDate>Thu, 10 Jun 2010 11:41:08 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[杂记]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=281</guid>
		<description><![CDATA[在复杂的商业社会，你想创业，不懂经济，不懂商业，不懂人情世故，不懂法律边沿，你只有勇气，只有梦想，只有天真，只有一场空。 
这20部电影可以学到的商业社会必须的经济常识，以及每天都发生着的经济欺诈。 这20部电影都是英语国家孩子在学习商业知识方面必须看的影片。其中包括哈佛商学院一直排第一位的《华尔街》，还有沃顿商学院排第一位的《Trading place》。斯坦福要求商科学生必须看的《boiler room》。

总之，一一看后，算是真正懂了一点西方商业的本质。 
1、Wall Street（华尔街） (1987) 
内部交易是违法的，不违法怎么能够发财。关键看如何违法同时可以掩盖。不看这个影片怎么能够随便进入股市。 
2、Glengarry Glenn Ross（拜金一族）(1992) 
当房地产进入萧条的时候，美国的房屋中介的销售顾问都在忙什么？他们如何利用数据库，如何门到门地将房地产销售出去。如何在萧条期包装房地产，如何瞄准新婚家庭的住房需求，如何对准投资需求？看了才知道，如今的美国房地产萧条肯定不会是问题。 
3、Trading Places （颠倒乾坤）(1983) 
经济是交易行为的代名词。只要有交易，就需要学会评估交易是否合算，就需要透视交易对方内心的秘密。交易中学到三个核心法则，在世界上任何国家，如何地方只要有交易的地方都适用的本质法则。 
4、Boiler Room（锅炉房）(2000) 
难以想像的是违法交易几乎与证券市场形影不离。一个19岁的年轻人如此近距离地目睹财富的操纵过程，让谁富有，那不过是一个随机的选择。 
5、Pirates of Silicon Valley（硅谷传奇）(1999) 
比 尔·盖茨与斯蒂夫·乔布斯在所有方面的看法，观点都是对立的。他们只有在一个事情上是绝对共同的，那就是尽一切可能封杀这个影片。硅谷的高科技公司是如何 孵化的，是怎么演变成今天这个样子的，不到25岁的年轻人利用了什么样的市场规则，又是如何让市场规则，让客户，让竞争对手形成一个共同体的。阴谋一个接 一个，层出不穷的点子笼罩在硅谷的上空。 
6、The Coca-Cola Kid（可口可乐小子）(1985) 
不是地震中的可乐男孩，而是美国男孩的可乐生涯。作为一个碳酸饮料的营销从业员，他不得不回答一个问题，在边远的澳大利亚小镇，为什么没有一瓶可口可乐？营销是生意不可缺的部分。尤其是创业中不可缺少。一个男孩用可乐创造一个事业的故事。 
7、The Secret of My Succe$s（发达之路）(1987) 
任 何年轻人的梦想中都至少包括两个绝对共同的东西，一个是金钱，一个是美女。明天早晨醒来，发现你不过就是一个北漂的时候，不过就是陷入大上海茫茫人海中的 一个小小小小的水滴的时候，如何实现自己梦想中这两个无法或缺的元素。且看美国堪萨斯的男孩在纽约飘荡的历程。如果纽约可以代表近100年人类商业活动的中心，那么，任何21世纪的年轻人，你不得不面对大城市的喧嚣、躁动，美女可以让你实现金钱的梦想，同样，金钱也可以让你品味美女的诱惑。去追求你梦想中的金钱、美女吧。 
8、In Good Company（优势合作）(2004) 
想成为全球级别的公司，怎么能够不看这个影片，至少5次以上呢。大公司都是通过收购来长大的。你会收购吗？知道收购后销售主管是怎么想的吗？知道销售人员背后议论什么吗？联想收购IBM失败的核心因素就是根本没有看懂这个影片。你看得懂吗？当公司与公司之间发生买卖的时候，公司一员的你，位置在哪里？ 
9、Barcelona（巴塞罗那）(1994) 
美国人的销售方式，销售方法真的可以同行全球吗？一个美国销售在西班牙的销售经历让我们学到销售的价值观，销售对客户文化的处理方式，销售对客户关系的把握。 
10、Jerry Maguire（甜心先生）(1996)
做生意要拿出诚意来。这个影片为美国文化提供了两条经典的短语，风行美国经久不衰。show me the money 让我看到钱才是真的。任何生意都如此。怎么才能看到钱，什么情况下，你会忘记这一点，而且通常是客户劝你忘记这一点。生意中没有牢靠的友谊，这是你在创业 前必须要牢记的教训。做销售，建立大客户关系不容易。认真看上10遍吧。 
11. office [...]]]></description>
			<content:encoded><![CDATA[<p>在复杂的商业社会，你想创业，不懂经济，不懂商业，不懂人情世故，不懂法律边沿，你只有勇气，只有梦想，只有天真，只有一场空。 </p>
<p>这20部电影可以学到的商业社会必须的经济常识，以及每天都发生着的经济欺诈。 这20部电影都是英语国家孩子在学习商业知识方面必须看的影片。其中包括哈佛商学院一直排第一位的《华尔街》，还有沃顿商学院排第一位的《Trading place》。斯坦福要求商科学生必须看的《boiler room》。<br />
<span id="more-281"></span><br />
总之，一一看后，算是真正懂了一点西方商业的本质。 </p>
<p>1、Wall Street（华尔街） (1987) </p>
<p>内部交易是违法的，不违法怎么能够发财。关键看如何违法同时可以掩盖。不看这个影片怎么能够随便进入股市。 </p>
<p>2、Glengarry Glenn Ross（拜金一族）(1992) </p>
<p>当房地产进入萧条的时候，美国的房屋中介的销售顾问都在忙什么？他们如何利用数据库，如何门到门地将房地产销售出去。如何在萧条期包装房地产，如何瞄准新婚家庭的住房需求，如何对准投资需求？看了才知道，如今的美国房地产萧条肯定不会是问题。 </p>
<p>3、Trading Places （颠倒乾坤）(1983) </p>
<p>经济是交易行为的代名词。只要有交易，就需要学会评估交易是否合算，就需要透视交易对方内心的秘密。交易中学到三个核心法则，在世界上任何国家，如何地方只要有交易的地方都适用的本质法则。 </p>
<p>4、Boiler Room（锅炉房）(2000) </p>
<p>难以想像的是违法交易几乎与证券市场形影不离。一个19岁的年轻人如此近距离地目睹财富的操纵过程，让谁富有，那不过是一个随机的选择。 </p>
<p>5、Pirates of Silicon Valley（硅谷传奇）(1999) </p>
<p>比 尔·盖茨与斯蒂夫·乔布斯在所有方面的看法，观点都是对立的。他们只有在一个事情上是绝对共同的，那就是尽一切可能封杀这个影片。硅谷的高科技公司是如何 孵化的，是怎么演变成今天这个样子的，不到25岁的年轻人利用了什么样的市场规则，又是如何让市场规则，让客户，让竞争对手形成一个共同体的。阴谋一个接 一个，层出不穷的点子笼罩在硅谷的上空。 </p>
<p>6、The Coca-Cola Kid（可口可乐小子）(1985) </p>
<p>不是地震中的可乐男孩，而是美国男孩的可乐生涯。作为一个碳酸饮料的营销从业员，他不得不回答一个问题，在边远的澳大利亚小镇，为什么没有一瓶可口可乐？营销是生意不可缺的部分。尤其是创业中不可缺少。一个男孩用可乐创造一个事业的故事。 </p>
<p>7、The Secret of My Succe$s（发达之路）(1987) </p>
<p>任 何年轻人的梦想中都至少包括两个绝对共同的东西，一个是金钱，一个是美女。明天早晨醒来，发现你不过就是一个北漂的时候，不过就是陷入大上海茫茫人海中的 一个小小小小的水滴的时候，如何实现自己梦想中这两个无法或缺的元素。且看美国堪萨斯的男孩在纽约飘荡的历程。如果纽约可以代表近100年人类商业活动的中心，那么，任何21世纪的年轻人，你不得不面对大城市的喧嚣、躁动，美女可以让你实现金钱的梦想，同样，金钱也可以让你品味美女的诱惑。去追求你梦想中的金钱、美女吧。 </p>
<p>8、In Good Company（优势合作）(2004) </p>
<p>想成为全球级别的公司，怎么能够不看这个影片，至少5次以上呢。大公司都是通过收购来长大的。你会收购吗？知道收购后销售主管是怎么想的吗？知道销售人员背后议论什么吗？联想收购IBM失败的核心因素就是根本没有看懂这个影片。你看得懂吗？当公司与公司之间发生买卖的时候，公司一员的你，位置在哪里？ </p>
<p>9、Barcelona（巴塞罗那）(1994) </p>
<p>美国人的销售方式，销售方法真的可以同行全球吗？一个美国销售在西班牙的销售经历让我们学到销售的价值观，销售对客户文化的处理方式，销售对客户关系的把握。 </p>
<p>10、Jerry Maguire（甜心先生）(1996)<br />
做生意要拿出诚意来。这个影片为美国文化提供了两条经典的短语，风行美国经久不衰。show me the money 让我看到钱才是真的。任何生意都如此。怎么才能看到钱，什么情况下，你会忘记这一点，而且通常是客户劝你忘记这一点。生意中没有牢靠的友谊，这是你在创业 前必须要牢记的教训。做销售，建立大客户关系不容易。认真看上10遍吧。 </p>
<p>11. office space （上班一条虫）  （1999） </p>
<p>公 司缩减规模，预备裁员的时候，这个哥们居然不知道，而且，就在裁员开始的那天，他却决定请假一天。他的两个办公室的好友已经处在被开掉的边缘，无奈，哥们 三个决定实施一个神秘计划，将公司帐号上的钱陆续转移，当然，通过木马病毒的方式。然而，由于这个哥们本来对办公室工作就没有感觉，于是，对于裁员特别轻 松，满不在乎，公司高层偏偏就欣赏这样的态度，他居然被留下了。<br />
办公室政治课实战教材。市场经济环境中公司遇到危机时，裁员的本质动机，员工对公司的作用的核心意义都是必须要学习的商业社会的基本规则。 </p>
<p>12. the corporation （解构企业） （2003） </p>
<p>18世纪美国法律正式通过了一个企业可以是一个个人的组织行为后，到21世纪，仅仅两个多世纪，美国的这个公司法居然影响了全球，你可以在中国的公司法中也看 到 类似的描述。恰好是这样的法律文本影响了人类社会的组织形态，这个冠之以法人的称号横行全球，世界每一个角度都受到影响。个人的贪婪，个人的无度，个人的 欲望没有止境地扩张，膨胀。从最深刻的本质揭示了资本主义商业规则，并无情地揭示了其存在的弊病以及可以打败之的机会。 </p>
<p>商业法，垄断法，公司治理的必修课程。 </p>
<p>13. the insider（惊爆内幕） （1999） </p>
<p>当商业秘密与巨额货币纠缠在一起的时候，阿尔8226;帕 西诺主演的主持人面对了两难的处境。在资本主义的商业社会，在没有约束的情况下，金钱可以换来什么？商业社会的本质是货币自由交换，只要你情我愿，交换什 么都可以，哪怕是交换对公众危害严重的吸烟的秘密。科学家的良知能否用钱收购，中国古语说的有钱能使鬼推磨，真的在外国对于鬼来说有效吗？ </p>
<p>交易中的商业价值，交易中的定价原理，商业信誉在交易中的作用都是这个影片中活生生地展示出来的，商科学生必须要理解金钱统治人类社会的必然结果，以及这种结果具备的不可逆的特性。 </p>
<p>14. the hudsucker proxy（影子大亨）  （1994） </p>
<p>一 个缓慢叙事风格的影片。一个票房不怎么样的影片，一个懂商业的人说好的影片，一个社会大众看不懂的影片。一个公司的老板自杀了，似乎特别符合现在的萧条期 的潮流。然而，老板自杀了，其公司还蒸蒸日上呢，董事会的实权人物开始行动，行动的目的当然是私欲横流，监管呢？正直呢？<br />
公司治理，企业董事会操作实战等都是这个影片不可多得的实战教案。学吧，从血淋淋中学到教训，并用来治理好自己的大型企业。 </p>
<p>15. antitrust（反垄断） （2001） </p>
<p>商 业社会信任容易建立吗？谁值得信任、给钱的人值得信任吗？给你一个录用的机会就值得信任吗？影片中的大型软件公司暗指微软，公司老板也是用比尔盖茨为原型 的。从斯坦福录用天才软件工程师毕业生，然后应付已经严重推迟了的软件发布日期，然而，信任却突然成了一个问题，一个公司，法律，个人，专业性之间复杂 的，纠缠不清的问题。 </p>
<p>任何学科的学生都要看上五遍。毕业了，有的是大公司如同鳄鱼一样盯着你，不是用鳄鱼般的嘴，而是用诱人的薪酬，宽松的待遇包装起来的网，你已经准备好投怀送抱了吗？ </p>
<p>16. rogue trader（魔鬼营业员）  （1998） </p>
<p>学习银行业务，尤其是投资业务最好的教材。一个能够将百年老字号银行一夜之间弄垮的业务模式到底是什么？其中伴随着一个职员怎样的人生辉煌？如何巧妙地利用廉价的不懂业务的员工？如何利用大银行罕见的机会？ </p>
<p>还记得里森在巴林银行的所作所为吗？应该不会忘记2008年华尔街横行的杠杆吧。学习金融，学习投资，学习银行业基本操作的实战教案，怎么能够错过？！ </p>
<p>17. other peoples’s money （抢钱世界）   （1991） </p>
<p>商业法，企业兼并，商业诉讼规范，商业流程，兼并重组流程等。也是一个基于美国真实故事改编的影片。美国商业自由市场中到处充满了利己行为与利他行为的冲突，矛盾。也恰好是这些冲突和矛盾中可以学到不同的人的心思，不同的人的动机，以及各种让人眼花缭乱的手段。<br />
商业法的学生，商科学生，法律学生必看。 </p>
<p>18. disclosure （败露）   （1994） </p>
<p>迈克尔道格拉斯的影片总是让人经久不忘。这个影片的主题是性骚扰，是公司办公室性骚扰。一个高管面对提升的机会，提升的关键人是他大学的女友，女友的动机并不单纯，在办公室发生了一切，一切，第二天却在法庭相见。 </p>
<p>商业法，办公室行为，公司群体人际关系行为准则，公司高管提拔等都是难得的教材，生动的雷人的教案。 </p>
<p>万万不能错过的是道格拉斯的滔滔不绝，振振有词以及慷慨激昂。 </p>
<p>19. what women want（男人百分百）  （2000） </p>
<p>用最巧妙的方式揭示女性所思所想的影片。天生上帝都羡慕的帅哥自以为是，从事的又是广告行业，居然没有机会升迁，居然老板还是女性。一个意外，就一个小小的车祸，让他具备了能够阅读女性头脑的能力，他居然真的发现了女性竟然是这么想的。 </p>
<p>商业心理学，女性行为学，广告学等都是这个影片中最需要学习的亮点。 </p>
<p>20. barbarians at the gate （门口的野蛮人）  （1993）   </p>
<p>    当一个大师级的销售高手销售的产品是他的公司的时候，你要小心了，因为你面对着千载难逢的机会，那就是发大财的机会。看好他的公司的股票，立刻购买，无论多 少钱都要买，因为眼看着他将这个公司的股票从40推到100，一个夜晚并不漫长，一个夜晚让有钱的更加有钱，贪婪是商业资本主义社会无法回避的主题，当然 也无法忘记，每次贪婪遇到正直，为什么赢的总是贪婪。现代公司政治，公司价值，投资机会，销售技巧等都是这个影片贯穿始终的启发。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100610/20movie.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle命令</title>
		<link>http://www.liulang.cq.cn/20100520/oracle%e5%91%bd%e4%bb%a4.html</link>
		<comments>http://www.liulang.cq.cn/20100520/oracle%e5%91%bd%e4%bb%a4.html#comments</comments>
		<pubDate>Thu, 20 May 2010 04:17:11 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=276</guid>
		<description><![CDATA[1.Oracle 关闭
SQL>SHUTDOWN (ABORT&#124;IMMEDIATE&#124;NORMAL)
2.Oracle 启动
SQL>STARTUP (REMOUNT&#124;MOUNT&#124;OPENT)
 
3.SQL> HELP SHOW
 SHOW
 &#8212;-
 Shows the value of a SQL*Plus system variable, or the
 current SQL*Plus environment.
 SHO[W] option
 where option represents one of the following terms or clauses:
     system_variable
     ALL
     BTI[TLE]
     ERR[ORS] [...]]]></description>
			<content:encoded><![CDATA[<p>1.Oracle 关闭<br />
SQL>SHUTDOWN (ABORT|IMMEDIATE|NORMAL)</p>
<p>2.Oracle 启动<br />
SQL>STARTUP (REMOUNT|MOUNT|OPENT)<br />
 <span id="more-276"></span><br />
3.SQL> HELP SHOW</p>
<p> SHOW<br />
 &#8212;-</p>
<p> Shows the value of a SQL*Plus system variable, or the<br />
 current SQL*Plus environment.</p>
<p> SHO[W] option</p>
<p> where option represents one of the following terms or clauses:<br />
     system_variable<br />
     ALL<br />
     BTI[TLE]<br />
     ERR[ORS] [{FUNCTION | PROCEDURE | PACKAGE | PACKAGE BODY | TRIGGER<br />
        | VIEW | TYPE | TYPE BODY | DIMENSION | JAVA CLASS} [schema.]name]<br />
     LNO<br />
     PARAMETERS [parameter_name]<br />
     PNO<br />
     REL[EASE]<br />
     REPF[OOTER]<br />
     REPH[EADER]<br />
     SGA<br />
     SPOO[L]<br />
     SQLCODE<br />
     TT[ITLE]<br />
     USER</p>
<p> SHOW SPOOL is not available in iSQL*Plus</p>
<p>4.TNSPING<br />
TNS连接问题检测<br />
TNSNAME.ORA</p>
<p>5.执行SQL Script<br />
SQL>@C:\RUN.SQL</p>
<p>6.查看执行结果（开启/关闭）<br />
SQL>SET ECHO ON(OFF)</p>
<p>7.常用配置<br />
SQL>SET LINESIZE 1000<br />
SQL>ECHO ON<br />
SQL>SET TIMING ON<br />
SQL>SPOOL C:\TEST.LOG<br />
SQL>SELECT * FROM XXXXX<br />
SQL>SPOOL OFF</p>
<p>8.授权<br />
 建立连接 GRANT CREATE SESSION TO USERNAME<br />
 移除连接 REVOKE CREATE SESSION TO USERNAME<br />
其他授权<br />
GRANT SELECT,INSERT,DELETE,UPDATE ON SCOTT.EMP TO USERNAME<br />
确认更改<br />
SQL>COMMIT</p>
<p>9.更改密码<br />
Alter user username identified by password</p>
<p>10.察看Datafile<br />
SQL>SELECT * FROM V$DATAFILE</p>
<p>11察看结构<br />
SQL>DESC V$DATAFILE</p>
<p>12,察看DB File<br />
SQL>SELECT * FROM V$DBFILE</p>
<p>13.察看Tablespace<br />
SQL>SELECT * FROM V$TABLESPACE</p>
<p>14.察看SGA大小<br />
SQL> SHOW PARAMETER SGA</p>
<p>15.更改 SGA大小，<br />
SQL>ALTER SYSTEM SET SHARED_POOL_SIZE=..M</p>
<p>16.察看CONTROLFILE<br />
SQL> SELECT * FROM V$CONTROLFILE</p>
<p>17察看REDO LOG<br />
SQL> SELECT * FROM V$CONTROLFILE</p>
<p>18.察看所有的用户<br />
SQL> SELECT USERNAME FROM DBA_USERS</p>
<p>19.在Offline状态下搬迁数据库文件<br />
关闭数据库<br />
SQL>SHUTDOWN IMMEDIATE<br />
搬迁数据文件<br />
连接数据库<br />
SQL>CONN / AS SYSDBA<br />
SQL>STARTUP MOUNT<br />
SQL>Alter database rename file ‘e:\&#8230;&#8230;.’ to ‘c:\&#8230;&#8230;.’<br />
SQL>ALTER DATABASE OPEN<br />
SQL>SHUTDOWN<br />
删除旧的数据文件</p>
<p>20.更改ONLINE REDO LOG<br />
SQL>ALTER SYSTEM SWITCH LOGFILE;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100520/oracle%e5%91%bd%e4%bb%a4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux下启动oracle11g 命令</title>
		<link>http://www.liulang.cq.cn/20100520/linux-startoracle.html</link>
		<comments>http://www.liulang.cq.cn/20100520/linux-startoracle.html#comments</comments>
		<pubDate>Thu, 20 May 2010 04:06:35 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=272</guid>
		<description><![CDATA[//启动oem：
emctl start dbconsole
//启动监听
lsnrctl start
su &#8211; oracle
sqlplus /nolog
SQL>conn[ect] /as sysdba
SQL>startup
]]></description>
			<content:encoded><![CDATA[<p>//启动oem：<br />
emctl start dbconsole</p>
<p>//启动监听<br />
lsnrctl start</p>
<p>su &#8211; oracle<br />
sqlplus /nolog<br />
SQL>conn[ect] /as sysdba</p>
<p>SQL>startup</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100520/linux-startoracle.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android TTS  语音朗读 的开发</title>
		<link>http://www.liulang.cq.cn/20100518/android-tts.html</link>
		<comments>http://www.liulang.cq.cn/20100518/android-tts.html#comments</comments>
		<pubDate>Tue, 18 May 2010 08:38:18 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[移动开发]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=266</guid>
		<description><![CDATA[1、首先要tts是否有所需语言的语音数据，如果没有需安装它


Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);   
private TextToSpeech mTts;
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == MY_DATA_CHECK_CODE) {
        if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
            // success, create the TTS [...]]]></description>
			<content:encoded><![CDATA[<p>1、首先要tts是否有所需语言的语音数据，如果没有需安装它<br />
<span id="more-266"></span></p>
<p><code><br />
Intent checkIntent = new Intent();<br />
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);<br />
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);   </p>
<p>private TextToSpeech mTts;<br />
protected void onActivityResult(int requestCode, int resultCode, Intent data) {<br />
    if (requestCode == MY_DATA_CHECK_CODE) {<br />
        if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {<br />
            // success, create the TTS instance<br />
            mTts = new TextToSpeech(this, this);<br />
        } else {<br />
            // missing data, install it<br />
            Intent installIntent = new Intent();<br />
            installIntent.setAction(<br />
                TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);<br />
            startActivity(installIntent);<br />
        }<br />
    }<br />
} </code></p>
<p>2、设置地区（语言）<br />
<code><br />
mTts.setLanguage(Locale.US);<br />
 </code></p>
<p>3、判断是否支持某地区的语言<br />
mTts.isLanguageAvailable(Locale.FRANCE))<br />
或 </p>
<p>mTts.isLanguageAvailable(new Locale(&#8220;spa&#8221;, &#8220;ESP&#8221;)))  </p>
<p>或 </p>
<p>mTts.isLanguageAvailable(new Locale(&#8220;spa&#8221;))  </p>
<p>如果没有语言数据，会返回TextToSpeech.LANG_MISSING_DATA，否则返回ACTION_CHECK_TTS_DATA </p>
<p>4、处理发音<br />
<code><br />
String myText1 = "Did you sleep well?";<br />
String myText2 = "I hope so, because it's time to wake up.";<br />
mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, null);<br />
mTts.speak(myText2, TextToSpeech.QUEUE_ADD, null);<br />
</code></p>
<p>5、加参数 </p>
<p><code><br />
HashMap<String, String> myHashAlarm = new HashMap();<br />
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));<br />
mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, myHashAlarm);<br />
mTts.speak(myText2, TextToSpeech.QUEUE_ADD, myHashAlarm);<br />
</code></p>
<p>6、加完成监听 </p>
<p><code></p>
<p>mTts.setOnUtteranceCompletedListener(this);<br />
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));<br />
mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, myHashAlarm);<br />
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "end of wakeup message ID");<br />
// myHashAlarm now contains two optional parameters<br />
mTts.speak(myText2, TextToSpeech.QUEUE_ADD, myHashAlarm);   </p>
<p>public void onUtteranceCompleted(String uttId) {<br />
if (uttId == "end of wakeup message ID") {<br />
    playAnnoyingMusic();<br />
}<br />
}  </code></p>
<p>7、将发音录入文件<br />
<code></p>
<p>HashMap<String, String> myHashRender = new HashMap();<br />
String wakeUpText = "Are you up yet?";<br />
String destFileName = "/sdcard/myAppCache/wakeUp.wav";<br />
myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, wakeUpText);   </p>
<p>mTts.addSpeech(wakeUpText, destFileName);<br />
mTts.speak(wakeUpText, TextToSpeech.QUEUE_ADD, myHashAlarm);<br />
</code></p>
<p>8、关闭tts<br />
<code></p>
<p>mTts.shutdown();<br />
mTts.synthesizeToFile(wakuUpText, myHashRender, destFileName);<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100518/android-tts.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java位操作符小结</title>
		<link>http://www.liulang.cq.cn/20100510/javaweif.html</link>
		<comments>http://www.liulang.cq.cn/20100510/javaweif.html#comments</comments>
		<pubDate>Mon, 10 May 2010 08:39:40 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=254</guid>
		<description><![CDATA[二进制负数以它正值的补码形式表达
补码：反码+1等于补码
比如：System.out.println(Integer.toBinaryString(-5));
打印：1111 1111 1111 1111 1111 1111 1111 1011  不用想了肯定是32位
过程是这样的：
一个负数，比如-5，它的二进制在java里面是这样表示
1000 0000 0000 0000 0000 0000 0000 0101
它的正值是：
0000 0000 0000 0000 0000 0000 0000 0101
反码是：
1111 1111 1111 1111 1111 1111 1111 1010
再加上1是：
1111 1111 1111 1111 1111 1111 1111 1011
即得到打印的内容
java ~ 操作符，对每个二进制位的内容求反，即1变成0，0变成1
测试负数：
int a = -5;//101;
System.out.println(~a);
打印：4
过程是这样的，首先表示出来这个负数
1111 1111 1111 1111 1111 1111 1111 1011（上面已经提到为什么这样表示）
各位取反得到
0000 0000 0000 0000 0000 0000 0000 [...]]]></description>
			<content:encoded><![CDATA[<div>二进制负数以它正值的补码形式表达</div>
<div id="_mcePaste">补码：反码+1等于补码</div>
<div id="_mcePaste">比如：System.out.println(Integer.toBinaryString(-5));</div>
<div id="_mcePaste">打印：1111 1111 1111 1111 1111 1111 1111 1011  不用想了肯定是32位</div>
<div id="_mcePaste">过程是这样的：<span id="more-254"></span></div>
<div id="_mcePaste">一个负数，比如-5，它的二进制在java里面是这样表示</div>
<div id="_mcePaste">1000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">它的正值是：</div>
<div id="_mcePaste">0000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">反码是：</div>
<div id="_mcePaste">1111 1111 1111 1111 1111 1111 1111 1010</div>
<div id="_mcePaste">再加上1是：</div>
<div id="_mcePaste">1111 1111 1111 1111 1111 1111 1111 1011</div>
<div id="_mcePaste">即得到打印的内容</div>
<div id="_mcePaste">java ~ 操作符，对每个二进制位的内容求反，即1变成0，0变成1</div>
<div id="_mcePaste">测试负数：</div>
<div id="_mcePaste">int a = -5;//101;</div>
<div id="_mcePaste">System.out.println(~a);</div>
<div id="_mcePaste">打印：4</div>
<div id="_mcePaste">过程是这样的，首先表示出来这个负数</div>
<div id="_mcePaste">1111 1111 1111 1111 1111 1111 1111 1011（上面已经提到为什么这样表示）</div>
<div id="_mcePaste">各位取反得到</div>
<div id="_mcePaste">0000 0000 0000 0000 0000 0000 0000 0100</div>
<div id="_mcePaste">转为10进制得到4</div>
<div id="_mcePaste">测试正数:</div>
<div id="_mcePaste">int a = 5;//101;</div>
<div id="_mcePaste">System.out.println(~a);</div>
<div id="_mcePaste">打印：-6</div>
<div id="_mcePaste">首先表示出来这个正数：</div>
<div id="_mcePaste">0000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">各位取反得到：</div>
<div id="_mcePaste">1111 1111 1111 1111 1111 1111 1111 1010</div>
<div id="_mcePaste">这个代表的就是-6了，至于为什么看最上面</div>
<div id="_mcePaste">java &amp; 操作符，对应的二进制位进行与操作，两个都为1才为1，其他情况均为0</div>
<div id="_mcePaste">测试：</div>
<div id="_mcePaste">System.out.println(5&amp;6);</div>
<div id="_mcePaste">打印：4</div>
<div id="_mcePaste">过程：</div>
<div id="_mcePaste">5表示成：0000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">6表示成：0000 0000 0000 0000 0000 0000 0000 0110</div>
<div id="_mcePaste">进行 &amp; ：0000 0000 0000 0000 0000 0000 0000 0100</div>
<div id="_mcePaste">得到：4</div>
<div id="_mcePaste">java | 操作符，对应的二进制位进行或操作，两个都为0才为0，其他情况均为1</div>
<div id="_mcePaste">测试：</div>
<div id="_mcePaste">System.out.println(5|6);</div>
<div id="_mcePaste">打印：7</div>
<div id="_mcePaste">过程：</div>
<div id="_mcePaste">5表示成：0000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">6表示成：0000 0000 0000 0000 0000 0000 0000 0110</div>
<div id="_mcePaste">进行 | ：0000 0000 0000 0000 0000 0000 0000 0111</div>
<div id="_mcePaste">得到：7</div>
<div id="_mcePaste">java ^ 操作符 当对应二进制位值相同，该位为0 否则为1</div>
<div id="_mcePaste">测试：</div>
<div id="_mcePaste">System.out.println(5^6);</div>
<div id="_mcePaste">打印：3</div>
<div id="_mcePaste">过程：</div>
<div id="_mcePaste">5表示成：0000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">6表示成：0000 0000 0000 0000 0000 0000 0000 0110</div>
<div id="_mcePaste">进行 ^ ：0000 0000 0000 0000 0000 0000 0000 0011</div>
<div id="_mcePaste">得到：3</div>
<div id="_mcePaste">java &lt;&lt; 操作符，左边移动，右面填充0</div>
<div id="_mcePaste">测试：</div>
<div id="_mcePaste">System.out.println(5&lt;&lt;1);</div>
<div id="_mcePaste">打印：10</div>
<div id="_mcePaste">5表示成：0000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">进行 &lt;&lt;1 操作：0000 0000 0000 0000 0000 0000 0000 1010</div>
<div id="_mcePaste">java &gt;&gt; 操作符，左边移动，右面填充0</div>
<div id="_mcePaste">测试：</div>
<div id="_mcePaste">System.out.println(5&gt;&gt;&gt;1);</div>
<div id="_mcePaste">打印：2</div>
<div id="_mcePaste">5表示成：0000 0000 0000 0000 0000 0000 0000 0101</div>
<div id="_mcePaste">进行 &gt;&gt;&gt;1 操作：0000 0000 0000 0000 0000 0000 0000 0010</div>
<div id="_mcePaste">左移动一位相当乘以2 右移动一位相当处以2</div>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100510/javaweif.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>linux源代码阅读</title>
		<link>http://www.liulang.cq.cn/20100428/sourceread.html</link>
		<comments>http://www.liulang.cq.cn/20100428/sourceread.html#comments</comments>
		<pubDate>Tue, 27 Apr 2010 16:44:14 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=249</guid>
		<description><![CDATA[linux在线源代码阅读:
http://lxr.free-electrons.com



名称
链接
收藏时间






Old Linux
打开链接
2006-11-25 00:05



1.0版以前内核源码在线阅读
打开链接
2006-11-25 00:09



Linux内核源代码在线阅读
打开链接
2006-11-25 00:10



顺便推荐一本书：
http://www.kerneltravel.net/kernel-book/深入分析Linux内核源码.html
Linux内核完全注释 (附linux0.11内核源码,超全注释)
http://www.downcodes.com/download/view-software-5168.html
BSD系列源码在线阅读：
http://fxr.watson.org/fxr/source/
]]></description>
			<content:encoded><![CDATA[<p>linux在线源代码阅读:</p>
<p><a href="http://lxr.free-electrons.com" target="_blank">http://lxr.free-electrons.com</a><span id="more-249"></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr height="20" align="center" bgcolor="#F1F7DE">
<td colspan="2" width="390">名称</td>
<td width="60">链接</td>
<td width="160">收藏时间</td>
</tr>
<tr>
<td colspan="4" width="100%" align="center"><img src="http://blog.chinaunix.net/templates/newgreen/images/middle_line.gif" border="0" alt="" width="496" height="6" /></td>
</tr>
<tr height="20">
<td width="40" align="center"><img src="http://blog.chinaunix.net/templates/newgreen/images/ico_favorites.gif" border="0" alt="" /></td>
<td>Old Linux</td>
<td width="80"><a title="连接到：http://www.oldlinux.org/" href="http://www.oldlinux.org/" target="_blank">打开链接</a></td>
<td width="160">2006-11-25 00:05</td>
</tr>
<tr height="20">
<td width="40" align="center"><img src="http://blog.chinaunix.net/templates/newgreen/images/ico_favorites.gif" border="0" alt="" /></td>
<td>1.0版以前内核源码在线阅读</td>
<td width="80"><a title="连接到：http://www.oldlinux.org/lxr/http/source/" href="http://www.oldlinux.org/lxr/http/source/" target="_blank">打开链接</a></td>
<td width="160">2006-11-25 00:09</td>
</tr>
<tr height="20">
<td width="40" align="center"><img src="http://blog.chinaunix.net/templates/newgreen/images/ico_favorites.gif" border="0" alt="" /></td>
<td>Linux内核源代码在线阅读</td>
<td width="80"><a title="连接到：http://lxr.linux.no/source/" href="http://lxr.linux.no/source/" target="_blank">打开链接</a></td>
<td width="160">2006-11-25 00:10</td>
</tr>
</tbody>
</table>
<p>顺便推荐一本书：</p>
<p><a href="http://www.kerneltravel.net/kernel-book/%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90Linux%E5%86%85%E6%A0%B8%E6%BA%90%E7%A0%81.html">http://www.kerneltravel.net/kernel-book/深入分析Linux内核源码.html</a></p>
<h2>Linux内核完全注释 (附linux0.11内核源码,超全注释)</h2>
<p><a href="http://www.downcodes.com/download/view-software-5168.html">http://www.downcodes.com/download/view-software-5168.html</a></p>
<p>BSD系列源码在线阅读：</p>
<p><a href="http://fxr.watson.org/fxr/source/">http://fxr.watson.org/fxr/source/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100428/sourceread.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu9.10下编译Android源代码</title>
		<link>http://www.liulang.cq.cn/20100427/androidsource.html</link>
		<comments>http://www.liulang.cq.cn/20100427/androidsource.html#comments</comments>
		<pubDate>Tue, 27 Apr 2010 07:34:04 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[移动开发]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=245</guid>
		<description><![CDATA[本文将为大家介绍的是如何设置Android源码的编译环境，包括Linux下的配置。主要基于Android 1.5环境，希望对大家了解Android开发有所帮助。 
本次编译过程主要参考官方文档（http://source.Android.com/download)和网上相关资料（如http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957749.aspx) 
编译环境：Ubuntu9.10 
1、安装一些环境 

sudo apt-get install build-essential  
 sudo apt-get install make  
 sudo apt-get install gcc  
 sudo apt-get install g++  
 sudo apt-get install libc6-dev  
   
 sudo apt-get install patch  
 sudo apt-get install texinfo  
 sudo apt-get install libncurses-dev  
   
 sudo apt-get install git-core gnupg  
 sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl  
 sudo apt-get install ncurses-dev   
 sudo apt-get install zlib1g-dev  
 sudo apt-get install valgrind  
 sudo apt-get install python2.5 

 
安装java环境 


sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts sun-java6-jdk 


 
注：官方文档说如果用sun-java6-jdk可出问题，得要用sun-java5-jdk。经测试发现，如果仅仅make（make不包括make sdk)，用sun-java6-jdk是没有问题的。而make sdk，就会有问题，严格来说是在make doc出问题，它需要的javadoc版本为1.5。 
因此，我们安装完sun-java6-jdk后最好再安装sun-java5-jdk，或者只安装sun-java5-jdk。这里sun-java6-jdk和sun-java5-jdk都安装，并只修改javadoc.1.gz和javadoc。因为只有这两个是make sdk用到的。这样的话，除了javadoc工具是用1.5版本，其它均用1.6版本：  


sudo apt-get install sun-java5-jdk 


 
修改javadoc的link 


cd /etc/alternatives  
sudo rm javadoc.1.gz  
sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz  
sudo rm javadoc  
sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc 


 
2、设置环境变量 


vim ~/.bashrc 


 
在.bashrc中新增或整合PATH变量，如下 


#java 程序开发/运行的一些环境变量  
JAVA_HOME=/usr/lib/jvm/java-6-sun  
JRE_HOME=${JAVA_HOME}/jre  
export Android_JAVA_HOME=$JAVA_HOME  
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH  
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin  
export JAVA_HOME;  
export JRE_HOME;  
export CLASSPATH;  
HOME_BIN=~/bin/  
export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN};   
#echo $PATH; 


 
最后，同步这些变化： 

source ~/.bashrc 

3、安装repo（用来更新Android源码) 
创建~/bin目录，用来存放repo程序，如下： 

$ cd ~  
$ mkdir bin 

并加到环境变量PATH中，在第2步中已经加入 
下载repo脚本并使其可执行： 

$ curl http://Android.git.kernel.org/repo &#62;~/bin/repo  
$ chmod a+x ~/bin/repo 

4、下载 Android源码并更新之 
建议不要用repo来下载（Android源码超过1G，非常慢)，直接在网上下载http://www.Androidin.com/bbs/pub/cupcake.tar.gz。而且解压出来的 cupcake下也有.repo文件夹，可以通过repo sync来更新cupcake代码： 

tar -xvf  cupcake.tar.gz  

repo sync（更新很慢，用了3个小时) 
5、编译Android源码,并得到~/project/Android/cupcake/out 目录 
进入Android源码目录： 
make 
这一过程很久（2个多小时) 
6、在模拟器上运行编译好Android 
Android SDK的emulator程序在Android-sdk-linux_x86-1.0_r2/tools/下，emulator是需要加载一些image的，默认加载Android-sdk-linux_x86-1.0_r2/tools/lib/images下的kernel-qemu（内核) ramdisk.img  system.img  userdata.img 
编译好Android之后，emulator在~/project/Android/cupcake/out/host/linux-x86/bin下， ramdisk.img  system.img  userdata.img则在~/project/Android/cupcake/out/target/product/generic下 
cd ~/project/Android/cupcake/out/host/linux-x86/bin 
增加环境变量 


vim ~/.bashrc 


在.bashrc中新增环境变量，如下 


#java 程序开发/运行的一些环境变量  
export Android_PRODUCT_OUT=~/project/Android/cupcake2/out/target/product/generic  
 Android_PRODUCT_OUT_BIN=~/project/Android/cupcake2/out/host/linux-x86/bin  
export PATH=${PATH}:${Android_PRODUCT_OUT_BIN}; 


最后，同步这些变化： 


source ~/.bashrc  
emulator -image system.img -data userdata.img -ramdisk ramdisk.img 


最后进入Android桌面，就说明成功了。 
out/host/linux-x86/bin下生成许多有用工具（包括Android [...]]]></description>
			<content:encoded><![CDATA[<p>本文将为大家介绍的是如何设置Android源码的编译环境，包括Linux下的配置。主要基于Android 1.5环境，希望对大家了解Android开发有所帮助。 </p>
<p>本次编译过程主要参考官方文档（http://source.Android.com/download)和网上相关资料（如http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957749.aspx) </p>
<p>编译环境：Ubuntu9.10 </p>
<p><strong><strong>1、安装一些环境<span id="more-245"></span></strong> </p>
<pre>
<li>sudo apt-get install build-essential  </li>
<li> sudo apt-get install make  </li>
<li> sudo apt-get install gcc  </li>
<li> sudo apt-get install g++  </li>
<li> sudo apt-get install libc6-dev  </li>
<li>   </li>
<li> sudo apt-get install patch  </li>
<li> sudo apt-get install texinfo  </li>
<li> sudo apt-get install libncurses-dev  </li>
<li>   </li>
<li> sudo apt-get install git-core gnupg  </li>
<li> sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl  </li>
<li> sudo apt-get install ncurses-dev   </li>
<li> sudo apt-get install zlib1g-dev  </li>
<li> sudo apt-get install valgrind  </li>
<li> sudo apt-get install python2.5 </li>
</pre>
<p> </p>
<p>安装java环境 </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts sun-java6-jdk </span></span></li>
</ol>
</pre>
<p> </p>
<p>注：官方文档说如果用sun-java6-jdk可出问题，得要用sun-java5-jdk。经测试发现，如果仅仅make（make不包括make sdk)，用sun-java6-jdk是没有问题的。而make sdk，就会有问题，严格来说是在make doc出问题，它需要的javadoc版本为1.5。 </p>
<p>因此，我们安装完sun-java6-jdk后最好再安装sun-java5-jdk，或者只安装sun-java5-jdk。这里sun-java6-jdk和sun-java5-jdk都安装，并只修改javadoc.1.gz和javadoc。因为只有这两个是make sdk用到的。这样的话，除了javadoc工具是用1.5版本，其它均用1.6版本：  </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>sudo apt-get install sun-java5-jdk </span></span></li>
</ol>
</pre>
<p> </p>
<p>修改javadoc的link </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>cd /etc/alternatives  </span></span></li>
<li><span>sudo rm javadoc.1.gz  </span></li>
<li class="alt"><span>sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz  </span></li>
<li><span>sudo rm javadoc  </span></li>
<li class="alt"><span>sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc </span></li>
</ol>
</pre>
<p> </p>
<p>2、设置环境变量 </p>
<pre>
<ol class="dp-c">
<li class="alt"><span><span>vim ~/.bashrc </span></span></li>
</ol>
</pre>
<p> </p>
<p>在.bashrc中新增或整合PATH变量，如下 </p>
<pre>
<ol class="dp-c">
<li class="alt"><span><span class="preprocessor"><span style="color: #808080;">#java 程序开发/运行的一些环境变量 </span></span><span> </span></span></li>
<li><span>JAVA_HOME=/usr/lib/jvm/java-6-sun  </span></li>
<li class="alt"><span>JRE_HOME=${JAVA_HOME}/jre  </span></li>
<li><span>export Android_JAVA_HOME=$JAVA_HOME  </span></li>
<li class="alt"><span>export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH  </span></li>
<li><span>export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin  </span></li>
<li class="alt"><span>export JAVA_HOME;  </span></li>
<li><span>export JRE_HOME;  </span></li>
<li class="alt"><span>export CLASSPATH;  </span></li>
<li><span>HOME_BIN=~/bin/  </span></li>
<li class="alt"><span>export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN}; </span><span class="preprocessor"> </span> </li>
<li><span><span class="preprocessor"><span style="color: #808080;">#echo $PATH;</span></span><span> </span></span></li>
</ol>
</pre>
<p> </p>
<p>最后，同步这些变化： </p>
<pre>
<li>source ~/.bashrc </li>
</pre>
<p><strong>3、安装repo（用来更新Android源码)</strong> </p>
<p>创建~/bin目录，用来存放repo程序，如下： </p>
<pre>
<li>$ cd ~  </li>
<li>$ mkdir bin </li>
</pre>
<p>并加到环境变量PATH中，在第2步中已经加入 </p>
<p>下载repo脚本并使其可执行： </p>
<pre>
<li>$ curl http://Android.git.kernel.org/repo <strong><span style="color: #006699;">&gt;</span></strong>~/bin/repo  </li>
<li>$ chmod a+x ~/bin/repo </li>
</pre>
<p><strong>4、下载 Android源码并更新之</strong> </p>
<p>建议不要用repo来下载（Android源码超过1G，非常慢)，直接在网上下载http://www.Androidin.com/bbs/pub/cupcake.tar.gz。而且解压出来的 cupcake下也有.repo文件夹，可以通过repo sync来更新cupcake代码： </p>
<pre>
<li>tar -xvf  cupcake.tar.gz  </li>
</pre>
<p>repo sync（更新很慢，用了3个小时) </p>
<p><strong>5、编译Android源码,并得到~/project/Android/cupcake/out 目录</strong> </p>
<p>进入Android源码目录： </p>
<p>make </p>
<p>这一过程很久（2个多小时) </p>
<p><strong>6、在模拟器上运行编译好Android</strong> </p>
<p>Android SDK的emulator程序在Android-sdk-linux_x86-1.0_r2/tools/下，emulator是需要加载一些image的，默认加载Android-sdk-linux_x86-1.0_r2/tools/lib/images下的kernel-qemu（内核) ramdisk.img  system.img  userdata.img </p>
<p>编译好Android之后，emulator在~/project/Android/cupcake/out/host/linux-x86/bin下， ramdisk.img  system.img  userdata.img则在~/project/Android/cupcake/out/target/product/generic下 </p>
<p>cd ~/project/Android/cupcake/out/host/linux-x86/bin </p>
<p>增加环境变量 </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>vim ~/.bashrc </span></span></li>
</ol>
</pre>
<p>在.bashrc中新增环境变量，如下 </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>#java 程序开发/运行的一些环境变量  </span></span></li>
<li><span>export </span><span class="attribute"><span style="color: #ff0000;">Android_PRODUCT_OUT</span></span><span>=~/project/Android/cupcake2/out/target/product/generic  </span></li>
<li class="alt"><span> </span><span class="attribute"><span style="color: #ff0000;">Android_PRODUCT_OUT_BIN</span></span><span>=~/project/Android/cupcake2/out/host/linux-x86/bin  </span></li>
<li><span>export </span><span class="attribute"><span style="color: #ff0000;">PATH</span></span><span>=${PATH}:${Android_PRODUCT_OUT_BIN}; </span></li>
</ol>
</pre>
<p>最后，同步这些变化： </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>source ~/.bashrc  </span></span></li>
<li><span>emulator -image system.img -data userdata.img -ramdisk ramdisk.img </span></li>
</ol>
</pre>
<p>最后进入Android桌面，就说明成功了。 </p>
<p>out/host/linux-x86/bin下生成许多有用工具（包括Android SDK/tools的所有工具)，因此，可以把eclipse中Android SDK的路径指定到out/host/linux-x86/bin进行开发 </p>
<p><strong>7、编译linux kernel</strong> </p>
<p>直接make Android源码时，并没有make linux kernel。因此是在运行模拟器，所以不用编译 linux kernel。如果要移值Android，或增删驱动，则需要编译 linux kernellinux kernel的编译将在以后的文章中介绍。 </p>
<p><strong>8、编译模块</strong>Android中的一个应用程序可以单独编译，编译后要重新生成system.img在源码目录下执行 </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>. build/envsetup.sh （.后面有空格) </span></span></li>
</ol>
</pre>
<p>就多出一些命令： </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>- croot:   Changes directory to the top of the tree.  </span></span></li>
<li><span>- m:       Makes from the top of the tree.  </span></li>
<li class="alt"><span>- mm:      Builds all of the modules in the current directory.  </span></li>
<li><span>- mmm:     Builds all of the modules in the supplied directories.  </span></li>
<li class="alt"><span>- cgrep:   Greps on all local C/C++ files.  </span></li>
<li><span>- jgrep:   Greps on all local Java files.  </span></li>
<li class="alt"><span>- resgrep: Greps on all local res/*.xml files.  </span></li>
<li><span>- godir:   Go to the directory containing a file. </span></li>
</ol>
</pre>
<p>可以加—help查看用法我们可以使用mmm来编译指定目录的模块，如编译联系人： </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>mmm packages/apps/Contacts/ </span></span></li>
</ol>
</pre>
<p>编完之后生成两个文件： </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>out/target/product/generic/data/app/ContactsTests.apk  </span></span></li>
<li><span>out/target/product/generic/system/app/ Contacts.apk </span></li>
</ol>
</pre>
<p>可以使用make snod重新生成system.img再运行模拟器 </p>
<p><strong>9、编译SDK</strong>直接执行make是不包括make sdk的。make sdk用来生成SDK，这样，我们就可以用与源码同步的SDK来开发 Android了。 </p>
<p>1)修改/frameworks/base/include/utils/Asset.h‘UNCOMPRESS_DATA_MAX = 1 * 1024 * 1024’ 改为 ‘UNCOMPRESS_DATA_MAX = 2 * 1024 * 1024’原因是Eclipse编译工程需要大于1.3M的buffer </p>
<p>2)编译ADT。注意，我们是先执行2)，再执行3)。因为在执行./build_server.sh时，会把生成的SDK清除了。用上了新的源码，adt这个调试工具也得自己来生成，步骤如下：进入cupcake源码的development/tools/eclipse/scripts目录，执行：export ECLIPSE_HOME=你的eclipse路径./build_server.sh 你想放ADT的路径 </p>
<p>3)执行make sdk。注意，这里需要的javadoc版本为1.5，所以你需要在步骤1中同时安装sun-java5-jdkmake sdk编译很慢。编译后生成的SDK存放在out/host/linux-x86/sdk/，此目录下有Android-sdk_eng.xxx_linux-x86.zip和Android-sdk_eng.xxx_linux-x86目录。Android-sdk_eng.xxx_linux-x86就是SDK目录实际上，当用mmm命令编译模块时，一样会把SDK的输出文件清除，因此，最好把Android-sdk_eng.xxx_linux-x86移出来 </p>
<p><strong>4)关于环境变量、Android工具的选择</strong>目前的Android工具有：A、我们从网上下载的SDK（ tools下有许多Android工具，lib/images下有img映像)B、我们用make sdk编译出来的SDK（ tools下也有许多Android工具，lib/images下有img映像)C、我们用make编译出来的out目录（ tools下也有许多Android工具，lib/images下有img映像)那么我们应该用那些工具和img呢？首先，我们不会用A选项的工具和img，因为一般来说它比较旧，也源码不同步。测试发现，如果使用B选项的工具和img，Android模拟器窗口变小（可能是skin加载不了)，而用C选项的工具和img则不会有此问题。有些Android工具依赖Android.jar（比如Android)，因此，我们在eclipse中使用B选项的工具（SDK)，使用C选项的img。其实，从emulator -help-build-images也可以看出，Android_PRODUCT_OUT是指向C选项的img目录的不过，除了用A选项的工具和img，用B或C的模拟器都不能加载sdcard，原因还不清楚。 </p>
<p><strong>5)安装、配置ADT</strong>安装、配置ADT请参考官方文档 </p>
<p>6)创建Android Virtual Device编译出来的SDK是没有AVD（Android Virtual Device)的，我们可以通过Android工具查看：Android list输出为： </p>
<pre>
<ol class="dp-xml">
<li class="alt"><span><span>Available Android targets:  </span></span></li>
<li><span>[1] Android 1.5  </span></li>
<li class="alt"><span>     API level: 3  </span></li>
<li><span>     Skins: HVGA-P, QVGA-L, HVGA-L, HVGA (default), QVGA-P  </span></li>
<li class="alt"><span>Available Android Virtual Devices: </span></li>
</ol>
</pre>
<p>表明没有AVD。如果没有AVD，eclipse编译工程时会出错（Failed to find a AVD compatible with target &#8216;Android 1.5&#8242;. Launch aborted.)创建AVD：Android create avd -t 1 -c ~/sdcard.img -n myavd可以Android –help来查看上面命令选项的用法。创建中有一些选项，默认就行了再执行Android list，可以看到AVD存放的位置以后每次运行emulator都要加-avd myavd或@myavd选项，这里eclipse才会在你打开的emulator中调试程序 </p>
<p><strong>注意：</strong>这样，SDK和ADT就生成了，就按照官方文档把他们整合到Eclipse，这里不再细说了。建个Android的新工程，试试你自己编译的sdk。 </p>
<p></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100427/androidsource.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dalvik 十件事</title>
		<link>http://www.liulang.cq.cn/20100303/dalvik-ten.html</link>
		<comments>http://www.liulang.cq.cn/20100303/dalvik-ten.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 03:47:36 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[移动开发]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=240</guid>
		<description><![CDATA[Android(OPhone)系统的模拟器为Dalvik，DEX文件格式为Android操作系统上的Dalvik虚拟机可执行文件即Dalvik VM executes 的缩写。
下文翻译自John R. Rose在Google I/O上的介绍，《The top ten things I learned about Android and the Dalvik VM》，略有删节。其英文博客原文地址为：http://blogs.sun.com/jrose/entry/with_android_and_dalvik_at  。
1.Android是Linux/JVM 的简化版，他们重写了libc，减小到200k，重做了速度-空间的优化，扔掉了c++的例外和c级别的wide char的支持。
2.该平台的一个特别的地方是他们在减少私有页面开销时花费了很大的功夫。
3.他们不用OpenJDK而是使用Harmony的主要原因是GPL。
4.Android 1.0 的虚拟机是很简单的：一个类似资源分配（malloc-like）的堆和一个解释器。
5.不使用JVM字节码的关键理由是解释器的复杂性和脏页面的印记。
6.虚拟机使用dex文件就像java cards使用自己的内部指令集一样。据说它可以在手机上得到局部优化运行。该工具链使用class文件，有一个叫dx的工具可以把jar转换成dex的汇编文件。
7.dx之类的工具可以强制植入手机，使java代码可以继续生成字节码，然后还要转换成虚拟机可以执行的格式。
8.dx将class文件转换成静态单一赋值形式(SSA:Static Single Assignment)， 然后转换成dex文件。该过程中没有优化（optimizations are missing）。
9.dex格式的常数pool通常是合并的带类型的，具有32位的索引。它很有可能会促进java的class文件标准的升级。
10.人们感激Sun之前做的java服务性工作，但是并不能看到Sun对人们未来的导引。
]]></description>
			<content:encoded><![CDATA[<p style="padding: 0px; margin: 0px;"><span>Android(OPhone)系统的模拟器为Dalvik，DEX文件格式为Android操作系统上的Dalvik虚拟机可执行文件即Dalvik VM executes 的缩写。</span></p>
<p style="padding: 0px; margin: 0px;"><span>下文翻译自John R. Rose在Google I/O上的介绍，《The top ten things I learned about Android and the Dalvik VM》，略有删节。其英文博客原文地址为：http://blogs.sun.com/jrose/entry/with_android_and_dalvik_at  。</span></p>
<p>1.Android是Linux/JVM 的简化版，他们重写了libc，减小到200k，重做了速度-空间的优化，扔掉了c++的例外和c级别的wide char的支持。<br />
2.该平台的一个特别的地方是他们在减少私有页面开销时花费了很大的功夫。<br />
3.他们不用OpenJDK而是使用Harmony的主要原因是GPL。<br />
4.Android 1.0 的虚拟机是很简单的：一个类似资源分配（malloc-like）的堆和一个解释器。<br />
5.不使用JVM字节码的关键理由是解释器的复杂性和脏页面的印记。<br />
6.虚拟机使用dex文件就像java cards使用自己的内部指令集一样。据说它可以在手机上得到局部优化运行。该工具链使用class文件，有一个叫dx的工具可以把jar转换成dex的汇编文件。<br />
7.dx之类的工具可以强制植入手机，使java代码可以继续生成字节码，然后还要转换成虚拟机可以执行的格式。<br />
8.dx将class文件转换成静态单一赋值形式(SSA:Static Single Assignment)， 然后转换成dex文件。该过程中没有优化（optimizations are missing）。<br />
9.dex格式的常数pool通常是合并的带类型的，具有32位的索引。它很有可能会促进java的class文件标准的升级。<br />
10.人们感激Sun之前做的java服务性工作，但是并不能看到Sun对人们未来的导引。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100303/dalvik-ten.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用VMWare安装Mac OS X Tiger(测试安装成功)</title>
		<link>http://www.liulang.cq.cn/20100204/vmmac-os-x-tiger.html</link>
		<comments>http://www.liulang.cq.cn/20100204/vmmac-os-x-tiger.html#comments</comments>
		<pubDate>Thu, 04 Feb 2010 05:50:53 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=200</guid>
		<description><![CDATA[Windows用腻了，Linux太难用，那么Mac到底怎么样呢？这个东西自古以来都好像是可望而不可及的一个系统。为什么这样说呢？因为Mac OS貌似只支持它自己生产的硬件如Power PC，所以要想用Mac只能去买苹果机了。可是谁又为了体验一下这个东西而去花上万大洋去买一台新电脑呢？今天，我们就来用虚拟机来体验一下Mac OS X Tiger，揭开它神秘的面纱。（Leopard已经证明很多次了，按不上去，Tiger以前的根本下不到，所以只能用它了）
好了，准备一下工具吧。
首先你得有足够的硬件条件来跑得起虚拟机
1.系统运行时至少有1G的空闲内存。
2.硬盘至少得得有12G的空闲。
3.CPU最好是双核且达到1.6Ghz 以上（否则你用虚拟机的时候会卡死你）
       满足哪些条件，就证明你已经可以虚拟Mac OS了，下面准备软件。
1.Mac OS X 10.4.8 [JaS AMD-Intel-SSE2-SSE3 with PPF1 &#38; PPF2].iso。有破解的Mac都很大，如果体积只有2.7GB多，那么肯定是原版的，这种根本安不上。
2.VMWare Workstation 6.5（虚拟机软件VMWare，这是最新版）
然后我们就开始安装。

至于怎么安装VMWare，就不用多说了，安装完后，打开VMWare，然后——
1.进入首页，开始新建虚拟机向导

然后开始创建。首先选择安装版本，这里就用最新的6.5就行了，没必要弄兼容模式。

这里选择I will install the operating system later。

选择要安装的操作系统，应该用FreeBSD。

选择CPU的核心数：最好选择1个，要不然主机会卡死的

设置内存分配。这里我用512M，实际应用的时候内存不能低于256M，可根据你的电脑进行设置

这里设置网络连接模式，一般都选NAT，很方便，直接按完就能上网。

没什么可说的，SCSI控制器也必须用LSILogic

我们要新安装一个操作系统，所以得新建一个虚拟硬盘，你也可以用物理硬盘，那样速度会更快。

注意：一定要选择IDE硬盘，否则Mac OS不能抓到硬盘，我第一次安装的时候选了SCSI就不行，分去看不到。

设置硬盘容量，一定要大于8G，可以自己设置。

最后验证一下你的配置有没有什么差错，要是有的话按上一步重做。

然后我们还必须配置光盘，因为我们得从ISO镜像安装系统，所以当虚拟机自动打开的时候，关掉它，然后双击“CD/DVD:Auto Detect“，

然后选Use ISO Image File，再按Browse选择Mac安装镜像。

好了，配置阶段我们就完成了，现在开始安装。打开虚拟机，然后从光盘启动。当出现这个界面的时候一定要在倒计时完之前按一个键，否则只能重启了。

开始启动Mac OS的LiveCD模式了。

可能要等一两分钟才能进系统。好了，欢迎界面出来了！

为了使用方便，我们选择简体中文，然后按那个箭头继续。开始准备安装了！
等一会就出现了安装程序的界面。

但是我们现在还不能直接点继续，因为现在硬盘还没有分区，我们必须先分区，再安装。点击上面菜单的实用程序，再选磁盘工具。

然后进入了磁盘实用程序。点分区，开始给硬盘分区。

对于80G的硬盘来说只分一个区太大了，所以我还是把它平分4个区。这个可以根据自己的需要。然后单击分区，确认操作。

由于分区带有一定的危险性，所以Mac要求你确认操作。这里点确认就行了。

正在进行分区。。。。这需要等一段时间，主要是格式化需要时间，它不能快格

最后验证一下分区信息， 可验证、可修复、可引导这三项必须是“是”，否则重新分区。

然后我们就可以退出它，回到安装程序里了。按继续，选择安装分区。就像Windows一般按在Ｃ盘一样，我们一般也把这个安到地一个分区里。
再继续，选择安装组件。值得提醒的是，必须选Jas Intel 10.4.8 ATA Kexts included或者Jas AMD 10.4.8 ATA kexts included，两者既不能不选，也不能选一起，要看你用的是什么CPU，如果是Intel的选前者，AMD选后者。

好了，开始安装。安装所需的时间，根据你选的组件和系统性能的影响，至少都得４０分钟，慢的可能需要几个小时。只能耐心的等待了。还有，安完后还会整理系统盘的碎片，也得花费一段时间。

注意：当安装完毕后，开始倒计时的时候你必须立即将虚拟机关闭（不是重启）！否则启动就会失败，前面的工夫就白费了。我就是按了Ｎ次没注意到这个而失败的。
关了以后在点CD/DVD IDE:XXXXX.iso，然后一定要重新选回Use Physical Drive，里面也一定要选择Auto Detect，然后按OK，在检查一遍又没有错误。

好了，激动人心的时刻来到了，系统开始启动了。等了大约５分钟后，终于启动到Mac的界面了，这时候你得配置一下系统，然后才能使用。最后终于见到了Tiger真正的华丽界面——以前都是用的Ｆｌｙｋｉｔｅ来仿真。

怎么样，以前“望MAC兴叹”的你是否想试一试安装Mac OS呢？那么就照上文的去做，一定能成功的！
 
PS：不知道怎么的，图片传不上来。。原地址请看：http://gqyz01sw.popo.blog.163.com/blog/static/791764512009567203174/
]]></description>
			<content:encoded><![CDATA[<p>Windows用腻了，Linux太难用，那么Mac到底怎么样呢？这个东西自古以来都好像是可望而不可及的一个系统。为什么这样说呢？因为Mac OS貌似只支持它自己生产的硬件如Power PC，所以要想用Mac只能去买苹果机了。可是谁又为了体验一下这个东西而去花上万大洋去买一台新电脑呢？今天，我们就来用虚拟机来体验一下Mac OS X Tiger，揭开它神秘的面纱。（Leopard已经证明很多次了，按不上去，Tiger以前的根本下不到，所以只能用它了）</p>
<p>好了，准备一下工具吧。</p>
<p>首先你得有足够的硬件条件来跑得起虚拟机</p>
<p>1.系统运行时至少有1G的空闲内存。</p>
<p>2.硬盘至少得得有12G的空闲。</p>
<p>3.CPU最好是双核且达到1.6Ghz 以上（否则你用虚拟机的时候会卡死你）</p>
<p>       满足哪些条件，就证明你已经可以虚拟Mac OS了，下面准备软件。</p>
<p>1.Mac OS X 10.4.8 [JaS AMD-Intel-SSE2-SSE3 with PPF1 &amp; PPF2].iso。有破解的Mac都很大，如果体积只有2.7GB多，那么肯定是原版的，这种根本安不上。</p>
<p>2.VMWare Workstation 6.5（虚拟机软件VMWare，这是最新版）</p>
<p>然后我们就开始安装。</p>
<p><span id="more-200"></span></p>
<p>至于怎么安装VMWare，就不用多说了，安装完后，打开VMWare，然后——</p>
<p>1.进入首页，开始新建虚拟机向导</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197659.jpg" target="_blank"></a></p>
<p>然后开始创建。首先选择安装版本，这里就用最新的6.5就行了，没必要弄兼容模式。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197697.jpg" target="_blank"></a></p>
<p>这里选择I will install the operating system later。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853605.jpg" target="_blank"></a></p>
<p>选择要安装的操作系统，应该用FreeBSD。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3980337645666178947.jpg" target="_blank"></a></p>
<p>选择CPU的核心数：<span style="color: #0000ff;">最好选择1个，要不然主机会卡死的</span></p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3980337645666178948.jpg" target="_blank"></a></p>
<p>设置内存分配。这里我用512M，实际应用的时候内存不能低于256M，可根据你的电脑进行设置</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3980337645666178950.jpg" target="_blank"></a></p>
<p>这里设置网络连接模式，一般都选NAT，很方便，直接按完就能上网。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3980337645666178951.jpg" target="_blank"></a></p>
<p>没什么可说的，SCSI控制器也必须用LSILogic</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3446379614846074429.jpg" target="_blank"></a></p>
<p>我们要新安装一个操作系统，所以得新建一个虚拟硬盘，你也可以用物理硬盘，那样速度会更快。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3980337645666178959.jpg" target="_blank"></a></p>
<p><span style="color: #ff6600;">注意：一定要选择IDE硬盘，否则Mac OS不能抓到硬盘，我第一次安装的时候选了SCSI就不行，分去看不到。</span></p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197666.jpg" target="_blank"></a></p>
<p>设置硬盘容量，一定要大于8G，可以自己设置。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197667.jpg" target="_blank"></a></p>
<p>最后验证一下你的配置有没有什么差错，要是有的话按上一步重做。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197672.jpg" target="_blank"></a></p>
<p>然后我们还必须配置光盘，因为我们得从ISO镜像安装系统，所以当虚拟机自动打开的时候，关掉它，然后双击“CD/DVD:Auto Detect“，</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197673.jpg" target="_blank"></a></p>
<p>然后选Use ISO Image File，再按Browse选择Mac安装镜像。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197674.jpg" target="_blank"></a></p>
<p>好了，配置阶段我们就完成了，现在开始安装。打开虚拟机，然后从光盘启动。当出现这个界面的时候一定要在倒计时完之前按一个键，否则只能重启了。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197688.jpg" target="_blank"></a></p>
<p>开始启动Mac OS的LiveCD模式了。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197689.jpg" target="_blank"></a></p>
<p>可能要等一两分钟才能进系统。好了，欢迎界面出来了！</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3131690590883197705.jpg" target="_blank"></a></p>
<p>为了使用方便，我们选择简体中文，然后按那个箭头继续。开始准备安装了！<a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853590.jpg" target="_blank"></a></p>
<p>等一会就出现了安装程序的界面。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853592.jpg" target="_blank"></a></p>
<p>但是我们现在还不能直接点继续，因为现在硬盘还没有分区，我们必须先分区，再安装。点击上面菜单的实用程序，再选磁盘工具。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853593.jpg" target="_blank"></a></p>
<p>然后进入了磁盘实用程序。点分区，开始给硬盘分区。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853597.jpg" target="_blank"></a></p>
<p>对于80G的硬盘来说只分一个区太大了，所以我还是把它平分4个区。这个可以根据自己的需要。然后单击分区，确认操作。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853599.jpg" target="_blank"></a></p>
<p>由于分区带有一定的危险性，所以Mac要求你确认操作。这里点确认就行了。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853601.jpg" target="_blank"></a></p>
<p>正在进行分区。。。。这需要等一段时间，主要是格式化需要时间，它不能快格</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853602.jpg" target="_blank"></a></p>
<p>最后验证一下分区信息， <span style="color: #ff0000;">可验证、可修复、可引导这三项必须是“是”，</span>否则重新分区。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853634.jpg" target="_blank"></a></p>
<p>然后我们就可以退出它，回到安装程序里了。按继续，选择安装分区。就像Windows一般按在Ｃ盘一样，我们一般也把这个安到地一个分区里。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853635.jpg" target="_blank"></a>再继续，选择安装组件。值得提醒的是，<span style="color: #ff0000;">必须选Jas Intel 10.4.8 ATA Kexts included或者Jas AMD 10.4.8 ATA kexts included，两者既不能不选，也不能选一起</span>，要看你用的是什么CPU，如果是Intel的选前者，AMD选后者。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/4256746072795853637.jpg" target="_blank"></a></p>
<p>好了，开始安装。安装所需的时间，根据你选的组件和系统性能的影响，至少都得４０分钟，慢的可能需要几个小时。只能耐心的等待了。还有，安完后还会整理系统盘的碎片，也得花费一段时间。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3163778738228217508.jpg" target="_blank"></a></p>
<p>注意：当安装完毕后，开始倒计时的时候你必须立即将虚拟机关闭（不是重启）！否则启动就会失败，前面的工夫就白费了。我就是按了Ｎ次没注意到这个而失败的。</p>
<p>关了以后在点CD/DVD IDE:XXXXX.iso，然后一定要重新选回Use Physical Drive，里面也一定要选择Auto Detect，然后按OK，在检查一遍又没有错误。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/3105513418049125614.jpg" target="_blank"></a></p>
<p>好了，激动人心的时刻来到了，系统开始启动了。等了大约５分钟后，终于启动到Mac的界面了，这时候你得配置一下系统，然后才能使用。最后终于见到了Tiger真正的华丽界面——以前都是用的Ｆｌｙｋｉｔｅ来仿真。</p>
<p><a href="http://www.liulang.cq.cn/wp-admin/mac_files/5641602958212112656.jpg" target="_blank"></a></p>
<p>怎么样，以前“望MAC兴叹”的你是否想试一试安装Mac OS呢？那么就照上文的去做，一定能成功的！</p>
<p> </p>
<p>PS：不知道怎么的，图片传不上来。。原地址请看：<a href="http://gqyz01sw.popo.blog.163.com/blog/static/791764512009567203174/">http://gqyz01sw.popo.blog.163.com/blog/static/791764512009567203174/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20100204/vmmac-os-x-tiger.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>09年度最实用的小抄/手册总结：HTML, CSS, PHP, Javascript …</title>
		<link>http://www.liulang.cq.cn/20091226/09html-css-php-javascript.html</link>
		<comments>http://www.liulang.cq.cn/20091226/09html-css-php-javascript.html#comments</comments>
		<pubDate>Sat, 26 Dec 2009 09:35:47 +0000</pubDate>
		<dc:creator>刘 浪</dc:creator>
				<category><![CDATA[网络资源]]></category>

		<guid isPermaLink="false">http://www.liulang.cq.cn/?p=197</guid>
		<description><![CDATA[ML/XHTML/XML

HTML Cheat sheet
HTML Character Entities Cheat Sheet
HTML Cheats with demo
HTML: Special Characters
HTML character sets &#8211; Microsoft Developers
HTML Accent Entity Codes
Special ASCII HTML Character Codes
XHTML Specifications
XHTML Character Entity Refrence
HTML 5 Cheat Sheet
Fusebox XML cheat sheet (Pdf)
XML quick refrence (Pdf)


CSS

CSS Cheat Sheet (V2)
CSS quick reference guide (Pdf)
CSS help sheet (Pdf) 
CSS shorthand cheat sheet by example (Pdf)
CSS 3 [...]]]></description>
			<content:encoded><![CDATA[<p><span style="FONT-SIZE: x-large">ML/XHTML/XML</span></p>
<ul>
<li><a rel="nofollow" href="http://www.webmonkey.com/reference/HTML_Cheatsheet">HTML Cheat sheet</a></li>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/html-character-entities-cheat-sheet/">HTML Character Entities Cheat Sheet</a></li>
<li><a rel="nofollow" href="http://www.quackit.com/html/html_cheat_sheet.cfm">HTML Cheats with demo</a></li>
<li><a rel="nofollow" href="http://www.utexas.edu/learn/html/spchar.html">HTML: Special Characters</a></li>
<li><a rel="nofollow" href="http://msdn.microsoft.com/en-us/library/aa752011%28VS.85%29.aspx">HTML character sets &#8211; Microsoft Developers</a></li>
<li><a rel="nofollow" href="http://tlt.its.psu.edu/suggestions/international/web/codehtml.html">HTML Accent Entity Codes</a></li>
<li><a rel="nofollow" href="http://www.yellowpipe.com/yis/tools/ASCII-HTML-Characters/index.php">Special ASCII HTML Character Codes</a></li>
<li><a rel="nofollow" href="http://www.w3.org/TR/xhtml1/">XHTML Specifications</a></li>
<li><a rel="nofollow" href="http://www.digitalmediaminute.com/reference/entity/index.php">XHTML Character Entity Refrence</a></li>
<li><a rel="nofollow" href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/">HTML 5 Cheat Sheet</a></li>
<li><a rel="nofollow" href="http://www.dopefly.com/projects/FuseboxXMLCheatSheet_55.pdf">Fusebox XML cheat sheet (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.mulberrytech.com/quickref/XMLquickref.pdf">XML quick refrence (Pdf)</a></li>
</ul>
<p><span id="more-197"></span></p>
<p><span style="FONT-SIZE: x-large">CSS</span></p>
<ul>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/">CSS Cheat Sheet (V2)</a></li>
<li><a rel="nofollow" href="http://www.veign.com/downloads/guides/qrg0007.pdf">CSS quick reference guide (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.gosquared.com/images/help_sheets/CSS%20Help%20Sheet.pdf">CSS help sheet (Pdf)</a> </li>
<li><a rel="nofollow" href="http://www.leigeber.com/wp-content/uploads/2008/04/css-cheat-sheet.pdf">CSS shorthand cheat sheet by example (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.smashingmagazine.com/2009/07/13/css-3-cheat-sheet-pdf/">CSS 3 Cheat sheet</a></li>
</ul>
<p><span style="FONT-SIZE: x-large">PHP</span></p>
<ul>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet-version-1/">PHP Cheat Sheet (V1)</a></li>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/">PHP Cheat Sheet (V2)</a></li>
<li><a rel="nofollow" href="http://www.phpguru.org/downloads/PCRE%20Cheat%20Sheet/PHP%20PCRE%20Cheat%20Sheet.pdf">PHP PCRE Cheat sheet (Pdf)</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">ASP</span></p>
<ul>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/">ASP / VBScript cheat sheet</a></li>
<li><a rel="nofollow" href="http://support.acmeinternet.com/powerfaqs/asplogincheatsheet.htm">ASP Login cheat sheet</a></li>
<li><a rel="nofollow" href="http://john-sheehan.com/blog/wp-content/uploads/aspnet-life-cycles-events.pdf">ASP Events (Pdf)</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">Database/SQL</span></p>
<p> </p>
<ul>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/mysql-cheat-sheet/">MySQL cheat sheet</a></li>
<li><a rel="nofollow" href="http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/">SQL injection cheat sheet</a></li>
<li><a rel="nofollow" href="http://www.yagc.ndo.co.uk/cheatsheets/plsql_cheatsheet.html">Oracle PL/SQL Cheat sheet</a></li>
<li><a rel="nofollow" href="http://mentalaxis.com/ref/mysqlcheatsheet.pdf">MySQL cheats (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.petefreitag.com/cheatsheets/postgresql/">PostgreSQL cheat sheet</a></li>
<li><a rel="nofollow" href="http://en.wikibooks.org/wiki/Oracle_Programming/SQL_Cheatsheet">Oracle Programming/SQL Cheatsheet</a></li>
<li><a rel="nofollow" href="http://www.digilife.be/quickreferences/QRC/ORACLE%20Server%20Architecture.pdf">Oracle server architecture (Pdf)</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">JavaScript</span></p>
<ul>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/">JavaScript cheat sheet</a></li>
<li><a rel="nofollow" href="http://www.gscottolson.com/jquery/jQuery1.2.cheatsheet.v1.0.pdf">jQuery 1.2 cheat sheet (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.javascripttoolbox.com/jquery/cheatsheet/JQueryCheatSheet-1.3.2.pdf">jQuery 1.3.2 cheat sheet (Pdf)</a></li>
<li><a rel="nofollow" href="http://attic.scripteka.com/prototype_cheatsheet_1.6.0.2.pdf">Javascript Prototype Cheatsheet 1.6.0.2 (Pdf)</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">Wordpress</span></p>
<ul>
<li><a rel="nofollow" href="http://ekinertac.com/wp-content/uploads/2009/07/Wordpress-Cheat-Sheet.pdf">Wordpress cheat sheet (Pdf)</a></li>
<li><a rel="nofollow" href="http://codex.wordpress.org/Site_Architecture_1.5">Site Architecture official wordpress theme cheat sheet</a></li>
<li><a rel="nofollow" href="http://bueltge.de/wp-content/download/wp/WP_Plugin_API.pdf">Wordpress Plugin API cheat sheet (Pdf)</a></li>
<li><a rel="nofollow" href="http://woorkup.com/wp-content/uploads/2009/11/WordPress-Visual-Cheat-Sheet.pdf">Wordpress visual cheat sheet (Pdf)</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">SEO</span></p>
<ul>
<li><a rel="nofollow" href="http://www.seomoz.org/user_files/SEO_Web_Developer_Cheat_Sheet.pdf">The web developer&#8217;s SEO cheat sheet (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.tekka.de/seo-for-wordpress/cheat-sheet-seo-for-wordpress.pdf">Cheat sheet SEO for Wordpress (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.google.com/help/cheatsheet.html">Google help: Cheat sheet</a></li>
<li><a rel="nofollow" href="http://www.e3internet.com/downloads/search-engine-query-cheatsheet.pdf">Search Engine Query cheat sheet (Google, Yahoo, Bing) (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.googleguide.com/advanced_operators_reference.html">Google advanced operators reference guide </a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">REWRITE And .HTACCESS</span></p>
<ul>
<li><a rel="nofollow" href="http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet/">Mod_rewrite Cheat Sheet</a></li>
<li><a rel="nofollow" href="http://groups.google.com/group/apachehtaccess/web/htaccess-cheatsheet">.htaccess cheat sheet</a> </li>
<li><a rel="nofollow" href="http://www.pixelbeat.org/cmdline.html">Unix Cheat sheet</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">Photoshop</span></p>
<ul>
<li><a rel="nofollow" href="http://www.creativetechs.com/tips/tip_resources/PSCS2_Shortcuts_Windows.pdf">Photoshop CS2 Keyboard shortcuts cheat sheet (Windows) (Pdf)</a></li>
<li><a rel="nofollow" href="http://www.creativetechs.com/tips/tip_resources/PSCS2_Shortcuts_Mac.pdf">Photoshop CS2 Keyboard shortcuts cheat sheet (Mac) (Pdf)</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">Windows</span></p>
<ul>
<li><a rel="nofollow" href="http://ss64.com/nt/">XP commands cheat sheet</a></li>
<li><a rel="nofollow" href="http://websupportblog.files.wordpress.com/2006/10/keyboard-shortcuts-trifold.pdf">Windows XP keyboard shortcuts</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">Mac</span></p>
<ul>
<li><a rel="nofollow" href="http://www.info.apple.com/images/kbase/304752/my_mac_cheat_sheet.pdf">My Mac Cheat Sheet (pdf)<br />
</a></li>
<li><a rel="nofollow" href="http://lw.lsa.umich.edu/lsait/pdf/transition.pdf">Mac transition cheat sheet (Pdf)</a></li>
<li><a rel="nofollow" href="http://creativetechs.com/tips/tip_resources/PocketMod/MacOSX-Shortcuts-PocketMod.pdf">MacOSX keyboard shortcuts (Pdf)</a></li>
</ul>
<p> <br />
<span style="FONT-SIZE: x-large">Browser Shortcut Cheats</span></p>
<ul>
<li><a rel="nofollow" href="http://support.mozilla.com/en-US/kb/Keyboard+shortcuts">Firefox keyboard shortcuts</a></li>
<li><a rel="nofollow" href="http://www.google.com/support/chrome/bin/answer.py?hl=en&amp;answer=95743">Google Chrome Shortcuts (Windows, Mac, Linux)</a></li>
<li><a rel="nofollow" href="http://blogs.msdn.com/ie/attachment/715071.ashx">IE7 shortcuts quick reference sheet</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.liulang.cq.cn/20091226/09html-css-php-javascript.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
