<?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"
	>

<channel>
	<title>北风技术专栏 &#187; 北风</title>
	<atom:link href="http://column.ibeifeng.com/wp-feed.php?author_name=ibeifeng&#038;feed=feed" rel="self" type="application/rss+xml" />
	<link>http://column.ibeifeng.com</link>
	<description>用技术点亮生活中每个亮点</description>
	<pubDate>Sun, 29 Aug 2010 06:54:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>用Flex+Lucene+s2sh开发订餐系统开发第四步:前台皮肤替换功能实现</title>
		<link>http://column.ibeifeng.com/ibeifeng/20100619397.shtml</link>
		<comments>http://column.ibeifeng.com/ibeifeng/20100619397.shtml#comments</comments>
		<pubDate>Sat, 19 Jun 2010 14:15:13 +0000</pubDate>
		<dc:creator>北风</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[flex  订餐系统 北风网]]></category>

		<guid isPermaLink="false">http://column.ibeifeng.com/?p=397</guid>
		<description><![CDATA[一、使用皮肤。
步骤1：从http://www.fillcolors.com/下载皮肤。

步骤2：将fonts和images两个文件夹拷贝到flex_src目录下，拷贝CSSPlus.swc到flex_libs目录下。
步骤3：拷贝Rainbow.css到flex_src目录下，并使用该CSS样式。


步骤4：重新运行项目，发现在显示上面有一点问题，调整一下即可。
步骤5：中文信息跑到哪里去了。
打开Rainbow.css文件，字体都定义在这里的。
@font-face {
   src:url("fonts/dakota.swf");
   fontFamily: "Handwriting - Dakota";
}
@font-face {
   src:url("fonts/dakota.swf");
   fontFamily: "Handwriting - Dakota";
   fontWeight:bold;
}
@font-face {
    fontFamily:"Verdana";
    src: url("fonts/verdana.TTF"); /* Embed from file */
}
使用微软雅黑，替换代码为如下。
@font-face {
    fontFamily:"WRYH";
    src: url("fonts/msyh.ttf"); /* Embed from file */
}
在替换皮肤以后，发现确实好看了很多，但是这套皮肤并不是为我们程序专门设计的，所以他在很多地方的显示是不尽人意的。这个时候就需要我们去改写。
问题一：面板标题栏文字太大。
]]></description>
			<content:encoded><![CDATA[<p>一、使用皮肤。<br />
步骤1：从http://www.fillcolors.com/下载皮肤。<br />
<a href="http://URL"><img src="http://column.ibeifeng.com/images/img/2010/06/12-300x114.jpg" alt="" title="12" width="300" height="114" class="alignnone size-medium wp-image-398" /></a><br />
步骤2：将fonts和images两个文件夹拷贝到flex_src目录下，拷贝CSSPlus.swc到flex_libs目录下。<br />
步骤3：拷贝Rainbow.css到flex_src目录下，并使用该CSS样式。<br />
<span id="more-397"></span><br />
<mx:Style source="Rainbow.css"></mx:Style><br />
步骤4：重新运行项目，发现在显示上面有一点问题，调整一下即可。<br />
步骤5：中文信息跑到哪里去了。<br />
打开Rainbow.css文件，字体都定义在这里的。<br />
<code>@font-face {<br />
   src:url("fonts/dakota.swf");<br />
   fontFamily: "Handwriting - Dakota";<br />
}<br />
@font-face {<br />
   src:url("fonts/dakota.swf");<br />
   fontFamily: "Handwriting - Dakota";<br />
   fontWeight:bold;<br />
}</p>
<p>@font-face {<br />
    fontFamily:"Verdana";<br />
    src: url("fonts/verdana.TTF"); /* Embed from file */<br />
}</code><br />
使用微软雅黑，替换代码为如下。<br />
<code>@font-face {<br />
    fontFamily:"WRYH";<br />
    src: url("fonts/msyh.ttf"); /* Embed from file */<br />
}</code><br />
在替换皮肤以后，发现确实好看了很多，但是这套皮肤并不是为我们程序专门设计的，所以他在很多地方的显示是不尽人意的。这个时候就需要我们去改写。</p>
<p>问题一：面板标题栏文字太大。</p>
]]></content:encoded>
			<wfw:commentRss>http://column.ibeifeng.com/ibeifeng/20100619397.shtml/feed</wfw:commentRss>
		</item>
		<item>
		<title>用Flex+Lucene+s2sh开发订餐系统开发第三步:前台主界面设计(续)笔记分享</title>
		<link>http://column.ibeifeng.com/ibeifeng/20100619391.shtml</link>
		<comments>http://column.ibeifeng.com/ibeifeng/20100619391.shtml#comments</comments>
		<pubDate>Sat, 19 Jun 2010 14:06:36 +0000</pubDate>
		<dc:creator>北风</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://column.ibeifeng.com/?p=391</guid>
		<description><![CDATA[一、添加订餐车
步骤1：创建订餐车面板。


	


步骤2：添加一个DataGrid，用来显示所选择的菜单。

	
		
			
				
				
				
			
		
	
步骤3：添加测试数据。
	
		
			红烧排骨
			1
15.8
		
		
			白米饭
			2
1.0
		
	
设置DataGrid的数据源。

步骤4：添加订餐表单。
		
			
				
			
			
				
			
			
				
			
			
				
			
		
		
		
二、在首页面板上显示菜单列表。
步骤1：创建一个TileList（平铺列表）。

步骤2：添加测试数据。
			
				
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
				
			
步骤3：添加图片信息。
		
		
			[Bindable]
			[Embed(source="submenu/20090912172231.jpg")]
			public var submenu1:Class;
			[Bindable]
			[Embed(source="submenu/20090912171819.jpg")]
			public var submenu2:Class;
			[Bindable]
			[Embed(source="submenu/20090912172407.jpg")]
			public var submenu3:Class;
		]]&#62;
	
将图片设置到TileList中。

					
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
					
				
]]></description>
			<content:encoded><![CDATA[<p>一、添加订餐车<br />
步骤1：创建订餐车面板。<br />
<code><br />
<mx:Panel x="10" y="219" width="250" height="327" layout="absolute" title="订餐车"><br />
	</mx:Panel></p>
<blockquote><p>
</code><br />
步骤2：添加一个DataGrid，用来显示所选择的菜单。<br />
<span id="more-391"></span><br />
	<mx:Panel x="10" y="219" width="250" height="327" layout="absolute" title="订餐车"><br />
		<mx:DataGrid x="0" y="0" width="230" rowCount="2"><br />
			<mx:columns><br />
				<mx:DataGridColumn headerText="菜单名称" dataField="menuName"/><br />
				<mx:DataGridColumn headerText="数量" dataField="number"/><br />
				<mx:DataGridColumn headerText="单价" dataField="price"/><br />
			</mx:columns><br />
		</mx:DataGrid><br />
	</mx:Panel><br />
步骤3：添加测试数据。<br />
	<mx:XMLList id="menudatas"><br />
		<menudata><br />
			<menuName>红烧排骨</menuName><br />
			<number>1</number></p>
<price>15.8</price>
		</menudata><br />
		<menudata><br />
			<menuName>白米饭</menuName><br />
			<number>2</number></p>
<price>1.0</price>
		</menudata><br />
	</mx:XMLList><br />
设置DataGrid的数据源。<br />
<mx:DataGrid x="0" y="0" width="230" rowCount="2" dataProvider="{menudatas}"><br />
步骤4：添加订餐表单。<br />
		<mx:Form x="0" y="66" width="230" height="150"><br />
			<mx:FormItem label="联系人" width="192"><br />
				<mx:TextInput/><br />
			</mx:FormItem><br />
			<mx:FormItem label="联系电话"><br />
				<mx:TextInput width="129"/><br />
			</mx:FormItem><br />
			<mx:FormItem label="送餐地址" width="192"><br />
				<mx:TextInput/><br />
			</mx:FormItem><br />
			<mx:FormItem label="送餐时间" width="192"><br />
				<mx:DateField/><br />
			</mx:FormItem><br />
		</mx:Form><br />
		<mx:Button x="37" y="224" label="下订餐"/><br />
		<mx:Button x="104" y="224" label="重置"/><br />
二、在首页面板上显示菜单列表。<br />
步骤1：创建一个TileList（平铺列表）。<br />
<mx:TileList id="MenuSelection" height="410" width="100%" maxColumns="5" rowHeight="130" columnWidth="140"></mx:TileList><br />
步骤2：添加测试数据。<br />
			<mx:TileList id="MenuSelection" height="410" width="100%" maxColumns="5" rowHeight="130" columnWidth="130"><br />
				<mx:dataProvider><br />
					<mx:Array><br />
					<mx:Object label="金牌好排骨"/><br />
					<mx:Object label="金牌好排骨"/><br />
					<mx:Object label="金牌好排骨"/><br />
					<mx:Object label="金牌好排骨"/><br />
					<mx:Object label="金牌好排骨"/><br />
					<mx:Object label="冰梅秘制蒸鲶鱼"/><br />
					<mx:Object label="冰梅秘制蒸鲶鱼"/><br />
					<mx:Object label="冰梅秘制蒸鲶鱼"/><br />
					<mx:Object label="冰梅秘制蒸鲶鱼"/><br />
					<mx:Object label="冰梅秘制蒸鲶鱼"/><br />
					<mx:Object label="茄汁猪扒"/><br />
					<mx:Object label="茄汁猪扒"/><br />
					<mx:Object label="茄汁猪扒"/><br />
					<mx:Object label="茄汁猪扒"/><br />
					<mx:Object label="茄汁猪扒"/><br />
					</mx:Array><br />
				</mx:dataProvider><br />
			</mx:TileList><br />
步骤3：添加图片信息。<br />
		<mx:Script><br />
		<![CDATA[<br />
			[Bindable]<br />
			[Embed(source="submenu/20090912172231.jpg")]<br />
			public var submenu1:Class;<br />
			[Bindable]<br />
			[Embed(source="submenu/20090912171819.jpg")]<br />
			public var submenu2:Class;<br />
			[Bindable]<br />
			[Embed(source="submenu/20090912172407.jpg")]<br />
			public var submenu3:Class;<br />
		]]&gt;<br />
	</mx:Script><br />
将图片设置到TileList中。<br />
<mx:dataProvider><br />
					<mx:Array><br />
						<mx:Object label="金牌好排骨" icon="{submenu1}" fontSize="15"/><br />
						<mx:Object label="金牌好排骨" icon="{submenu1}" fontSize="15"/><br />
						<mx:Object label="金牌好排骨" icon="{submenu1}"/><br />
						<mx:Object label="金牌好排骨" icon="{submenu1}"/><br />
						<mx:Object label="金牌好排骨" icon="{submenu1}"/><br />
						<mx:Object label="冰梅秘制蒸鲶鱼" icon="{submenu2}"/><br />
						<mx:Object label="冰梅秘制蒸鲶鱼" icon="{submenu2}"/><br />
						<mx:Object label="冰梅秘制蒸鲶鱼" icon="{submenu2}"/><br />
						<mx:Object label="冰梅秘制蒸鲶鱼" icon="{submenu2}"/><br />
						<mx:Object label="冰梅秘制蒸鲶鱼" icon="{submenu2}"/><br />
						<mx:Object label="茄汁猪扒" icon="{submenu3}"/><br />
						<mx:Object label="茄汁猪扒" icon="{submenu3}"/><br />
						<mx:Object label="茄汁猪扒" icon="{submenu3}"/><br />
						<mx:Object label="茄汁猪扒" icon="{submenu3}"/><br />
						<mx:Object label="茄汁猪扒" icon="{submenu3}"/><br />
					</mx:Array><br />
				</mx:dataProvider></p>
]]></content:encoded>
			<wfw:commentRss>http://column.ibeifeng.com/ibeifeng/20100619391.shtml/feed</wfw:commentRss>
		</item>
		<item>
		<title>JQuery在光标位置插入内容</title>
		<link>http://column.ibeifeng.com/ibeifeng/20100618387.shtml</link>
		<comments>http://column.ibeifeng.com/ibeifeng/20100618387.shtml#comments</comments>
		<pubDate>Fri, 18 Jun 2010 15:55:17 +0000</pubDate>
		<dc:creator>北风</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://column.ibeifeng.com/?p=387</guid>
		<description><![CDATA[原理很简单，IE下可以通过document.selection.createRange();来实现，而Firefox（火狐）浏览器则需要首先获取光标位置，然后对value进行字符串截取处理。不多说了~直接上我写的一个jQuery在光标位置插入内容插件吧~

Query在光标位置插入内容插件代码
(function($){
$.fn.extend({
insertAtCaret: function(myValue){
var $t=$(this)[0];
if (document.selection) {
this.focus();
sel = document.selection.createRange();
sel.text = myValue;
this.focus();
}
else
if ($t.selectionStart &#124;&#124; $t.selectionStart == &#8216;0&#8242;) {
var startPos = $t.selectionStart;
var endPos = $t.selectionEnd;
var scrollTop = $t.scrollTop;
$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);
this.focus();
$t.selectionStart = startPos + myValue.length;
$t.selectionEnd = startPos + myValue.length;
$t.scrollTop = scrollTop;
}
else {
this.value += myValue;
this.focus();
}
}
})
})(jQuery);
用方法
$(selector).insertAtCaret(&#8221;value&#8221;);
]]></description>
			<content:encoded><![CDATA[<p>原理很简单，IE下可以通过document.selection.createRange();来实现，而Firefox（火狐）浏览器则需要首先获取光标位置，然后对value进行字符串截取处理。不多说了~直接上我写的一个jQuery在光标位置插入内容插件吧~<br />
<span id="more-387"></span><br />
Query在光标位置插入内容插件代码</p>
<p>(function($){<br />
$.fn.extend({<br />
insertAtCaret: function(myValue){<br />
var $t=$(this)[0];<br />
if (document.selection) {<br />
this.focus();<br />
sel = document.selection.createRange();<br />
sel.text = myValue;<br />
this.focus();<br />
}<br />
else<br />
if ($t.selectionStart || $t.selectionStart == &#8216;0&#8242;) {<br />
var startPos = $t.selectionStart;<br />
var endPos = $t.selectionEnd;<br />
var scrollTop = $t.scrollTop;<br />
$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);<br />
this.focus();<br />
$t.selectionStart = startPos + myValue.length;<br />
$t.selectionEnd = startPos + myValue.length;<br />
$t.scrollTop = scrollTop;<br />
}<br />
else {<br />
this.value += myValue;<br />
this.focus();<br />
}<br />
}<br />
})<br />
})(jQuery);<br />
用方法<br />
$(selector).insertAtCaret(&#8221;value&#8221;);</p>
]]></content:encoded>
			<wfw:commentRss>http://column.ibeifeng.com/ibeifeng/20100618387.shtml/feed</wfw:commentRss>
		</item>
		<item>
		<title>如何避免JQuery Dialog的内存泄露</title>
		<link>http://column.ibeifeng.com/ibeifeng/20100618385.shtml</link>
		<comments>http://column.ibeifeng.com/ibeifeng/20100618385.shtml#comments</comments>
		<pubDate>Fri, 18 Jun 2010 15:54:04 +0000</pubDate>
		<dc:creator>北风</dc:creator>
		
		<category><![CDATA[其他]]></category>

		<guid isPermaLink="false">http://column.ibeifeng.com/?p=385</guid>
		<description><![CDATA[对于页面来说，JQuery中的Dialog从效果上来说还可以，而且使用简单，只要短短几行绑定的代码就可以实现弹出效果。

代码
$(&#8217;#dialog&#8217;).dialog({
                 autoOpen: false,
                 width: 600,
                 buttons: {
 [...]]]></description>
			<content:encoded><![CDATA[<p>对于页面来说，JQuery中的Dialog从效果上来说还可以，而且使用简单，只要短短几行绑定的代码就可以实现弹出效果。<br />
<span id="more-385"></span><br />
代码<br />
$(&#8217;#dialog&#8217;).dialog({<br />
                 autoOpen: false,<br />
                 width: 600,<br />
                 buttons: {<br />
                     &#8220;Ok&#8221;: function() {<br />
                         $(this).dialog(&#8221;close&#8221;);<br />
                     },<br />
                     &#8220;Cancel&#8221;: function() {<br />
                         $(this).dialog(&#8221;close&#8221;);<br />
                     }<br />
                 }<br />
             });<br />
在一些JS交互性不多的一般页面来说，没有任何问题！但是对于交互性强的，需要动态加载与释放DOM的页面来说，它就是一个悲剧的东西！为什么这样说？大家看下下面的例子：</p>
<p>　　一段简单的代码，一个DIV是通过动态加载到页面上，然后对该DIV用Dialog进行绑定，以达到弹出的目的！下面的test元素就是
<div id="test"></div>
<p>。</p>
<p>代码<br />
function TestAppend() {</p>
<p>             $(&#8221;#test&#8221;).append(&#8217;
<div id="dialog">
<div id="fileQueue"></div>
<input type="file" name="uploadify" id="uploadify" />&#8216; +<br />
                        &#8216;<a href="javascript:upload();">上传</a>&#8216; +<br />
                        &#8216;<a href="javascript:$(#uploadify).uploadifyClearQueue()">取消上传</a>
<div>&#8216;);</p>
<p>             $(&#8217;#dialog&#8217;).dialog({<br />
                 autoOpen: false,<br />
                 width: 600,<br />
                 buttons: {<br />
                     &#8220;Ok&#8221;: function() {<br />
                         $(this).dialog(&#8221;close&#8221;);<br />
                     },<br />
                     &#8220;Cancel&#8221;: function() {<br />
                         $(this).dialog(&#8221;close&#8221;);<br />
                     }<br />
                 }<br />
             });</p>
<p>             return false;<br />
         }<br />
　　接着，我需要删除该DOM元素，一般来说，正常的做法都是$(&#8221;#test&#8221;).empty();这行简单的代码就完成了！这样有效吗？！当执行完这样代码后，你再用$(&#8217;#dialog&#8217;)来获取dialog元素，郁闷的事情发生了，既然获取到了！为什么！不是已经empty了吗！</p>
<p>　　下面我们来看下这一悲剧是如何造成的，</p>
<p>　　我们把注意点放到$(&#8217;#dialog&#8217;).dialog上面，然后看看JQuery的实现代码是如何写的，当我们跟踪代码到dialog类中的_create方法的时候，问题的原因找到了，看下面这段代码：</p>
<p>_create<br />
uiDialog = (self.uiDialog = $(&#8217;
<div></div>
<p>&#8216;))<br />
                .appendTo(document.body)<br />
                .hide()<br />
                .addClass(uiDialogClasses + options.dialogClass)<br />
                .css({<br />
                    zIndex: options.zIndex<br />
                })<br />
                // setting tabIndex makes the div focusable<br />
                // setting outline to 0 prevents a border on focus in Mozilla<br />
                .attr(&#8217;tabIndex&#8217;, -1).css(&#8217;outline&#8217;, 0).keydown(function(event) {<br />
                    if (options.closeOnEscape &#038;&#038; event.keyCode &#038;&#038;<br />
                        event.keyCode === $.ui.keyCode.ESCAPE) {</p>
<p>                        self.close(event);<br />
                        event.preventDefault();<br />
                    }<br />
                })<br />
                .attr({<br />
                    role: &#8216;dialog&#8217;,<br />
                    &#8216;aria-labelledby&#8217;: titleId<br />
                })<br />
                .mousedown(function(event) {<br />
                    self.moveToTop(false, event);<br />
                }),</p>
<p>　　它既然也动态创建一个div，而且把该div加到了Body上面，然后把dialog中的元素从
<div id=test>中移除，加入到该新的div中&#8230;..</p>
<p>　　这就是为什么我们$(&#8221;#test&#8221;).empty()后，却对内部的dialog没有起作用了！而且这有一个最不好的一个地方，也是最容易出现内存泄露的地方：它动态的在Body中创建了一个div，这样如果窗体不关闭的话，而你又在不察觉的情况下不断的使用上面的TestAppend方法来动态加载DOM，就会创建N个这样的div！</p>
<p>　　其实这个问题郁闷的地方不是在如何解决，而且隐藏的很深，很难发现！那么发现之后解决起来就变的简单多了：</p>
<p>if ($(&#8217;#dialog&#8217;)[0]) {<br />
    $(&#8217;#dialog&#8217;).parent().empty();<br />
    $(&#8217;#dialog&#8217;).parent().remove();<br />
}</p>
<p> 当前加上这段后代码后，再做$(&#8221;#dialog&#8221;)来测试下，期望的结果终于出现了！dialog元素消失了！</p>
]]></content:encoded>
			<wfw:commentRss>http://column.ibeifeng.com/ibeifeng/20100618385.shtml/feed</wfw:commentRss>
		</item>
		<item>
		<title>Nut 1.0a2(lucene 分布式运行框架)</title>
		<link>http://column.ibeifeng.com/ibeifeng/20100618383.shtml</link>
		<comments>http://column.ibeifeng.com/ibeifeng/20100618383.shtml#comments</comments>
		<pubDate>Fri, 18 Jun 2010 15:52:50 +0000</pubDate>
		<dc:creator>北风</dc:creator>
		
		<category><![CDATA[其他]]></category>

		<guid isPermaLink="false">http://column.ibeifeng.com/?p=383</guid>
		<description><![CDATA[项目地址： http://code.google.com/p/nutla/ 
1、概述
 只为lucene提供分布式搜索框架。理论上可对千G以上索引文件支持数千万级的用户搜索访问。
 之所以讲理论上是因为作者一直没有这样规模的实践机会。
 Nut开发环境为：jdk1.6.0.20+lucene3.0.1+eclipse3.5.2+windows7

2、特新
 a、热插拔
 b、可扩展
 c、高负载
 d、易使用
 e、支持排序
3、设计
Nut由Client、Server、Cache和DB四部分构成。
Client处理用户请求和对搜索结果排序。Server对请求进行搜索，Server上只放索引，数据存储在DB中，Nut将索引和存储分离。Cache缓存的是搜索条件和结果文档id。DB存储着数据，Client根据搜索排序结果,取出当前页中的文档id从DB上读取数据。
用户发起搜索请求给由Nut Client构成的集群，由某个Nut Client根据搜索条件查询Cache服务器是否有该缓存，如果有缓存根据缓存的文档id直接从DB读取数据，如果没有缓存将查询条件同时发给后面的n台搜索服务器，搜索服务器将搜索结果返回给Nut Client由其排序，取出当前页文档id，将搜索条件和当前文档id缓存，同时从DB读取数据。
]]></description>
			<content:encoded><![CDATA[<p>项目地址： http://code.google.com/p/nutla/ </p>
<p>1、概述<br />
 只为lucene提供分布式搜索框架。理论上可对千G以上索引文件支持数千万级的用户搜索访问。<br />
 之所以讲理论上是因为作者一直没有这样规模的实践机会。<br />
 Nut开发环境为：jdk1.6.0.20+lucene3.0.1+eclipse3.5.2+windows7<br />
<span id="more-383"></span><br />
2、特新<br />
 a、热插拔<br />
 b、可扩展<br />
 c、高负载<br />
 d、易使用<br />
 e、支持排序</p>
<p>3、设计<br />
Nut由Client、Server、Cache和DB四部分构成。<br />
Client处理用户请求和对搜索结果排序。Server对请求进行搜索，Server上只放索引，数据存储在DB中，Nut将索引和存储分离。Cache缓存的是搜索条件和结果文档id。DB存储着数据，Client根据搜索排序结果,取出当前页中的文档id从DB上读取数据。</p>
<p>用户发起搜索请求给由Nut Client构成的集群，由某个Nut Client根据搜索条件查询Cache服务器是否有该缓存，如果有缓存根据缓存的文档id直接从DB读取数据，如果没有缓存将查询条件同时发给后面的n台搜索服务器，搜索服务器将搜索结果返回给Nut Client由其排序，取出当前页文档id，将搜索条件和当前文档id缓存，同时从DB读取数据。</p>
]]></content:encoded>
			<wfw:commentRss>http://column.ibeifeng.com/ibeifeng/20100618383.shtml/feed</wfw:commentRss>
		</item>
		<item>
		<title>Android/OPhone中使用HttpUrlConnection注意事项</title>
		<link>http://column.ibeifeng.com/ibeifeng/20100618381.shtml</link>
		<comments>http://column.ibeifeng.com/ibeifeng/20100618381.shtml#comments</comments>
		<pubDate>Fri, 18 Jun 2010 15:51:21 +0000</pubDate>
		<dc:creator>北风</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://column.ibeifeng.com/?p=381</guid>
		<description><![CDATA[使用Android/OPhone中的HttpUrlConnection，有个地方需要注意一下，就是如果你的程序中有跳转，并且跳转有外部域名的跳转，那么非常容易超时并抛出域名无法解析的异常(Host Unresolved)，建议做跳转处理的时候不要使用它自带的方法设置成为自动跟随跳转，最好自己做处理，以便防止莫名其妙的异常。这个问题模拟器上面看不出来，真机上面能看出来。

专注移动开发
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
]]></description>
			<content:encoded><![CDATA[<p>使用Android/OPhone中的HttpUrlConnection，有个地方需要注意一下，就是如果你的程序中有跳转，并且跳转有外部域名的跳转，那么非常容易超时并抛出域名无法解析的异常(Host Unresolved)，建议做跳转处理的时候不要使用它自带的方法设置成为自动跟随跳转，最好自己做处理，以便防止莫名其妙的异常。这个问题模拟器上面看不出来，真机上面能看出来。<br />
<span id="more-381"></span><br />
专注移动开发<br />
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian</p>
]]></content:encoded>
			<wfw:commentRss>http://column.ibeifeng.com/ibeifeng/20100618381.shtml/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
