<?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>iTCyBER</title>
	<atom:link href="http://www.itcyber.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.itcyber.com</link>
	<description>ชีวิตนี้ไม่ได้ให้เกิดมานั่งทำงานไปวันๆ</description>
	<lastBuildDate>Sun, 27 Nov 2011 02:53:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Ajax ง่ายๆ กับ jQuery</title>
		<link>http://www.itcyber.com/ajax-with-jquery</link>
		<comments>http://www.itcyber.com/ajax-with-jquery#comments</comments>
		<pubDate>Sat, 26 Nov 2011 18:57:20 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=366</guid>
		<description><![CDATA[บทความนี้จะเสนอเกี่ยวกับการใช้งาน Ajax ใน jQuery ซึ่งหาใครไม่มี src ของ jQuery ก็ให้เข้าเว็บ jquery.com เพื่อเข้าไปโหลด src มา จริงๆ แล้ว jQuery ก็มีคู่มือการใช้งานของ jQuery อยู่แล้ว ซึ่งสามารถเข้าไปดูใน docs.jquery.com ซึ่ง Ajax ที่จะเขียนในบทความนี้ คู่มือการใช้งานของ Ajax ก็อยู่ในหน้า api.jquery.com/category/ajax/ คู่มือก็มีอยู่แล้ว แล้วผมจะสอนอะไรอีก งั้นผมก็จะแปลไทยให้คุณเข้าใจเพิ่มขึ้นแล้วกันนะครับ ใน jQuery ผมแนะนำให้ใช้ function ของ jQuery.post() หรือ jQuery.get() ส่วน jQuery.ajax() ผมว่าวุ่นวายไป มาเริ่มจาก jQuery.post() กันนะครับ post กับ get คนเขียนเว็บก็จะรู้กันว่าคืออะไร ซึ่ง function ตัวนี้จะส่งข้อมูลลักษณะการใช้ HTTP POST ซึ่ง function ตัวนี้จะให้เราใส่ parameter 4 ตัวดังนี้ url ตัวแรกก็จะคือ url ของข้อมูลที่เราจะติดต่อ data [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-395" title="jquery" src="http://www.itcyber.com/wp-content/uploads/2011/11/jquery.png" alt="" width="123" height="123" />บทความนี้จะเสนอเกี่ยวกับการใช้งาน Ajax ใน jQuery ซึ่งหาใครไม่มี src ของ jQuery ก็ให้เข้าเว็บ <a title="jQuery JavaScript Library" href="http://jquery.com" target="_blank">jquery.com</a> เพื่อเข้าไปโหลด src มา</p>
<p>จริงๆ แล้ว jQuery ก็มีคู่มือการใช้งานของ jQuery อยู่แล้ว ซึ่งสามารถเข้าไปดูใน <a href="http://docs.jquery.com/">docs.jquery.com</a> ซึ่ง Ajax ที่จะเขียนในบทความนี้ คู่มือการใช้งานของ Ajax ก็อยู่ในหน้า <a href="http://api.jquery.com/category/ajax/">api.jquery.com/category/ajax/</a> คู่มือก็มีอยู่แล้ว แล้วผมจะสอนอะไรอีก งั้นผมก็จะแปลไทยให้คุณเข้าใจเพิ่มขึ้นแล้วกันนะครับ</p>
<p>ใน jQuery ผมแนะนำให้ใช้ function ของ <a title="Permalink to jQuery.post()" href="http://api.jquery.com/jQuery.post/" rel="bookmark">jQuery.post()</a> หรือ <a title="Permalink to jQuery.get()" href="http://api.jquery.com/jQuery.get/" rel="bookmark">jQuery.get()</a> ส่วน <a title="Permalink to jQuery.ajax()" href="http://api.jquery.com/jQuery.ajax/" rel="bookmark">jQuery.ajax()</a> ผมว่าวุ่นวายไป</p>
<p>มาเริ่มจาก<strong> jQuery.post()</strong> กันนะครับ post กับ get คนเขียนเว็บก็จะรู้กันว่าคืออะไร ซึ่ง function ตัวนี้จะส่งข้อมูลลักษณะการใช้ HTTP POST ซึ่ง function ตัวนี้จะให้เราใส่ parameter 4 ตัวดังนี้</p>
<pre class="brush: jscript; title: ; notranslate">
jQuery.post(url[,data][,success(data,textStatus,jqXHR)] [,dataType]);
</pre>
<p><span id="more-366"></span></p>
<ul>
<li><strong>url</strong> ตัวแรกก็จะคือ url ของข้อมูลที่เราจะติดต่อ</li>
<li><strong>data</strong> คือข้อมูลที่เราจะส่งไป</li>
<li><strong>success</strong> คือข้อมูลที่ได้รับกลับมา จะเข้า function ซึ่งมี parameter อยู่ 3 ตัวคือ แต่เราสนใจแค่ 1 ตัวก็พอคือ data</li>
<li><strong>dataType</strong> ชนิดของข้อมูล คือ html, script, xml หรือ <a href="http://www.itcyber.com/intr-json" target="_blank">json</a> หากเป็น html หรือ taxt ธรรมดาก็ไม่ต้องระบุบ</li>
</ul>
<p>ดูตัวอย่างกันเขียนกัน</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt; Test Ajax &lt;/title&gt;
		&lt;!-- นำเข้าข้อมูล jquery java library --&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		function submitData(){
			// ส่ง โดย function โพส ของ jquery
			// $ คือ jQuery
			$.post(&quot;jsondatatest.html&quot;, { name: $(&quot;#name&quot;).val(), pass: $(&quot;#passwd&quot;).val()},
				function(data) {
					process(data);
				},
				&quot;json&quot; // กำหนดให้มันเป็น json เพื่อที่ jquery จะแปลงข้อมูล json ให้เป็น object มาให้เลย
			);
		}
		function process(data){
			// เช็คข้อมูลสักหน่อย
			if(data){
				// อ่านตาม object ที่ได้รับจาก json
				$(&quot;#fullname&quot;).html(data.firstName+&quot; &quot;+data.lastName);
				$(&quot;#address&quot;).html(data.address.streetAddress+&quot; &quot;+data.address.city+&quot; &quot;+data.address.postalCode);
				$(&quot;#tel&quot;).html(data.phoneNumbers[0]);
				$(&quot;#divResult&quot;).show(); // สั่งโชว์ div divResult
			}
		}
		&lt;/script&gt;
	&lt;/head&gt;

	&lt;body&gt;
		Name : &lt;input type=&quot;text&quot; id=&quot;name&quot; /&gt;&lt;br /&gt;
		Passwd : &lt;input type=&quot;password&quot; id=&quot;passwd&quot; /&gt;&lt;br /&gt;
		&lt;input type=&quot;button&quot; name=&quot;bt&quot; value=&quot; Get Data &quot; onclick=&quot;submitData()&quot; /&gt;
		&lt;div id=&quot;divResult&quot; style=&quot;display:none&quot;&gt;
			&lt;hr /&gt;
			Name : &lt;span id=&quot;fullname&quot;&gt;&lt;/span&gt;&lt;br /&gt;
			Address : &lt;span id=&quot;address&quot;&gt;&lt;/span&gt;&lt;br /&gt;
			Phone : &lt;span id=&quot;tel&quot;&gt;&lt;/span&gt;
		&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>ส่วนข้อมูล<strong> file jsondatatest.html</strong></p>
<pre class="brush: xml; title: ; notranslate">
{
     &quot;firstName&quot;: &quot;John&quot;,
     &quot;lastName&quot;: &quot;Smith&quot;,
     &quot;address&quot;: {
         &quot;streetAddress&quot;: &quot;21 2nd Street&quot;,
         &quot;city&quot;: &quot;New York&quot;,
         &quot;state&quot;: &quot;NY&quot;,
         &quot;postalCode&quot;: 10021
     },
     &quot;phoneNumbers&quot;: [
         &quot;212 555-1234&quot;,
         &quot;646 555-4567&quot;
     ]
 }
 </pre>
<p>ต่อไปคือการเขียนโดนใช้ <strong>function jQuery.get() </strong>ตัวนี้แตกต่างจาก jQuery.post() ตรงที่ไม่มี parameter data เพราะว่า get จะส่งข้อมูลไปทาง url นั่นเอง</p>
<pre class="brush: jscript; title: ; notranslate">
jQuery.get(url[,data][,success(data,textStatus,jqXHR)][,dataType]);
</pre>
<p>ดูตัวอย่างกัน</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt; Test Ajax &lt;/title&gt;
		&lt;!-- นำเข้าข้อมูล jquery java library --&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		function submitData(){
			// ส่ง โดย function โพส ของ jquery
			// $ คือ jQuery
			$.get(&quot;jsondatatest.html?name=&quot;+$(&quot;#name&quot;).val()+&quot;&amp;pass=&quot;+$(&quot;#passwd&quot;).val(),
				function(data) {
					process(data);
				},
				&quot;json&quot; // กำหนดให้มันเป็น json เพื่อที่ jquery จะแปลงข้อมูล json ให้เป็น object มาให้เลย
			);
		}
		function process(data){
			// เช็คข้อมูลสักหน่อย
			if(data){
				// อ่านตาม object ที่ได้รับจาก json
				$(&quot;#fullname&quot;).html(data.firstName+&quot; &quot;+data.lastName);
				$(&quot;#address&quot;).html(data.address.streetAddress+&quot; &quot;+data.address.city+&quot; &quot;+data.address.postalCode);
				$(&quot;#tel&quot;).html(data.phoneNumbers[0]);
				$(&quot;#divResult&quot;).show(); // สั่งโชว์ div divResult
			}
		}
		&lt;/script&gt;
	&lt;/head&gt;

	&lt;body&gt;
		Name : &lt;input type=&quot;text&quot; id=&quot;name&quot; /&gt;&lt;br /&gt;
		Passwd : &lt;input type=&quot;password&quot; id=&quot;passwd&quot; /&gt;&lt;br /&gt;
		&lt;input type=&quot;button&quot; name=&quot;bt&quot; value=&quot; Get Data &quot; onclick=&quot;submitData()&quot; /&gt;
		&lt;div id=&quot;divResult&quot; style=&quot;display:none&quot;&gt;
			&lt;hr /&gt;
			Name : &lt;span id=&quot;fullname&quot;&gt;&lt;/span&gt;&lt;br /&gt;
			Address : &lt;span id=&quot;address&quot;&gt;&lt;/span&gt;&lt;br /&gt;
			Phone : &lt;span id=&quot;tel&quot;&gt;&lt;/span&gt;
		&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>เห็นไหมว่า ลักษณะการเขียน post และ get จะไม่แตกต่างกัน ซึ่งผมก็แนะนำให้ใช้ post เพราะว่าต่อไป เราอาจจะต้องทำกับข้อมูลที่ส่งมีขนาดหลายตัวอักษร ซึ่ง get มันจะจำกัดปริมาณข้อมูลความยาวของ url เอาไว้</p>
<p>มีข้อเสนอแนะติชมได้นะครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/ajax-with-jquery/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP แยกส่วนการเขียนให้เป็นระเบียบ</title>
		<link>http://www.itcyber.com/php-include</link>
		<comments>http://www.itcyber.com/php-include#comments</comments>
		<pubDate>Thu, 10 Nov 2011 17:01:51 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=350</guid>
		<description><![CDATA[การเขียนโปรแกรมของแต่งละคนมีวิธีที่เขียนแตกต่างกัน แต่วิธีที่ผมจะสอนในวันนี้จะเป็นวิธีที่ผมจะแยกส่วนออกมาให้เป็นระเบียบ ประกอบกับการเขียนโปรแกรมในรูปแบบการเรียก function ซึ่งเป็นการยกระดับการเขียนอีก 1 ระดับทีเดียว การนำเข้าข้อมูลจากไฟล์ต่างๆ มีฟังชั่นในการนำเข้าข้อมูลอยู่ 4 รูปแบบคือ include วิธีนี้คือการนำเข้าข้อมูลในไฟล์นั้นๆ ซึ่งหากไม่พบ file นั้น ระบบก็จะทำการแจ้งเตือน (Warning) include_once มีความหมายเหมือนกับ include แต่หากว่าเคยนำเข้าแล้ว ระบบก็จะไม่นำเข้าซ้ำ require วิธีนี้คือการนำเข้าข้อมูลในไฟล์นั้นๆ ซึ่งหากไม่พบ file นั้น ระบบก็จะแจ้ง Error และหยุดทำงานทันที require_once มีความหมายเหมือนกับ require แต่หากว่าเคยนำเข้าแล้ว ระบบก็จะไม่นำเข้าซ้ำ ตัวอย่าง ผมจะเอาตัวอย่างง่ายๆ มาให้ดูก็แล้วกันครับ แบบแรก เขียนแบบธรรมดาไม่มีการนำเข้ามูลทั้งสิ้น File team.php แบบที่ 2 การเขียนแบบแยกส่วน File connect.php File team.php ซึ่งข้อมูลเบื้องหลังก็จะได้]]></description>
			<content:encoded><![CDATA[<p>การเขียนโปรแกรมของแต่งละคนมีวิธีที่เขียนแตกต่างกัน แต่วิธีที่ผมจะสอนในวันนี้จะเป็นวิธีที่ผมจะแยกส่วนออกมาให้เป็นระเบียบ ประกอบกับการเขียนโปรแกรมในรูปแบบการเรียก function ซึ่งเป็นการยกระดับการเขียนอีก 1 ระดับทีเดียว</p>
<p>การนำเข้าข้อมูลจากไฟล์ต่างๆ มีฟังชั่นในการนำเข้าข้อมูลอยู่ 4 รูปแบบคือ</p>
<ul>
<li><strong>include</strong> วิธีนี้คือการนำเข้าข้อมูลในไฟล์นั้นๆ ซึ่งหากไม่พบ file นั้น ระบบก็จะทำการแจ้งเตือน (Warning)</li>
<li><strong>include_once</strong> มีความหมายเหมือนกับ include แต่หากว่าเคยนำเข้าแล้ว ระบบก็จะไม่นำเข้าซ้ำ</li>
<li><strong>require</strong> วิธีนี้คือการนำเข้าข้อมูลในไฟล์นั้นๆ ซึ่งหากไม่พบ file นั้น ระบบก็จะแจ้ง Error และหยุดทำงานทันที</li>
<li><strong>require_once</strong> มีความหมายเหมือนกับ require แต่หากว่าเคยนำเข้าแล้ว ระบบก็จะไม่นำเข้าซ้ำ</li>
</ul>
<p>ตัวอย่าง ผมจะเอาตัวอย่างง่ายๆ มาให้ดูก็แล้วกันครับ<br />
แบบแรก เขียนแบบธรรมดาไม่มีการนำเข้ามูลทั้งสิ้น<span id="more-350"></span><br />
File team.php</p>
<pre class="brush: php; title: ; notranslate">
&lt;html&gt;
 &lt;head&gt;
  &lt;title&gt;Inquiry&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;
  &lt;?
  $conn = mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;&quot;);
  mysql_select_db(&quot;football&quot;);
  $query = mysql_query(&quot;Select id,name from team order by id&quot;);
  while($row = mysql_fetch_array($query)){
   $id = $row[&quot;id&quot;];
   $name = $row[&quot;name&quot;];
  ?&gt;
  &lt;h3&gt;Team &lt;?=$name?&gt;&lt;/h3&gt;
  &lt;?
   $query2 = mysql_query(&quot;select name,position,number from player where team = &quot;.$id.&quot; order by number&quot;);
   while($row2 = mysql_fetch_array($query2)){
    echo $row2[&quot;number&quot;].&quot; &quot;.$row2[&quot;name&quot;].&quot; (&quot;.$row2[&quot;position&quot;].&quot;)&lt;br /&gt;&quot;;
   }
   echo &quot;&lt;hr /&gt;&quot;;
  }
  ?&gt;
 &lt;/body&gt;
&lt;/hmtl&gt;
</pre>
<p>แบบที่ 2 การเขียนแบบแยกส่วน<br />
File connect.php</p>
<pre class="brush: php; title: ; notranslate">
&lt;?
$conn = mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;&quot;);
mysql_select_db(&quot;football&quot;);
function excuteQuery($sql){
 $query = mysql_query(&quot;Select id,name from team order by id&quot;);
 $return = array();
 while($row=mysql_fetch_array($query)) {
  $return[] = $row;
 }
return $return;
}
?&gt;
</pre>
<p>File team.php</p>
<pre class="brush: php; title: ; notranslate">
require(&quot;connect.php&quot;); //นำเข้าข้อมูลใน connect.php เหมือนกับว่าไฟลนี้มีทุกๆ อย่างเหมือน connect.php
&lt;html&gt;
 &lt;head&gt;
  &lt;title&gt;Inquiry&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;
  &lt;?
  $team = excuteQuery(&quot;Select id,name from team order by id&quot;);
  for($i=0; $i&lt;count($team); $i++){
  ?&gt;
  &lt;h3&gt;Team &lt;?=$team[$i][&quot;name&quot;]?&gt;&lt;/h3&gt;
  &lt;?
   $player = excuteQuery(&quot;select name,position,number from player where team = &quot;.$team[$i][&quot;id&quot;].&quot; order by number&quot;);
   for($n=0; $n&lt;count($player); $n++){
    echo $player[$n][&quot;number&quot;].&quot; &quot;.$player[$n][&quot;name&quot;].&quot; (&quot;.$player[$n][&quot;position&quot;].&quot;)&lt;br /&gt;&quot;;
   }
   echo &quot;&lt;hr /&gt;&quot;;
  }
  ?&gt;
 &lt;/body&gt;
&lt;/hmtl&gt;
</pre>
<p>ซึ่งข้อมูลเบื้องหลังก็จะได้</p>
<pre class="brush: php; title: ; notranslate">
$conn = mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;&quot;);
mysql_select_db(&quot;football&quot;);
function excuteQuery($sql){
 $query = mysql_query(&quot;Select id,name from team order by id&quot;);
 $return = array();
 while($row=mysql_fetch_array($query)) {
  $return[] = $row;
 }
return $return;
}
&lt;html&gt;
 &lt;head&gt;
  &lt;title&gt;Inquiry&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;
  &lt;?
  $team = excuteQuery(&quot;Select id,name from team order by id&quot;);
  for($i=0; $i&lt;count($team); $i++){
  ?&gt;
  &lt;h3&gt;Team &lt;?=$team[$i][&quot;name&quot;]?&gt;&lt;/h3&gt;
  &lt;?
   $player = excuteQuery(&quot;select name,position,number from player where team = &quot;.$team[$i][&quot;id&quot;].&quot; order by number&quot;);
   for($n=0; $n&lt;count($player); $n++){
    echo $player[$n][&quot;number&quot;].&quot; &quot;.$player[$n][&quot;name&quot;].&quot; (&quot;.$player[$n][&quot;position&quot;].&quot;)&lt;br /&gt;&quot;;
   }
   echo &quot;&lt;hr /&gt;&quot;;
  }
  ?&gt;
 &lt;/body&gt;
&lt;/hmtl&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/php-include/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android ดึงภาพจากเว็บมาแสดงใน ImageView</title>
		<link>http://www.itcyber.com/android-remote-imageview</link>
		<comments>http://www.itcyber.com/android-remote-imageview#comments</comments>
		<pubDate>Tue, 02 Aug 2011 13:54:59 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[imageView]]></category>
		<category><![CDATA[URLConnection]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=297</guid>
		<description><![CDATA[ImageView มีวิธีที่จะเอารูปภายนอกโปรแกรมมาใช้ โดยผ่าน Method setImageURI(String) แต่นั้นสิ มันสามารถใช้ได้เฉพาะรูปที่อยู่ใน SD Card หรืออยู่ในเครื่องได้เท่านั้น แต่ถ้าหากจะเอารูปภายนอก เช่นอยากจะเอารูปถ่ายดาวเที่ยมล่าสุดจากเว็บต่างๆ มาแสดงในโปรแกรม โปรแกรมนั้นจำเป็นต้อง Connect Internet เพื่อดึงรูปภาพมาแสดง แต่จะแสดงยังไงได้หล่ะในเมื่อ setImageURI ใช้ได้เฉพาะรูปภาพที่อยู่ภายในเครื่องหรือ SD เท่านั้น บทความนี้ผมก็จะเสนอวิธีการนำรูปภาพดังกล่าวมาใส่โปรแกรมของเราซึ่งมีขั้นตอนดังนี้ ส่วนแรก ผมตั้งชื่อว่า fetchImage จะใช้ในการเป็น Method ที่ช่วยดึงข้อมูลรูปภาพจาก URL ที่เรียก โดยจะส่งกลับเป็น Bitmap ส่วนที่ 2 จะเป็นส่วนเรียกใช้ เพื่อความเข้าใจต่อผู้อ่านแล้วกัน โดยจะมี 2 วิธีที่สามารถเอาข้อมูล Bitmap ไปใส่ใน ImageView ได้]]></description>
			<content:encoded><![CDATA[<p><strong>ImageView</strong> มีวิธีที่จะเอารูปภายนอกโปรแกรมมาใช้ โดยผ่าน Method <em>setImageURI(String)</em> แต่นั้นสิ มันสามารถใช้ได้เฉพาะรูปที่อยู่ใน SD Card หรืออยู่ในเครื่องได้เท่านั้น</p>
<p>แต่ถ้าหากจะเอารูปภายนอก เช่นอยากจะเอารูปถ่ายดาวเที่ยมล่าสุดจากเว็บต่างๆ มาแสดงในโปรแกรม โปรแกรมนั้นจำเป็นต้อง Connect Internet เพื่อดึงรูปภาพมาแสดง แต่จะแสดงยังไงได้หล่ะในเมื่อ setImageURI ใช้ได้เฉพาะรูปภาพที่อยู่ภายในเครื่องหรือ SD เท่านั้น</p>
<p>บทความนี้ผมก็จะเสนอวิธีการนำรูปภาพดังกล่าวมาใส่โปรแกรมของเราซึ่งมีขั้นตอนดังนี้</p>
<p><strong>ส่วนแรก</strong> ผมตั้งชื่อว่า fetchImage จะใช้ในการเป็น Method ที่ช่วยดึงข้อมูลรูปภาพจาก URL ที่เรียก โดยจะส่งกลับเป็น Bitmap<span id="more-297"></span></p>
<pre class="brush: java; title: ; notranslate">
public Bitmap fetchImage( String imageUrl )
{
    try
    {
        URL url = new URL( imageUrl.trim() ); // imageUrl คือ url ของรูปภาพ
        InputStream input = null;
        URLConnection conn = url.openConnection();
        HttpURLConnection httpConn = (HttpURLConnection)conn;
    	httpConn.setRequestMethod(&quot;GET&quot;);
    	httpConn.setReadTimeout(40000); // ตั้งเวลา  connect timeout
    	httpConn.connect(); // connection

    	if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
    		input = httpConn.getInputStream(); // จับใส่ InputStream
    	}
    	Bitmap bitmap = BitmapFactory.decodeStream(input); //แปลงเป็น Bitmap
    	input.close();
    	httpConn.disconnect();
        return bitmap;

    }
    catch ( MalformedURLException e ){
    	Log.d(&quot;fetchImage&quot;,
    			&quot;MalformedURLException invalid URL: &quot; + imageUrl );
    }catch ( IOException e ){
    	Log.d(&quot;fetchImage&quot;,&quot;IO exception: &quot; + e);
    }catch(Exception e){
    	Log.d(&quot;fetchImage&quot;,&quot;Exception: &quot; + e);
    }
    return null;
}
</pre>
<p><strong>ส่วนที่ 2</strong> จะเป็นส่วนเรียกใช้ เพื่อความเข้าใจต่อผู้อ่านแล้วกัน โดยจะมี 2 วิธีที่สามารถเอาข้อมูล Bitmap ไปใส่ใน ImageView ได้</p>
<pre class="brush: java; title: ; notranslate">
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    image1 = (ImageView) findViewById(R.id.imageView1);
    image2 = (ImageView) findViewById(R.id.imageView2);

    String imgurl = &quot;http://www.kitco.com/images/live/gold.gif&quot;
    // แบบที่ 1
    image1.setImageBitmap(fetchImage( imgurl ));
    // แบบที่ 2
    image2.setImageDrawable(new BitmapDrawable(fetchImage( imgurl )));
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/android-remote-imageview/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android การนำรูปภาพมาใส่ในโปรแกรม</title>
		<link>http://www.itcyber.com/android-include-image</link>
		<comments>http://www.itcyber.com/android-include-image#comments</comments>
		<pubDate>Tue, 02 Aug 2011 09:10:52 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[imageView]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=289</guid>
		<description><![CDATA[การนำเข้ารูปภาพสามารถทำได้ง่ายๆ คือ สร้าง Folder ชื่อว่า drawable ใน res คลิ๊กขวา drawable เลือก Import ให้เราเลือก General -&#62; File System เสร็จแล้วกด Next เลือกข้อมูลรูปภาพที่จะเพิ่มเข้ามาใน Project Android โดยให้เราเลือก Directory ก่อน แล้วจะมีรูปภาพให้เลือก จากนั้นให้เรากด Finish รูปภาพก็จะมาอยู่ใน โปรแกรมเราแล้ว ส่วนวิธีใช้งาน ให้เราลองทดสอบสร้าง ImageView ก่อน เสร็จแล้วให้เราไปดูที่ Properties ในส่วนของ src ให้เรากดเลือก src ใหม่ โดยกดปุ่มด้านหลังสุด ของผมจะเป็นชื่อรูปว่า lovethai เลือกเสร็จกด ok เท่านี้รูปก็จะมาปรากฎที่โปรแกรมของเราแล้ว]]></description>
			<content:encoded><![CDATA[<p>การนำเข้ารูปภาพสามารถทำได้ง่ายๆ คือ</p>
<ol>
<li>สร้าง Folder ชื่อว่า drawable ใน res</li>
<li>คลิ๊กขวา drawable เลือก Import ให้เราเลือก General -&gt; File System เสร็จแล้วกด Next</li>
<li>เลือกข้อมูลรูปภาพที่จะเพิ่มเข้ามาใน Project Android โดยให้เราเลือก Directory ก่อน แล้วจะมีรูปภาพให้เลือก จากนั้นให้เรากด Finish รูปภาพก็จะมาอยู่ใน โปรแกรมเราแล้ว</li>
</ol>
<div>ส่วนวิธีใช้งาน</div>
<div>ให้เราลองทดสอบสร้าง ImageView ก่อน</div>
<div><img class="alignnone size-full wp-image-290" title="ImageView Android" src="http://www.itcyber.com/wp-content/uploads/2011/08/01.jpg" alt="" width="338" height="295" /></div>
<div><span id="more-289"></span></div>
<div>เสร็จแล้วให้เราไปดูที่ Properties ในส่วนของ src</div>
<div><img class="alignnone size-full wp-image-291" title="ImageView Properties src" src="http://www.itcyber.com/wp-content/uploads/2011/08/02.jpg" alt="" width="391" height="276" /></div>
<div>ให้เรากดเลือก src ใหม่ โดยกดปุ่มด้านหลังสุด</div>
<div><img class="alignnone size-full wp-image-292" title="03" src="http://www.itcyber.com/wp-content/uploads/2011/08/03.jpg" alt="" width="392" height="436" /></div>
<div>ของผมจะเป็นชื่อรูปว่า lovethai เลือกเสร็จกด ok</div>
<div>เท่านี้รูปก็จะมาปรากฎที่โปรแกรมของเราแล้ว</div>
<div><img class="alignnone size-full wp-image-293" title="04" src="http://www.itcyber.com/wp-content/uploads/2011/08/04.jpg" alt="" width="419" height="375" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/android-include-image/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>parseInt(&#8220;08&#8243;) ใน js ทำไมค่าที่ออกมาถึงเป็น 0</title>
		<link>http://www.itcyber.com/parseint-on-javascript</link>
		<comments>http://www.itcyber.com/parseint-on-javascript#comments</comments>
		<pubDate>Tue, 30 Nov 2010 14:23:39 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Decimal]]></category>
		<category><![CDATA[Hexadecimal]]></category>
		<category><![CDATA[w3schools]]></category>
		<category><![CDATA[Warning]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=267</guid>
		<description><![CDATA[ปัญหานี้ผมก็เคยเจอมาครั้งแรกก็วันนี้ ซึ่งจะว่าเป็น bug ก็ไม่น่าจะใช่(อ่านจบแล้วจะรู้) ซึ่งปัญหาเกิดจาก ค่าใน parseInt ที่โปรแกรมเมอร์ต้องการจะเปลี่ยนเป็นข้อความชนิด String เป็น int มี 0 นำหน้าตัวเลขอื่น เป็นเลขฐาน 8 แต่ เมื่อมาสังเกตุดูที่ ตัวอักษรที่มี 8 และ 9 แล้ว โปรแกรมก็เหมือนจะตัดตั้งแต่ 8 และ 9 ทิ้งไปเลย สักเกตุได้จาก 08 = 0, 018 = 1, 028 = 2, 080 = 0, 077 = 63, 0100 = 64, 0101 = 65 เอาแล้วละสิ แล้วจะแปลงเป็นเลขฐาน 10 ได้ไง เมื่อผมเจอปัญหานี้ผมก็พิมพ์ค้นหาก่อนเลย [...]]]></description>
			<content:encoded><![CDATA[<p>ปัญหานี้ผมก็เคยเจอมาครั้งแรกก็วันนี้ ซึ่งจะว่าเป็น bug ก็ไม่น่าจะใช่(อ่านจบแล้วจะรู้) ซึ่งปัญหาเกิดจาก ค่าใน parseInt ที่โปรแกรมเมอร์ต้องการจะเปลี่ยนเป็นข้อความชนิด String เป็น int มี 0 นำหน้าตัวเลขอื่น เป็นเลขฐาน 8 แต่ เมื่อมาสังเกตุดูที่ ตัวอักษรที่มี 8 และ 9 แล้ว โปรแกรมก็เหมือนจะตัดตั้งแต่ 8 และ 9 ทิ้งไปเลย สักเกตุได้จาก 08 = 0, 018 = 1, 028 = 2, 080 = 0, 077 = 63, 0100 = 64, 0101 = 65</p>
<p>เอาแล้วละสิ แล้วจะแปลงเป็นเลขฐาน 10 ได้ไง</p>
<p>เมื่อผมเจอปัญหานี้ผมก็พิมพ์ค้นหาก่อนเลย ปรากฏว่า เจอใน w3schools เลย ซึ่งมันบอกไว้ว่า<span id="more-267"></span></p>
<ul>
<li>หากข้อความที่ขึ้นต้นด้วย 0x ก็คือเลขฐาน 16</li>
<li>หากข้อความที่ขึ้นต้นด้วย 0 ก็คือเลขฐาน 7</li>
<li>นอกนั้นคือ เลขฐาน 10</li>
</ul>
<p>ซึ่งเมื่ออ่านดูแล้ว syntex ของ parseInt() จะมีพารามิเตอร์ทั้งหมด 2 ตัว คือ</p>
<ol>
<li>string คือ ตัวข้อความที่เราต้องการจะแปลงเป็นตัวเลข</li>
<li>radix คือ ตัวที่บงบอกว่า ข้อความที่เราต้องการแปลงให้เป็นตัวเลข เป็นเลขฐานอะไร</li>
</ol>
<p>เหอะ ๆ แต่ ทำไม 8 และ 9 ใน เลขฐาน 8 มันไม่ error หรือเปลี่ยนค่าเริ่มต้น(radix) ให้เป็นฐาน 10 แทนที่จะเปลี่ยนเป็น 8 9 เป็นตัวอักษร ที่ต้องตัดทิ้ง อันนี้ผมก็ไม่เข้าใจ คนสร้าง function parseInt() ใน js เหมือนกัน</p>
<p><strong>สรุป </strong>หาต้องการใช้ parseInt() แนะนำให้ใส่ radix ไปด้วย</p>
<p><strong>ตัวอย่างเช่น </strong></p>
<pre class="brush: jscript; title: ; notranslate">

var eight = parseInt(&quot;08&quot;,10); // == 8

var seven =parseInt(&quot;Se7en&quot;,10); // == NaN

var six = parseInt(&quot;6 - 9&quot;,10); // == 6
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/parseint-on-javascript/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thai To English Keyboard 1.0</title>
		<link>http://www.itcyber.com/thai-to-english-keyboard-1-0</link>
		<comments>http://www.itcyber.com/thai-to-english-keyboard-1-0#comments</comments>
		<pubDate>Fri, 06 Aug 2010 07:21:23 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[APK]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=190</guid>
		<description><![CDATA[ที่ผมทำตัวนี้ขึ้นมาเนื่องจาก ผมเองประสบกับปัญหา พิมพ์ pass ไม่ถูก เพราะ ผมจะพิมพ์ ตามภาษาไทย ใน แป้น english ตลอด ทำให้เวลาใช้ Android ผมก็ไม่สามารถที่จะรู้ได้ว่าตัวอักษรไทย มันตรงกับตัวใดของ อังกฤษ การทำงานของโปรแกรมนี้คือ จะมี input ให้ป้อนข้อมูล ภาษาไทย หรืออังกฤษก็ได้ แต่ไม่สามารถเปลี่ยนภาษากลั้นกลางเอาไว้ได้ เมื่อป้อนเสร็จแล้ว กดปุ่มสลับอักษร โปรแกรมก็จะทำการเปลี่ยนตัวอักษรตามแป้นพิมพ์ให้โดยอัตโนมัติ เช่น รักไอที =&#62; iydwvmu คนโสด =&#62; 8oFlf เป็นต้น Thai To English Keyboard 1.0 &#160; ทดสอบ Android 1.6 ใน Wellcom A88 ทดสอบ Android 2.2.2 ใน Wellcom A99 ดาวน์โหลด!]]></description>
			<content:encoded><![CDATA[<p>ที่ผมทำตัวนี้ขึ้นมาเนื่องจาก ผมเองประสบกับปัญหา พิมพ์ pass ไม่ถูก เพราะ ผมจะพิมพ์ ตามภาษาไทย ใน แป้น english ตลอด ทำให้เวลาใช้ Android ผมก็ไม่สามารถที่จะรู้ได้ว่าตัวอักษรไทย มันตรงกับตัวใดของ อังกฤษ</p>
<p>การทำงานของโปรแกรมนี้คือ</p>
<p>จะมี input ให้ป้อนข้อมูล ภาษาไทย หรืออังกฤษก็ได้ แต่ไม่สามารถเปลี่ยนภาษากลั้นกลางเอาไว้ได้</p>
<p>เมื่อป้อนเสร็จแล้ว กดปุ่มสลับอักษร โปรแกรมก็จะทำการเปลี่ยนตัวอักษรตามแป้นพิมพ์ให้โดยอัตโนมัติ<span id="more-190"></span></p>
<p>เช่น</p>
<p>รักไอที =&gt; iydwvmu</p>
<p>คนโสด =&gt; 8oFlf</p>
<p>เป็นต้น</p>
<hr />
<p><span style="color: #ff0000;">Thai To English Keyboard 1.0</span></p>
<p>&nbsp;</p>
<p><span style="color: #ff0000;">ทดสอบ Android 1.6 ใน Wellcom A88</span></p>
<p><span style="color: #ff0000;">ทดสอบ Android 2.2.2 ใน Wellcom A99<br />
</span></p>
<p><a href="http://download.itcyber.com/ThaiToEng.apk">ดาวน์โหลด!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/thai-to-english-keyboard-1-0/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>เริ่มต้นกับการพัฒนาโปรแกรมใน Android</title>
		<link>http://www.itcyber.com/start-android-dev</link>
		<comments>http://www.itcyber.com/start-android-dev#comments</comments>
		<pubDate>Fri, 23 Jul 2010 09:04:16 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=166</guid>
		<description><![CDATA[บทความนี้จะเป็นการแนะนำการเริ่มต้น การพัฒนาโปรแกรมลงในมือถือ Android ซึ่งมันก็ไม่ยากอย่างที่ทุกๆ คนคิดกัน บทความนี้เหมาะสมกับ ผู้ที่มีพื้นฐานการพัฒนาโปรแกรมทางด้าน C / Java / PHP / และผู้ที่รู้เรื่องเกี่ยวกับการเขียนประแกรมรูปแบบ OOP ไม่รู้เรื่องเกี่ยวกับการเขียนโปรแกรมลง android มาก่อน หล่อ สวย หน้าตาดี ใจรัก เริ่มต้นจาก การรู้จักเว็บ Android Developers http://developer.android.com ภายในหน้านั้น ก็จะประกอบด้วยเนื้อหาต่างๆ ให้เราอ่านดูเล่น ไม่ต้องสนใจอะไรมากครับให้เรากดที่ Tab SDK เพื่อดาว์นโหลด Android SDK เช่น android-sdk_r06-windows.zip จากนั้น ต่อไปเราก็ต้องไปโหลดเครื่องมือพัฒนา โดยในเว็บผมเห็นมีแต่แนะนำ Eclipse IDE ซึ่งสามารถเข้าไปโหลดได้ที่ http://www.eclipse.org/downloads ซึ่งมันสามารถใช้ได้แค่ Eclipse 3.4 (Ganymede) หรือ Eclipse 3.5 (Galileo) ผมก็จะแนะนำ 3.5 [...]]]></description>
			<content:encoded><![CDATA[<p>บทความนี้จะเป็นการแนะนำการเริ่มต้น การพัฒนาโปรแกรมลงในมือถือ Android ซึ่งมันก็ไม่ยากอย่างที่ทุกๆ คนคิดกัน</p>
<p>บทความนี้เหมาะสมกับ</p>
<ol>
<li>ผู้ที่มีพื้นฐานการพัฒนาโปรแกรมทางด้าน C / Java / PHP / และผู้ที่รู้เรื่องเกี่ยวกับการเขียนประแกรมรูปแบบ OOP</li>
<li>ไม่รู้เรื่องเกี่ยวกับการเขียนโปรแกรมลง android มาก่อน</li>
<li>หล่อ สวย หน้าตาดี</li>
<li>ใจรัก</li>
</ol>
<p>เริ่มต้นจาก การรู้จักเว็บ Android Developers<a title="http://developer.android.com" href="http://developer.android.com"> http://developer.android.com</a> ภายในหน้านั้น ก็จะประกอบด้วยเนื้อหาต่างๆ ให้เราอ่านดูเล่น ไม่ต้องสนใจอะไรมากครับให้เรากดที่ Tab SDK เพื่อดาว์นโหลด Android SDK เช่น <a href="http://dl.google.com/android/android-sdk_r06-windows.zip">android-sdk_r06-windows.zip</a> <span id="more-166"></span></p>
<p>จากนั้น ต่อไปเราก็ต้องไปโหลดเครื่องมือพัฒนา โดยในเว็บผมเห็นมีแต่แนะนำ Eclipse IDE ซึ่งสามารถเข้าไปโหลดได้ที่ <a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads</a> ซึ่งมันสามารถใช้ได้แค่ Eclipse 3.4 (Ganymede) หรือ Eclipse 3.5 (Galileo) ผมก็จะแนะนำ 3.5 ก็แล้ว กัน เพราะมันคือ version ที่ใหม่กว่าน่าจะดีกว่ามั่ง(อันนี้ไม่รู้) ซึ่งสามารถเข้าดาว์นโหลดได้ที่ <a href="http://www.eclipse.org/downloads/packages/release/galileo/sr2">http://www.eclipse.org/downloads/packages/release/galileo/sr2</a></p>
<p>eclipse จะสามารถที่จะรันได้ จำเป็นต้องมี JDK สามารถดาว์นโหลดได้ที่ <a href="http://java.sun.com/javase/downloads/widget/jdk6.jsp">http://java.sun.com/javase/downloads/widget/jdk6.jsp</a></p>
<p>จากนั้น unzip eclipse แล้วทำการรันโปรแกรม eclipse ขึ้นมา เพื่อทำการติดตั้ง ADT หรือชื่อเต็มๆ ว่า Android Development Tools</p>
<p>ขั้นตอนการติดตั้ง ADT</p>
<ol>
<li>เปิด Eclipse</li>
<li>ไปที่ Help &gt; Install New Software<br />
<a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-2-52-24-PM.png"><img class="alignnone size-full wp-image-168" title="7-23-2010 2-52-24 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-2-52-24-PM.png" alt="" width="286" height="297" /></a></li>
<li>กดที่ ปุ่ม Add<br />
<a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-2-55-52-PM.png"><img class="alignnone size-full wp-image-169" title="7-23-2010 2-55-52 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-2-55-52-PM.png" alt="" width="498" height="142" /></a></li>
<li> ให้เรากรอกข้อมูล Location เป็น https://dl-ssl.google.com/android/eclipse/ แล้วก็ตั้งชื่อ เสร็จแล้วกดปุ่ม OK<br />
<a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-01-50-PM.png"><img class="alignnone size-full wp-image-170" title="7-23-2010 3-01-50 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-01-50-PM.png" alt="" width="502" height="200" /></a></li>
<li>รอการตรวจสอบจาก จะได้ดังรูป เสร็จแล้วให้เรากด เลือก Checkbox Developer Tools แล้วกด Next เรื่อยๆ จนกว่าจะมีปุ่ม Finish<br />
<a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-06-27-PM.png"><img class="alignnone size-full wp-image-171" title="7-23-2010 3-06-27 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-06-27-PM.png" alt="" width="504" height="274" /></a></li>
<li>จากนั้น กดเลือกทั้ง 2 อย่าง แล้วกด Next ระบบก็จะทำการดาว์นโหลด</li>
<li>เมื่อดาว์นโหลดเสร็จแล้วกด Finish จากนั้นให้เปิด eclipse ใหม่อีกครั้ง</li>
<li>เมื่อเปิด eclipse ใหม่อีกครั้งคราวนี้เราจะเห็นว่ามี Android SDK and ADV Manager<br />
อยู่ใน Window &gt; Android SDK and ADV Manager<br />
<a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-15-46-PM.png"><img class="alignnone size-full wp-image-172" title="7-23-2010 3-15-46 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-15-46-PM.png" alt="" width="284" height="345" /></a></li>
<li>ให้เราทำการติดตั้ง Packages ต่างๆ ของ Android จะเลือกหมดก็ได้หรือจะเลือกตามที่ต้อง การพัฒนาอย่างเดียวก็ได้ เสร็จแล้วกด Install Selected<br />
<a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-14-59-PM.png"><img class="alignnone size-full wp-image-174" title="7-23-2010 3-14-59 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-14-59-PM.png" alt="" width="507" height="302" /></a></li>
<li>ให้ไปดูที่ Install Packages จะเห็นว่ามี package ไหนได้ถูกติดตั้งไปบ้าง</li>
<li>ต่อไปให้เราไปที่ Virtual Devices เพื่อสร้างตัวจำลองขึ้นมา 1 ตัวไว้ใช้ทดสอบ<br />
<a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-31-49-PM.png"><img class="alignnone size-full wp-image-175" title="7-23-2010 3-31-49 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-31-49-PM.png" alt="" width="505" height="294" /><br />
</a><a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-32-35-PM.png"><img class="alignnone size-full wp-image-176" title="7-23-2010 3-32-35 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-32-35-PM.png" alt="" width="440" height="582" /></a></li>
<li><a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-31-49-PM.png"></a> เพียงเท่านี้ก็ติดตั้ง eclipse เพื่อที่จะได้พัฒนา Android ต่อไป</li>
</ol>
<p><strong>ทดสอบสร้าง Project</strong></p>
<p>ก่อนอื่นต้องบอกเลยว่า ตอนนี้สามารถพัฒนา โดยใช้ Current Location ของคุณเป็น United States ได้เท่านั้น</p>
<p>สร้างโปรโจคก็เหมือนกัยสร้าง Java Project แต่เปลี่ยนเป็น Android Project</p>
<p>เสร็จแล้วตั้งค่าต่างๆ ตามตัวอย่างก็ได้</p>
<p><a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-48-32-PM.png"><img class="alignnone size-full wp-image-177" title="7-23-2010 3-48-32 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-48-32-PM.png" alt="" width="505" height="550" /></a></p>
<p>ใส่ข้อมูลแล้วก็ Finish ได้เลย แล้วรอระบบบิ้วนิดหน่อย ก็สามารถทดลองรันได้เลย</p>
<p><span style="color: #ff0000;">หาก Error โปรดตรวจสอบว่า Current Location ของคุณเป็น United States หรือยัง</span></p>
<p><a href="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-56-36-PM.png"><img class="alignnone size-full wp-image-178" title="7-23-2010 3-56-36 PM" src="http://www.itcyber.com/wp-content/uploads/2010/07/7-23-2010-3-56-36-PM.png" alt="" width="484" height="274" /></a></p>
<p>มีอะไรสงสัย Comment ถามได้ครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/start-android-dev/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>PHP5 กับการทำสอบเขียนแบบ OOP</title>
		<link>http://www.itcyber.com/php5-oop</link>
		<comments>http://www.itcyber.com/php5-oop#comments</comments>
		<pubDate>Mon, 14 Jun 2010 10:39:31 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[OOP]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=158</guid>
		<description><![CDATA[ใจจริงผมก็จะเขียนบทความเกี่ยวกับ การติดต่อฐานข้อมูลก่อน แต่อานะ หลายๆ เว็บมันก็มีแล้ว ทำยังไงหล่ะจะให้มันแปลกกว่าที่อื่นผมก็เลย เอ้ เอาเป็นว่าจะเขียน เป็น php ติดต่อกับ MySQLi แต่ก็อานะ อยากจะให้ติดต่อแบบ mysqli เป็น oop สักหน่อย เพราะต่อไป หลายคนก็อยากจะเขียนวิธีนี้เพราะมันเขียนได้สะดวกและสั้นกว่า แต่ถ้าหากผมจะส่วนวิธีการเขียนติดต่อฐานข้อมูลแบบ oo แล้ว หลายคนอาจจะงงได้ เพราะไม่ต้องว่ามันคืออะไรสัญลักษณ์อะไร ซึ่งในบทนี้ผมจะสอนแค่เบื้องต้นเท่านั้น(สอนมากกลัวว่าจะสอนแบบผิด ๆ) ผมไม่อยากบอกว่า OOP มันคืออะไร เพราะคุณสามารถที่จะหาได้ผ่าน google และเมื่อท่านอ่านก็จะรู้ว่า มันจะประกอบด้วยส่วนต่างๆ มากมาย แต่ยังไง php5 มันก็ไม่ใช่ OOP ที่สมบูรณ์มากนัก เพราะลอกเพื่อนอย่าง java มาไม่หมด เอาละนะเริ่มจาก class เลยนะ class ใน php ไม่ได้อยู่ภายใน package เหมือน java (อันนี้ผมไม่แน่ใจเท่าไร)  แต่ก็อานะ [...]]]></description>
			<content:encoded><![CDATA[<p>ใจจริงผมก็จะเขียนบทความเกี่ยวกับ การติดต่อฐานข้อมูลก่อน แต่อานะ หลายๆ เว็บมันก็มีแล้ว ทำยังไงหล่ะจะให้มันแปลกกว่าที่อื่นผมก็เลย เอ้ เอาเป็นว่าจะเขียน เป็น php ติดต่อกับ MySQLi แต่ก็อานะ อยากจะให้ติดต่อแบบ mysqli เป็น oop สักหน่อย เพราะต่อไป หลายคนก็อยากจะเขียนวิธีนี้เพราะมันเขียนได้สะดวกและสั้นกว่า แต่ถ้าหากผมจะส่วนวิธีการเขียนติดต่อฐานข้อมูลแบบ oo แล้ว หลายคนอาจจะงงได้ เพราะไม่ต้องว่ามันคืออะไรสัญลักษณ์อะไร ซึ่งในบทนี้ผมจะสอนแค่เบื้องต้นเท่านั้น(สอนมากกลัวว่าจะสอนแบบผิด ๆ)</p>
<p>ผมไม่อยากบอกว่า <a href="http://www.google.co.th/search?hl=th&amp;source=hp&amp;q=oop&amp;aq=f&amp;aqi=g10&amp;aql=&amp;oq=&amp;gs_rfai="><strong>OOP</strong></a><strong> </strong>มันคืออะไร เพราะคุณสามารถที่จะหาได้ผ่าน google และเมื่อท่านอ่านก็จะรู้ว่า มันจะประกอบด้วยส่วนต่างๆ มากมาย แต่ยังไง php5 มันก็ไม่ใช่ OOP ที่สมบูรณ์มากนัก เพราะลอกเพื่อนอย่าง java มาไม่หมด</p>
<p>เอาละนะเริ่มจาก class เลยนะ class ใน php ไม่ได้อยู่ภายใน package เหมือน java (อันนี้ผมไม่แน่ใจเท่าไร)  แต่ก็อานะ ที่ผมเขียน  class ที่อยู่คนละ file กัน  php มันจะต้อง include หรือ require มาก่อน มันถึงจะเห็น class นั้น ๆ ได้<span id="more-158"></span></p>
<p><strong>ส่วนประกอบของ class</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?
class ClassName{
   $name = &quot;eXscript&quot;;
   function __construct() { // หรือ function ClassName(){ ก็ได้แล้วแต่ความจำของตัวเอง
      echo 'hi!';
   }
   function hello($name){
      echo &quot;hello &quot;.$name.&quot;.&quot;;
   }
   function hello2($name){
      echo &quot;hello &quot;.$this-&gt;name.&quot;.&quot;;
   }
   function welcome(){
      echo $this-&gt;hello($this-&gt;name).&quot; Welcome to OOP.&quot;;
   }
}
?&gt;
</pre>
<p>มอง ๆ แล้ว ลักษณะโครงสร้าง จะเหมือนกัน java แต่มันไม่ได้อยู่ใน package จึ่งมีลักษณะ class-&gt;function-&gt;&#8230; ส่วนลักษณะการทำงาน หากเราจะเรียนใช้ class นี้ จะต้องสร้าง พื้นที่ให้มันอยู่ ก่อน หรือบางคนอาจจะบอกว่า สร้าง object ก่อน เหมือนเดิม object คืออะไรให้ไปหาใน google, yahoo ,หรือ bing ตามความสามารถของท่าน แต่คนไทยอย่างผมต้อง google ไว้ก่อน</p>
<p>วิธีการสร้าง object นั้นคือ คำสั่ง new ส่วนจะไปเก็บที่ object ไหนก็แล้วแต่ท่านจะกำหนด ตัวอย่างเช่น</p>
<pre class="brush: php; title: ; notranslate">
$myobj = new ClassName();
// ผลลัพธ์ออกคำว่า hi! เพราะเมื่อสร้าง object มันจะไปเรียก construct ทันที
</pre>
<p>นี้คือประกาศว่า คุณได้สร้าง object ให้มีคุณสมบัติตามที่กำหนดใน class ClassName ไว้ใน $myobj</p>
<p>แต่ในนี้ เมื่อประกาศสร้าง Object มันก็จะไปเรียกใช้ construct ทันที เลยทำให้แสดงคำว่า hi!</p>
<p>ต่อไปก็คือวิธีเรียก function ภายใน object หรือ function ภายใน class นั้น ๆ หล่ะครับ</p>
<p>ใน java จะใช้ . ในการลงลึกไปภายใน object นั้นเรื่อย ๆ แต่ใน php โดนแย่งการทำงานไปเป็นการต่อ string เรียบร้อยแล้ว เขาจึงหาสัญลักษณ์มาแทนคือ -&gt; ดังนั้นเราจะเรียกใช้ function hello ได้ดังนี้</p>
<pre class="brush: php; title: ; notranslate">
&lt;?
$myobj = new ClassName();
$myobj-&gt;hello(&quot;iAmbAsE&quot;);
// ผลลัพธ์จะแสดงคำว่า hello iAmbAsE.

$myobj-&gt;hello2(&quot;iAmbAsE&quot;);
// ผลลัพธ์จะแสดงคำว่า hello eXscript.

$myobj-&gt;welcome();
// ผลลัพธ์จะแสดงคำว่า hello eXscript. Welcome to OOP.
?&gt;
</pre>
<p>เนื่องจาก function hello จะต้องใส่ parameter ไป 1 ตัวเพื่อไว้ใช้งานต่อใน function นั้น ผมเลยใส่คำว่า iAmbAsE เป็น String ลงไป และสังเกตุได้ว่า $name จะมีอยู่ 2 ตัวคือ ภายใน function และ ภายใน class หากเรา เรียก ผ่าน $this-&gt;name ก็จะแสดงว่า เรียก $name ภายใน class นี้ $name หลังจาก -&gt; ไม่ต้องใส่ $</p>
<p>เขาบอกว่าโปรแกรมเมอร์จะสื่อสารกับคนไม่ค่อยจะรู้เรื่อง มีข้อความในชุดไหนที่ท่านงง หรือสงสัย ขอให้ท่าน comment บอกสอบถามได้นะครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/php5-oop/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP ในเรื่องของ if while และ for</title>
		<link>http://www.itcyber.com/php-if-while-for</link>
		<comments>http://www.itcyber.com/php-if-while-for#comments</comments>
		<pubDate>Mon, 14 Jun 2010 09:11:38 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=132</guid>
		<description><![CDATA[if while for ในการโปรแกรมมิ่ง php จะเป็นคำสั่ง ในการตัดสินใจ ว่าโปรแกรมจะไปต่อยังไง ซึ่งเรามาดูกันทีละตัว if คำสังนี้จะมีใช้ หรือไม่ใช่ โดยตามหลักแล้ว if ก็คือใช้ และ else คือถ้าไม่ใช่ ซึ่งลักษณะการเขียน if(ในนี้จะเป็นการเปรียบเทียบ ค่าที่ได้เป็น boolean:true&#124;false) ตัวอย่าง จากตัวอย่าง ภายใน if และ else จะเป็นการจบคำสั่ง 1 ประโยคคำสั่ง คือสิ้นสุด ; 1 ครั้งได้เท่านั้น ถ้าหากว่า เราต้องการที่จะเขียนหลายประโยคคำสั่ง ให้เราใส่ {} เพื่อบ่งบอกว่ายังอยู่ใน if หรือ else นะ while คำสั่งเงื่อนไขการลูป หรือวนทำงานใหม่ จนกว่าข้อมูลเปรียบเทียบจะเป็นเท็จ ซึ่งลักษณะการเขียนจะมีลักษณะดังนี้ ผลที่ได้คือ 0123456789 ส่วน for จะมีการเขียนได้หลายรูปแบบตามลักษณะของงาน ซึ่งในนี้ผมจะสอนแค่วิธีที่โปรแกรมเมอร์ทั่วไปใช้อยู่เป็นประจำคือ [...]]]></description>
			<content:encoded><![CDATA[<p>if while for ในการโปรแกรมมิ่ง php จะเป็นคำสั่ง ในการตัดสินใจ ว่าโปรแกรมจะไปต่อยังไง ซึ่งเรามาดูกันทีละตัว</p>
<p><strong>if</strong> คำสังนี้จะมีใช้ หรือไม่ใช่ โดยตามหลักแล้ว if ก็คือใช้ และ else คือถ้าไม่ใช่ ซึ่งลักษณะการเขียน if(ในนี้จะเป็นการเปรียบเทียบ ค่าที่ได้เป็น boolean:true|false) ตัวอย่าง</p>
<pre class="brush: php; title: ; notranslate">
&lt;?
$val = 3;
if(1+2 == 3)
   echo &quot;Yes.&quot;;
else
   echo &quot;No.&quot;;
?&gt;
</pre>
<p>จากตัวอย่าง ภายใน if และ else จะเป็นการจบคำสั่ง 1 ประโยคคำสั่ง คือสิ้นสุด ; 1 ครั้งได้เท่านั้น ถ้าหากว่า เราต้องการที่จะเขียนหลายประโยคคำสั่ง ให้เราใส่ {} เพื่อบ่งบอกว่ายังอยู่ใน if หรือ else นะ<span id="more-132"></span></p>
<pre class="brush: php; title: ; notranslate">
&lt;?
$ex = 0;
if(1==1){
   echo &quot;true&quot;;
   $ex = 1;
}else
   echo &quot;false&quot;;
?&gt;
</pre>
<p><strong>while</strong> คำสั่งเงื่อนไขการลูป หรือวนทำงานใหม่ จนกว่าข้อมูลเปรียบเทียบจะเป็นเท็จ ซึ่งลักษณะการเขียนจะมีลักษณะดังนี้</p>
<pre class="brush: php; title: ; notranslate">
&lt;?
$i = 0;
while($i&lt;10){
   echo $i;
   $i++;
}
?&gt;
</pre>
<p>ผลที่ได้คือ 0123456789</p>
<p>ส่วน <strong>for</strong> จะมีการเขียนได้หลายรูปแบบตามลักษณะของงาน ซึ่งในนี้ผมจะสอนแค่วิธีที่โปรแกรมเมอร์ทั่วไปใช้อยู่เป็นประจำคือ for(เริ่ม;ตรวจสอบเงื่อนไข;หลังการลูปแต่ละรอบ) ตัวอย่างเช่น</p>
<pre class="brush: php; title: ; notranslate">
&lt;?
for($i=0;$i&lt;10;$i++){
   echo $i;
}
?&gt;
</pre>
<p>ซึ่งตัวอย่างนี้ก็จะทำงานเหมือน while คือค่าที่ได้ เท่ากับ 0123456789 ซึ่ง $i=0; มันจะทำครั้งเดียวเมื่อเริ่ม แล้วก็เข้าตรวสอบ $i&lt;10; หรือไม่ ถ้าไม่ก็จัดการภายใน {} นั้น และเมื่อทำเสร็จในแต่ละรอบ ก็จะทำการ $i++; หลังเสร็จจากการทำภายใน {} ในรอบนั้น ๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/php-if-while-for/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>โอ๊ตในร่างทหารเรือ</title>
		<link>http://www.itcyber.com/aot-navy</link>
		<comments>http://www.itcyber.com/aot-navy#comments</comments>
		<pubDate>Wed, 09 Jun 2010 06:10:27 +0000</pubDate>
		<dc:creator>iAmbAsE</dc:creator>
				<category><![CDATA[Gallery]]></category>
		<category><![CDATA[aot]]></category>
		<category><![CDATA[navy]]></category>

		<guid isPermaLink="false">http://www.itcyber.com/?p=137</guid>
		<description><![CDATA[รูปนี้ถ่ายในวันที่ 6 มิถุนายน 2553 ซึ่งน้องชายผมได้หยุดพักจากการฝึกซ้อมทหาร ผมก็เลยเก็บภาพมาฝากทุกๆ คน ว่าชายชาติทหารมันเท่ขนาดไหนกัน]]></description>
			<content:encoded><![CDATA[<p>รูปนี้ถ่ายในวันที่ 6 มิถุนายน 2553 ซึ่งน้องชายผมได้หยุดพักจากการฝึกซ้อมทหาร ผมก็เลยเก็บภาพมาฝากทุกๆ คน ว่าชายชาติทหารมันเท่ขนาดไหนกัน</p>

<div class="ngg-galleryoverview" id="ngg-gallery-1-137">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.itcyber.com/aot-navy?show=slide">
			[Show as slideshow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.itcyber.com/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=1&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-1" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.itcyber.com/wp-content/gallery/navy-aot/img_2466.jpg" title=" " class="shutterset_set_1" >
								<img title="img_2466" alt="img_2466" src="http://www.itcyber.com/wp-content/gallery/navy-aot/thumbs/thumbs_img_2466.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-2" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.itcyber.com/wp-content/gallery/navy-aot/img_2467.jpg" title=" " class="shutterset_set_1" >
								<img title="img_2467" alt="img_2467" src="http://www.itcyber.com/wp-content/gallery/navy-aot/thumbs/thumbs_img_2467.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.itcyber.com/wp-content/gallery/navy-aot/img_2468.jpg" title=" " class="shutterset_set_1" >
								<img title="img_2468" alt="img_2468" src="http://www.itcyber.com/wp-content/gallery/navy-aot/thumbs/thumbs_img_2468.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.itcyber.com/wp-content/gallery/navy-aot/img_2469.jpg" title=" " class="shutterset_set_1" >
								<img title="img_2469" alt="img_2469" src="http://www.itcyber.com/wp-content/gallery/navy-aot/thumbs/thumbs_img_2469.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-5" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.itcyber.com/wp-content/gallery/navy-aot/img_2476.jpg" title=" " class="shutterset_set_1" >
								<img title="img_2476" alt="img_2476" src="http://www.itcyber.com/wp-content/gallery/navy-aot/thumbs/thumbs_img_2476.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.itcyber.com/aot-navy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

