<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>liulang&#039;s blog</title>
	<link>http://www.liulang.cq.cn</link>
	<description>既然选择了远方，便只顾风雨兼程……</description>
	<lastBuildDate>Mon, 05 Dec 2011 15:49:44 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.3.1" -->

	<item>
		<title>给Android应用开发者的十个建议</title>
		<description><![CDATA[尽管现在Android智能手机和平板电脑的运行速率越来越快，但开发者仍需牢记，应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议，以便能在当前和以后的所有Android设备都能运行出最佳效果。 1）首先要有良好的编码习惯 一个优秀的开发者应该善于运用常识、完善的算法和标准设计模式。要有资源意识，打开了就要记得关闭，尽量做到晚获取，早释放。这些由来已久的编码准则同样适用Android应用开发，尤其是使用基础设备服务时。 2）让阻塞操作远离主UI线程 通过使用AsyncTask、线程、IntentService和自定义后台服务，保证应用的灵活性。使用加载工具简化游标等长时间加载数据的状态管理。当有其他程序运行时，不能让你的应用滞后或中止。 如果一个操作需要消耗较多时间和资源时，取消该操作，换成异步处理，这样应用就能保持响应，用户可以继续各种操作。该方法适用磁盘读写、访问内容提供方、数据库和互联网，以及解析和其他需要花费较长时间的任务。 3）使用最新的Android SDK版本和API 使用Android平台的最新产品，保证你的应用紧跟Android的更新步伐。随着Android平台的不断发展，部分功能可能被弃用或被更好的功能 取代，核心API接收了bug修复和性能改进，新API有助于开发者编写出更稳定的应用。要明白最佳的做法总是随着时间的推移而变，聪明的开发者应该总是 站在整个平台的最前沿。 4）考虑使用StrictMode 从Android 2.3开始提供了一个新的类StrictMode，该类可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用，可以帮助开发者改进程序，使主线程处理UI和动画在磁盘读写和网络操作时变得更平滑，避免主线程被阻塞。 5）发布前禁用或尽量减少调试 如果开发周期较长，你很可能在应用中内置了一些日志或调试代码，在发布前确保这些功能已经最小化或完全禁用。 6）确保UI布局简单优雅 简单的屏幕不仅方便阅读，还能加快加载速度。与其在一个单一屏幕上堆砌太多不必要的功能，不如花时间去开发优雅的用户界面。简单优雅的UI不仅能提高应用性能，还能提高用户使用该应用时的效率。 7）根据目标设备调整应用资源 为尽可能高效地被加载，需要根据具体设备的配置调整相应资源，尤其是图片资源。为使应用包文件合理适用不同设备，首先可只添加运行该应用需要的核心资源，然后再根据具体设备下载相关内容。 8）使用Hierachy Viewer可视化调试工具 Hierachy Viewer能很方便地在开发者设计，调试和调整界面时，快速定位问题，解决问题，提高开发效率。 9）使用layoutopt进行布局优化 Layoutopt是一款简单的命令行工具，可帮助找到不必要的控件嵌套以及缩减布局资源，从而使应用变得可能“苗条”。控件越少、布局层次越浅，性能就越好。 10）使用Traceview及其他Android工具进行分析 Android SDK随带了很多用于应用分析的工具，其中最受欢迎的是Traceview，这款图形工具可以帮助调试和找到应用中的性能瓶颈。 结语 提升Android应用性能的方法有很多，有些需要使用特定的算法，有些依赖切实可行的调试和性能监测技术。幸运的是，Android平台随带了众多免费的实用工具，可以帮助跟踪和解决应用程序中的性能问题。]]></description>
		<link>http://www.liulang.cq.cn/20111205/10-android-app-performance-tips-for-developers.html</link>
			</item>
	<item>
		<title>install Android Ice Cream Sandwich on a Samsung Nexus S</title>
		<description><![CDATA[1. Download the custom ROM Hit up XDA-Developers and download the Nexus S custom ROM (v2, “no need for wifi patch”). If you have a 4G Nexus S, you can download the appropriate custom ROM, but we haven’t tested it — &#8230; <a href="http://www.liulang.cq.cn/20111122/install-android-ice-cream-sandwich-on-a-samsung-nexus-s.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20111122/install-android-ice-cream-sandwich-on-a-samsung-nexus-s.html</link>
			</item>
	<item>
		<title>(转)区分Activity的四种加载模式</title>
		<description><![CDATA[转自：http://marshal.easymorse.com/archives/2950 在多Activity开发中，有可能是自己应用之间的Activity跳转，或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例，而不是产生大量重复的Activity。 这需要为Activity配置特定的加载模式，而不是使用默认的加载模式。 加载模式分类及在哪里配置 Activity有四种加载模式： standard singleTop singleTask singleInstance 设置的位置在AndroidManifest.xml文件中activity元素的android:launchMode属性： &#60;activity android:name=”ActB” android:launchMode=”singleTask”&#62;&#60;/activity&#62; 也可以在Eclipse ADT中图形界面中编辑： &#160; 区分Activity的加载模式，通过示例一目了然。这里编写了一个Activity A（ActA）和Activity B（ActB）循环跳转的例子。对加载模式修改和代码做稍微改动，就可以说明四种模式的区别。 standard 首先说standard模式，也就是默认模式，不需要配置launchMode。先只写一个名为ActA的Activity： package com.easymorse.activities; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; public class &#8230; <a href="http://www.liulang.cq.cn/20110425/activity-four-launchmode.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20110425/activity-four-launchmode.html</link>
			</item>
	<item>
		<title>Android开发者必须深入学习的10个应用开源项目</title>
		<description><![CDATA[Android开发又将带来新一轮热潮，很多开发者都投入到这个浪潮中去了，创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开 源项 目，贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目，这些项目不仅提供了优秀的创意，也可以直接掌握 Android内核的接口使用： 1、Android团队提供的示例项目 如果不是从学习Android SDK中提供的那些样例代码开始，可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项 目，包含了游戏、图像处理、时间显示、开始菜单快捷方式等。 地址：http://code.google.com/p/apps-for-android/ 2、 Remote Droid RemoteDroid是一个Android应用，能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触 摸屏手指运动等很好的样例。 地址：http://code.google.com/p/remotedroid/ 3、 TorProxy和Shadow TorProxy应用实现了Android手机无线电电传通讯(TOR)，和Shadow应用一起使用，可以使用手机匿名上网。从该项目源代码中，可以 掌握socket连接、管理cookie等方法。 地址：http://www.cl.cam.ac.uk/research/dtg/code/svn/android-tor/ http://www.cl.cam.ac.uk/research/dtg/android/tor/ 4、 Android SMSPopup SMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。 地址：http://code.google.com/p/android-smspopup/ 5、 Standup Timer Standup Timer应用用于控制站立会议时间，类似秒表倒计时，可以提醒每个人的讲话时间已到，从而保证每个与会者使用时间一样。从该项目的代码中，可以学会如何 使用时间函数。另外，这个项目的代码是采用视图view、模型model严格分离的设计思路。 地址：http://github.com/jwood/standup-timer 6、 Foursquare 是Foursquare.com的一个客户端应用，该应用主要分为两个模块：API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)两部分。从该项目代码中，可以学会如何同步、多线程、HTTP连接等技术。 地址：http://code.google.com/p/foursquared/ 7、 Pedometer &#8230; <a href="http://www.liulang.cq.cn/20101218/androiddev-10-opensourceproject.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20101218/androiddev-10-opensourceproject.html</link>
			</item>
	<item>
		<title>编译 android 2.1 (eclair) 源码 For HTC G1</title>
		<description><![CDATA[1. 说明 1) 下载编译最基本的android源码，无法在真机上使用（不能生成boot.img），只能在模拟器上使用。这是因为没有编译相关机型的内核和硬件 驱动。以下介绍的是用android源码编译出对应HTC G1的版本，和烧写的过程。编译生成的版本除相机不能用之外，其它绝大 部分功能都能正常使用，在G1上运行2.1版的速度也不错。 2) 本文主要参考日文文档G1/G2烧机指南，感谢原文作者，原文地址： http://code.google.com/p/android-development-environment/wiki/EclaironADP1andADP2 同时加入中文系统 的支持和JIT支持（提高速 度），以及相关文字解释。 3) 以下步骤都经过验证（只验证G1手机，G2部分请参见日文文档），实验系统ubuntu8.04，实验日期2010年5月8日 4) 关键字: android 2.1 eclair g1 源码编译 2. 建立android源码编译目录 $ export ANDROID=/exports/android/android_2.1_cn/ $ mkdir -p $ANDROID $ cd $ANDROID 3. 源码下载 $ repo init -u &#8230; <a href="http://www.liulang.cq.cn/20101218/android-2-1-eclair-for-htc-g1.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20101218/android-2-1-eclair-for-htc-g1.html</link>
			</item>
	<item>
		<title>Nutch1.0导入Eclipse中配置运行</title>
		<description><![CDATA[&#60;1&#62;: 首先从http://nutch.apache.org/  下载最新的nutch.在这里我使用的是nutch1.0。 &#60;2&#62;: 在eclipse中新建立一个Java Project. 名字自己定义(Nutch). 选择”Create project from existing source”，指向自己nutch-1.0的目录. &#60;3&#62;: 点击下一步，切换到”Libraries”选择”Add Class Folder&#8230;” 按钮，从列表中选择”conf”.  &#8212;- Add project &#8216;conf&#8217; to build path&#8212;-&#62;Default Output floder &#8212;-&#62;选择刚才conf. &#60;4&#62;: finised.修改conf下面的 (a):nutch-defaul.xml : &#60;!&#8211; plugin properties &#8211;&#62; &#60;property&#62; &#60;name&#62;plugin.folders&#60;/name&#62; &#60;value&#62;/home/user/tools/nutch-1.0/src/plugin&#60;/value&#62; &#60;!&#8211;指向nutch1.0目录的plugin&#8211;&#62; &#60;description&#62;Directories &#8230; <a href="http://www.liulang.cq.cn/20101202/nutch-eclipse.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20101202/nutch-eclipse.html</link>
			</item>
	<item>
		<title>电影有时候不仅仅是娱乐，哈佛商学院和斯坦福要求学生必看的20部电影（当然你可以选择不看，没有人逼迫只有梦想只有天真和勇气的你）</title>
		<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) 任 何年轻人的梦想中都至少包括两个绝对共同的东西，一个是金钱，一个是美女。明天早晨醒来，发现你不过就是一个北漂的时候，不过就是陷入大上海茫茫人海中的 &#8230; <a href="http://www.liulang.cq.cn/20100610/20movie.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20100610/20movie.html</link>
			</item>
	<item>
		<title>Oracle命令</title>
		<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 &#8230; <a href="http://www.liulang.cq.cn/20100520/oracle%e5%91%bd%e4%bb%a4.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20100520/oracle%e5%91%bd%e4%bb%a4.html</link>
			</item>
	<item>
		<title>linux下启动oracle11g 命令</title>
		<description><![CDATA[//启动oem： emctl start dbconsole //启动监听 lsnrctl start su &#8211; oracle sqlplus /nolog SQL>conn[ect] /as sysdba SQL>startup]]></description>
		<link>http://www.liulang.cq.cn/20100520/linux-startoracle.html</link>
			</item>
	<item>
		<title>Android TTS  语音朗读 的开发</title>
		<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 instance mTts = new &#8230; <a href="http://www.liulang.cq.cn/20100518/android-tts.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://www.liulang.cq.cn/20100518/android-tts.html</link>
			</item>
</channel>
</rss>

