<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Dev in Thailand</title><description></description><managingEditor>noreply@blogger.com (Thailand Computer Knowledge)</managingEditor><pubDate>Thu, 19 Sep 2024 05:20:28 -0700</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">8</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://devinthailand.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle/><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>tet</title><link>http://devinthailand.blogspot.com/2011/05/tet.html</link><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Sat, 21 May 2011 03:37:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-8135400528441009309</guid><description>&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; test</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>เริ่มต้นการพัฒนา Application บน Android ภาค 1</title><link>http://devinthailand.blogspot.com/2010/08/application-android-1.html</link><category>android</category><category>computer science</category><category>developer</category><category>mobile</category><category>opensource</category><category>programming</category><category>เขียนโปรแกรมเริ่มต้น</category><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Wed, 18 Aug 2010 01:00:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-2177545986932264334</guid><description>ขั้นตอนแรกก่อนการพัฒนา Application บน Android เราจะต้องติดตั้ง Tools ในการพัฒนาก่อนดังนี้ครับ&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;ดาวน์โหลด Tools ที่ใช้ในการพัฒนามาก่อนครับตาม link ข้างล่างนี้เลย &lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;ติดตั้ง Java SDK บนเครื่องคิมพิวเตอร์เราก่อนครับ โดยดาวน์โหลดได้จาก &lt;a href="http://www.blogger.com/goog_1099248069"&gt;http://www.java.com/en/download&lt;/a&gt; และทำการติดตั้งครับ&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;ดาวน์โหลด Tools ที่ใช้เขียนโปรแกรมซึ่งเราจะใช้ Tools ที่ชื่อว่า Eclipse ดาวน์โหลดได้ที่ &lt;a href="http://www.eclipse.org/downloads/" target="_blank"&gt;http://www.eclipse.org/downloads/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;ดาวน์โหลด Android SDK &amp;nbsp; &lt;a href="http://developer.android.com/sdk/index.html" target="_blank"&gt;http://developer.android.com/sdk/index.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. ติดตั้ง Android Development Tool Eclipse Plug-in บน Eclipse ซึ่งจะช่วยให้เขียน Android ได้ง่ายขึ้น&lt;br /&gt;
&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp; เปิดโปรแกรม Eclipse ถ้าโปรแกรมถาม Work Space ให้ใช้ค่า default ไปก่อน&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;คลิกที่เมนู&lt;b&gt; Help &amp;gt; Install New Software &lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-hNdE-4RzWzuu-0f9XnVaAVrspRFgZ9mzj5IpnmyxN4pqbMrMPUg09EEoXZTAOrggtx_xauDFeMhtEnHFD6hjgGz1-cQP3lJRs6r_hk5VCOhzJojfC2g1JRQh4ClOknEQngVI_kcKpdc/s320/1.JPG" width="320" /&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;คลิกปุ่ม &lt;b&gt;Add&lt;/b&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt; Name : ใส่ชื่อว่า android&lt;/li&gt;
&lt;li&gt;Location: &lt;a href="https://dl-ssl.google.com/android/eclipse/"&gt;https://dl-ssl.google.com/android/eclipse/&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgxIHIeJBncSErO9FGfSgEg9Frdl81FM9Zm_rOMNlDW5fJeKaj6YBDBhyphenhyphenAxijPdwcmYVoe5SCCaXTeDWB2IGdIp2JyZ9CBmsbhnYFCsAwEwuos_rGZYB4xat2Ew4UFag2zWXWtnL89FuY/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgxIHIeJBncSErO9FGfSgEg9Frdl81FM9Zm_rOMNlDW5fJeKaj6YBDBhyphenhyphenAxijPdwcmYVoe5SCCaXTeDWB2IGdIp2JyZ9CBmsbhnYFCsAwEwuos_rGZYB4xat2Ew4UFag2zWXWtnL89FuY/s320/2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;หลังจากนั้นติ๊กเครื่องหมายถูกในช่อง Android developer ให้หมดตามรูป&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9p9E6VVxeEl6Mt0N8xvvjmf7prn_j6pM3nNURlLW0PK8Gny6IHgsCSO12GaDeLd-1Jvx9PHA-AZtHuVIoroFcZgxZpzQ8ndew4RHOcwLlKjDync_cBpW_WTdjTBQOzqEiYZJ_pCwF4jE/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9p9E6VVxeEl6Mt0N8xvvjmf7prn_j6pM3nNURlLW0PK8Gny6IHgsCSO12GaDeLd-1Jvx9PHA-AZtHuVIoroFcZgxZpzQ8ndew4RHOcwLlKjDync_cBpW_WTdjTBQOzqEiYZJ_pCwF4jE/s320/3.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/ul&gt;&lt;ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;คลิก Next --&amp;gt; Next --&amp;gt; เลือก “I accept the term of the license  agreement.” แล้วกดปุ่ม Finish รอใฟ้ ADT ติดตั้งเสร็จประมาณ 3-5 นาที&lt;/li&gt;
&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRS4PT75OdzyFlsXC7HyXpjG1LnWaXdGvsEXLCyIZOUWD6GBjRCvpZKydSbU_IP0i0t96B6E7iHExH1Pgl13CgA7MTeyEWjgsbBMzF2xsf8JfcE5KjvjwD2OIcuzWnPxGiFx1UFzh0xPQ/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRS4PT75OdzyFlsXC7HyXpjG1LnWaXdGvsEXLCyIZOUWD6GBjRCvpZKydSbU_IP0i0t96B6E7iHExH1Pgl13CgA7MTeyEWjgsbBMzF2xsf8JfcE5KjvjwD2OIcuzWnPxGiFx1UFzh0xPQ/s320/4.JPG" width="320" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;เมื่อติดตั้งเสร็จให้ทำการ Restart Eclipse ใหม่อีกครั้งครับ&lt;/li&gt;
&lt;li&gt;เมื่อ Restart เเล้วจะมี Icon ของ Android โผล่ขึ้นมาบน Menu bar&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul style="text-align: center;"&gt;&lt;ul&gt;&lt;ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYcmeZE3FGS9kNzpDrALbL_XrTztHg2KJ9K9pLu4HB6zpCzh2iHCwGBzmljqg4ULDTxhc6O_sn1RHf5MOZqhlbf0HYJ0EiyznlAx36SJCIZLJUMcksfsIxVq_rVTeXQS4lOtqrCYm5eW0/s1600/5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="46" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYcmeZE3FGS9kNzpDrALbL_XrTztHg2KJ9K9pLu4HB6zpCzh2iHCwGBzmljqg4ULDTxhc6O_sn1RHf5MOZqhlbf0HYJ0EiyznlAx36SJCIZLJUMcksfsIxVq_rVTeXQS4lOtqrCYm5eW0/s320/5.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;หลังจากนั้นคลิกที่เมนู Window --&amp;gt; Preference&lt;/li&gt;
&lt;li&gt;คลิกที่แถบ Android โปรแกรมมันจะขึ้นเตือนว่ายังหา Android SDK ไม่เจอ&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul style="text-align: center;"&gt;&lt;ul&gt;&lt;ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1unzdjcRktLLerv5Sy6fJxCTotmVSOZdVnCr7srtuvtHEfAhJeNXP_75BRHCWbvNeq8_zokbONpgH4VZlKnqrCjUcAAfQ_9MSEIOWsboRuQ2Vzs1uFx4MZiVYGZQdb_TprgAUuIb0-0o/s1600/6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1unzdjcRktLLerv5Sy6fJxCTotmVSOZdVnCr7srtuvtHEfAhJeNXP_75BRHCWbvNeq8_zokbONpgH4VZlKnqrCjUcAAfQ_9MSEIOWsboRuQ2Vzs1uFx4MZiVYGZQdb_TprgAUuIb0-0o/s320/6.JPG" width="320" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;li&gt;ให้เราใส่ path ที่เก็บ Android SDK ที่เราดาวน์โหลด ตามตัวอย่าง&amp;nbsp; D:\Programming\Android\android-sdk-windows แล้วกด OK&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh70OHn-ExOAzTMS5lce-zUTyeuLkk8rVB8NzwlBu-h1c0MS3j4okWj6GO6Q8oh9Wf9u7PraJ-6Qad4kk_FzPzKag66wqAabyleoTgIJ0fDifXUNTUs7fwsLeWRPUAzJTd4m00Q3OiivWc/s1600/7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="77" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh70OHn-ExOAzTMS5lce-zUTyeuLkk8rVB8NzwlBu-h1c0MS3j4okWj6GO6Q8oh9Wf9u7PraJ-6Qad4kk_FzPzKag66wqAabyleoTgIJ0fDifXUNTUs7fwsLeWRPUAzJTd4m00Q3OiivWc/s400/7.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;หลังจากนั้นเลือกเมนู Window --&amp;gt; Android SDK and AVD manager แล้วเลือก  Available packages หลังจากนั้นเลือก package ที่จะติดตั้ง เช่น SDK  android platform 2.1&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEIGNyGXt7AlRRZRD3JKw1H_LU1FmqGlTuNZkyKS3etVnVg5YSnQIk7IkFcJ2XRykup4rNYEcjrllpxg1HsC9dqoi9CueAQzYjbVWwHl1CMl8iHyAQXCsIBCyfdWkEDpq2v3K7Bbzob4o/s1600/9.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEIGNyGXt7AlRRZRD3JKw1H_LU1FmqGlTuNZkyKS3etVnVg5YSnQIk7IkFcJ2XRykup4rNYEcjrllpxg1HsC9dqoi9CueAQzYjbVWwHl1CMl8iHyAQXCsIBCyfdWkEDpq2v3K7Bbzob4o/s400/9.JPG" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;หลังจากเลือก package ที่จะติตั้งแล้วให้กดปุ่ม --&amp;gt; Install selected --&amp;gt; Accept all --&amp;gt; Install รอให้ติดตั้งเสร็จแค่นี้เราก็สามารถเขียนโปรแกรมบน Android ได้เเล้ว&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; การพัฒนา Application บน Android ยังไม่จบเพียงแค่นี้ แล้วผมจะกลับมาเขียนใหม่ในหัวข้อ เริ่มต้นการพัฒนา Application บน Android ภาค 2 ครับ&lt;br /&gt;
&lt;ul&gt;&lt;/ul&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-hNdE-4RzWzuu-0f9XnVaAVrspRFgZ9mzj5IpnmyxN4pqbMrMPUg09EEoXZTAOrggtx_xauDFeMhtEnHFD6hjgGz1-cQP3lJRs6r_hk5VCOhzJojfC2g1JRQh4ClOknEQngVI_kcKpdc/s72-c/1.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Hello World กับ Objective C (Part 2)</title><link>http://devinthailand.blogspot.com/2010/08/hello-world-objective-c-part-2.html</link><category>iphone</category><category>macos</category><category>objective c</category><category>programming</category><category>xcode</category><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Tue, 17 Aug 2010 13:09:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-914636151402823705</guid><description>สวัสดีครับ วันนี้มาเริ่มเขียนกันนะครับโดยมาSay Hello World กันก่อน&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMv7Sy_jEhJqnN9XF8E1vrMppJcYGdoDlB-myDCY5l8QiNeQIA-GmfRmV0lxiEkPnEdPbQd5UvqJu3P4bYTpYjSodLTp5FEBtVaALUYKAy05spMcBwcXPs_tQnCyy_5MC3siltw469gQ/s1600/Screen+shot+2010-08-18+at+1.31.40+AM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMv7Sy_jEhJqnN9XF8E1vrMppJcYGdoDlB-myDCY5l8QiNeQIA-GmfRmV0lxiEkPnEdPbQd5UvqJu3P4bYTpYjSodLTp5FEBtVaALUYKAy05spMcBwcXPs_tQnCyy_5MC3siltw469gQ/s320/Screen+shot+2010-08-18+at+1.31.40+AM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
1)มาสร้าง Project กันเลยครับ เลือก Application&lt;br /&gt;
แล้วเลือก Command Line Tool'&lt;br /&gt;
แล้วก็กด Choose เลยครับ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirVvHwZdRvJjWf_-E8DYlvTCCUzT0KCYtKOnXgYTat0XMiEdDfegTotEiCyKpvClj1GqHfOIpkeLkzk0etB93SbB9OBTeiEc_eZ26TX0ywF457FtUi0pVBdPUKWaOUyNDWaMoSyMdAE6s/s1600/3.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirVvHwZdRvJjWf_-E8DYlvTCCUzT0KCYtKOnXgYTat0XMiEdDfegTotEiCyKpvClj1GqHfOIpkeLkzk0etB93SbB9OBTeiEc_eZ26TX0ywF457FtUi0pVBdPUKWaOUyNDWaMoSyMdAE6s/s320/3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;2) เมื่อขึ้นมาอย่างงี้ก็ให้ใส่ชื่อ Project ไปเลยครับ&lt;br /&gt;
อย่างเช่นตัวอย่างก็ "HelloWorld" ไปเลย แล้วก็กด Save&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzY7wHInLdE-xslRzu2xorH6WEOKvg7MiwNHHmnn_WfhErurEyHqd5sHXG1TfCEKAEi8A2ZbL4QDwOSwA45jMmIDgBrn80P-GT8t98K7nLzqrqcvNEwq9iTXjXgpakYW0LriCpRKQXtGQ/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzY7wHInLdE-xslRzu2xorH6WEOKvg7MiwNHHmnn_WfhErurEyHqd5sHXG1TfCEKAEi8A2ZbL4QDwOSwA45jMmIDgBrn80P-GT8t98K7nLzqrqcvNEwq9iTXjXgpakYW0LriCpRKQXtGQ/s320/2.png" /&gt;&lt;/a&gt;&lt;/div&gt;3) จากนั้นก็เลือกไฟล์ HelloWorld.m&lt;br /&gt;
ใส่โค้ดไปตามนี้&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote style="color: black;"&gt;#import &amp;lt; Foundation/Foundation.h &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;int main (int argc, const char * argv[]) {&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;// insert code here...&lt;/div&gt;&lt;div&gt;NSLog(@"Hello, World! by Devinthailand");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;return 0;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)เมื่อกด Command + Shift + R ก็จะมี Console ขึ้นมา&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUaHmk-j0fr-ABVfgZSWDH6D60dt0lBCWbXi4wZ11CJq3E53fG19Jkbk-g60RDtA0YD5ul1DbG18eLHo94x7NC0bwc8Q81beIUr6n66ENdWcy9UgWU5kpM7cTebxCohYJW0CMiH7KoLe0/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUaHmk-j0fr-ABVfgZSWDH6D60dt0lBCWbXi4wZ11CJq3E53fG19Jkbk-g60RDtA0YD5ul1DbG18eLHo94x7NC0bwc8Q81beIUr6n66ENdWcy9UgWU5kpM7cTebxCohYJW0CMiH7KoLe0/s320/4.png" /&gt;&lt;/a&gt;&lt;/div&gt;จากนั้นก็กด Command + R อีกทีเพื่อรัน จะได้ตามรูปครับ&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;เรามาอธิบาย Code กันครับ&lt;/b&gt;&lt;br /&gt;
&lt;blockquote black;="" color:="" style="color: black;"&gt;NSLog(@"Hello, World! by Devinthailand");&lt;/blockquote&gt;&lt;br /&gt;
NSLog คืออะไร จริงๆแล้วมันก็คือMethod Print ใน Objective C นัั่นเอง&lt;br /&gt;
ซึ่ง ถ้าเป็น ภาษา C ก็คือ printf() หรือ ภาษาจาว่าก็ System.out.println();&lt;br /&gt;
NSLog ถูกวิพากษ์วิจารณ์ว่าเป็น Method ที่มีการตั้งชื่อได้แย่มากเพราะคำว่า "Log" ซึ่ง Programmer บางคนหรือคนทั่วไปอาจจะไม่ Make sense กับคำว่า "Log" ที่ใช้สำหรับ Print ออกมาทาง Console&lt;br /&gt;
ส่วน"NS"ย่อมาจาก NextSTEP ซึ่งเป็น Toolkit ของบริษัท NeXT Software ก่อนที่จะถูก Apple เข้ารวบรวมกิจกรรมในปี 1996&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=devi03-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321566157&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;ส่วน&lt;span style="color: #444444;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote black;=""&gt;&lt;span style="color: #444444;"&gt;&amp;nbsp;return 0;&lt;/span&gt; &lt;/blockquote&gt;คือการบอก Compiler ว่าเสร็จแล้ว</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMv7Sy_jEhJqnN9XF8E1vrMppJcYGdoDlB-myDCY5l8QiNeQIA-GmfRmV0lxiEkPnEdPbQd5UvqJu3P4bYTpYjSodLTp5FEBtVaALUYKAy05spMcBwcXPs_tQnCyy_5MC3siltw469gQ/s72-c/Screen+shot+2010-08-18+at+1.31.40+AM.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>เเนวคิด API</title><link>http://devinthailand.blogspot.com/2010/08/api.html</link><category>android</category><category>api</category><category>developer</category><category>interface</category><category>opensource</category><category>programming</category><category>twitter</category><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Sat, 14 Aug 2010 23:22:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-3976804707519841456</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdnRmdGHeU2ayvWyAFhJVkCMO6D2tCJa7mcX7DDeOIY8Kvq9Ohlc_xVncK6VpboLbQ9tkjFjwvXxrSlf3CZ4BPE1sp2n8QHVOPLnrIm1SYMGM5dQoYQCxjoHblrIrUjSMusT5-4_FlB8A/s1600/api1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdnRmdGHeU2ayvWyAFhJVkCMO6D2tCJa7mcX7DDeOIY8Kvq9Ohlc_xVncK6VpboLbQ9tkjFjwvXxrSlf3CZ4BPE1sp2n8QHVOPLnrIm1SYMGM5dQoYQCxjoHblrIrUjSMusT5-4_FlB8A/s320/api1.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; API คือ Application Programming Interface เป็นกลุ่มฟังก์ชัน คลาส  ขั้นตอน ที่ระบบปฏิบัติการหรือผู้ให้บริการสร้างขึ้นมา  เพื่อให้โปรเเกรมอื่นๆ สามารถเรียกขอข้อมูลได้ API เเบ่งเป็น 2 เเบบ คือ&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; API ที่ขึ้นกับภาษา หมายถึง API ที่สามารถเรียกใช้จากโปรเเกรมที่เขียนด้วยภาษาใดภาษาหนึ่งเท่านั้น&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; API ที่ไม่ขึิ้นกับภาษา หมายถึง API ที่สามารถเรียกใช้จากโปรเเกรมที่เขียนด้วยภาษาใดก็ได้&lt;/li&gt;
&lt;/ul&gt;API นั้นมีหลายแบบและแตกต่างกันมาก  ทั้งในเรื่องของภาษาในการเขียนโปรแกรมออกมาและการเรียกใช้งาน  และอย่างอื่นอีกมากมาย แต่ที่ใหญ่ๆ ก็ 2 ตัวที่บอกไปเนี่ยแหละ API  เองถูกประยุกต์ใช้มนานาแล้ว เเต่ติดปัญหาที่ภาษาในการเรียกใช้ซะมาก  การที่จะเรียกใช้ API  ที่เขียนขึ้นมาได้จึงต้องเขียนภาษาเดียวกันจึงจะเรียกใช้กันได้  ข้ามสายพันธ์ไม่ได้่เลยทีเดียว ช่วงหลังๆ ได้มี XML  ซึ่งเป็นภาษาในการแลกเปลี่ยนข้อมูลทำให้ข้อจำกัดพวกนี้หายไป เขียนอะไรก็ได้  gen ออกมาให้เป็น XML ให้ได้ก็พอ ส่วนอีกฝ่ายก็จะเขียนโปรแกรมสำหรับอ่าน  XML แล้วนำ data เอาไปใช้ แค่นั้นเอง ปัจจุบันเว็ปไซต์ต่างๆมีการปล่อย API  เพื่อให้นักพัฒนาสามารถนำ API เหล่านั้นไปพัฒนาสร้า่งเเอปพิเคชั่นต่อได้  ตัวอย่างเช่น http://apiwiki.twitter.com/&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiroQa0MlbPWjtq7wOiKpRc2X1AaiPdkLUVUz3B4WAsz2gaF18ByqE7M-l6f5_4fW9RcPcssaaHz4zrfRTGCX42Ax8OupM_0G6UI4ChLL8d4IsM_Eu0HOOvIOw604gJAptWHIl9NzF1YY/s1600/2511539541_b8c0356486.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiroQa0MlbPWjtq7wOiKpRc2X1AaiPdkLUVUz3B4WAsz2gaF18ByqE7M-l6f5_4fW9RcPcssaaHz4zrfRTGCX42Ax8OupM_0G6UI4ChLL8d4IsM_Eu0HOOvIOw604gJAptWHIl9NzF1YY/s200/2511539541_b8c0356486.jpg" width="130" /&gt;&lt;/a&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdnRmdGHeU2ayvWyAFhJVkCMO6D2tCJa7mcX7DDeOIY8Kvq9Ohlc_xVncK6VpboLbQ9tkjFjwvXxrSlf3CZ4BPE1sp2n8QHVOPLnrIm1SYMGM5dQoYQCxjoHblrIrUjSMusT5-4_FlB8A/s72-c/api1.gif" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>มารู้จักกับศัพท์ในวงการ Android กันครับ</title><link>http://devinthailand.blogspot.com/2010/08/android.html</link><category>android</category><category>computer science</category><category>cs08</category><category>developer</category><category>google</category><category>kmutt</category><category>mobile</category><category>programming</category><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Sat, 14 Aug 2010 07:31:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-4033211326796135412</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho6940NgyPgUTR94Nrk9U0nf95grr0-_aWmKTZXdfBIvQSPFai5uf9B2wZscqwrs7YKsFaHUuV5Re5ESZcz9a3kjWJgNwHa5wu8qyU_3haPxsnyL98rKxM6CuGrcWO-QdlPsk5i04Eg5Q/s1600/images.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho6940NgyPgUTR94Nrk9U0nf95grr0-_aWmKTZXdfBIvQSPFai5uf9B2wZscqwrs7YKsFaHUuV5Re5ESZcz9a3kjWJgNwHa5wu8qyU_3haPxsnyL98rKxM6CuGrcWO-QdlPsk5i04Eg5Q/s200/images.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ตอนนี้ผมเพิ่งเริ่มศึกษาเจ้าตัว Android ประมาณอาทิตย์กว่าๆเองครับ เพราะเห็นว่ามันน่าสนใจดีและอีกอย่างต้องใช้ในโปรเจคจบด้วย เอาเป็นว่ามาเริ่มเรื่องกันเลยดีกว่า ในวงการ Android มีศัพท์เฉพาะหลายๆคำที่คนในวงการพูดกัน ซึ่งคำบางคำอาจจะมาจากความเข้าใจของผมเอง ถ้าผิดพลาดประการใดก็ขออภัยด้วยครับ เริ่มกันเลย&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: medium;"&gt;Rom&lt;/span&gt;&lt;/b&gt;- คือ ตัว Operating System ที่ใช้ในมือถือเรานั่นแหละครับ เสมือน Windows ที่ใช้ในคอมพิวเตอร์อ่ะครับ Rom เวอร์ชั่นเดียวกันอาจจะใช้ร่วมกับมือถือรุ่นอื่นๆไม่ได้ ซึ่งมีหลายเหตุผล เช่น ปัญหาของ Driver ครับ&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: medium;"&gt;&lt;b&gt;Brick &lt;/b&gt;&lt;/span&gt;- ศัพท์นี้แปลว่า ก้อนอิฐ ซึ่งก็เหมือนอิฐที่เอาไว้ปาแหละครับ มักเจอในคำเตือนของการอัพเดตที่มีความเสี่ยง เนื่องจาก หากผิดพลาด มือถือของเราอาจกลายสภาพเป็นเพียงก้อนอิฐได้&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: medium;"&gt;Root&lt;/span&gt; &lt;/b&gt;- คือการทำเพื่อให้เราเข้าถึงความสามารถจริงๆของแอนดรอยด์ได้ก็คือ สามารถใช้คำสั่งในระดับ Super User ได้ แต่บางความสามารถ  อาจเป็นอันตรายต่อระบบได้ จึงไม่เปิดให้ใช้  จึงเป็นเหตุผลที่ค่ายมือถือส่วนใหญ่ จะตีเครื่องให้หมดประกัน  ทันทีที่เราทำการ root &lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;ข้อดีของการ root&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;
&lt;ul class="litype_1" type="1"&gt;&lt;li&gt;มีสิทธิ์เหมือนเป็น Super Administrator&lt;/li&gt;
&lt;li&gt;สามารถใช้แอพบางตัวที่ต้องการสิทธิ์ root ได้ เช่น CacheMate&lt;/li&gt;
&lt;li&gt;เพื่อจะได้ Patch Rom ทำ App2SD ได้ เป็นต้น&lt;/li&gt;
&lt;li&gt;เพื่อให้ใช้คำสั่ง adb ได้&lt;/li&gt;
&lt;/ul&gt;&lt;u&gt;&lt;b&gt;ข้อเสียของการ root&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul class="litype_1" type="1"&gt;&lt;li&gt;ทำให้หมดประกัน&lt;/li&gt;
&lt;li&gt;ความสามารถบางอย่างมีความเสี่ยง มือถืออาจ Brick ได้&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;&lt;span style="font-size: medium;"&gt;A2SD&lt;/span&gt;&lt;/b&gt; - คือการติดตั้งแอพพลิเคชั่นลงบน SD Card.  ซึ่งแอนดรอยด์ส่วนใหญ่จะไม่มีความสามารถนี้ เนื่องจากเหตุผลด้านความปลอดภัย  หากอยากทำได้ ต้องทำการ Patch Rom ซึ่งวิธีการจะแตกต่างกันไป  ตามเวอร์ชั่นของ Rom ที่ใช้&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: medium;"&gt;ABD&lt;/span&gt;&lt;/b&gt; - คือ รันคำสั่ง Linux เข้ามือถือเรา เพราะ Andriod พัฒนามากจาก Linux จึงใช้คำสั่งต่างๆคล้ายๆ Linux เช่น adb push fonts/system/fonts --&amp;gt; สั่ง up font เข้ามือถือ&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; สำหรับวันนี้ก็ขอแค่นี้ก่อนน่ะครับ หลังจากนี้ไปศึกษา Android เพิ่มเติมและนำมาเขียนบทความเพิ่มอีกครับ &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho6940NgyPgUTR94Nrk9U0nf95grr0-_aWmKTZXdfBIvQSPFai5uf9B2wZscqwrs7YKsFaHUuV5Re5ESZcz9a3kjWJgNwHa5wu8qyU_3haPxsnyL98rKxM6CuGrcWO-QdlPsk5i04Eg5Q/s72-c/images.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>ทำความรู้จักกับ Google Android</title><link>http://devinthailand.blogspot.com/2010/08/google-android.html</link><category>android</category><category>developer</category><category>google</category><category>kmutt</category><category>mobile</category><category>opensource</category><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Sun, 8 Aug 2010 01:32:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-2418940900502991096</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHAh-eJUybJpIWH1DPIXPVCkWEYtdHWOg49q5Hx56OVg1TUiOGqXYZ2PV1kcy1RM4PedZYVeZle2k2J9I1c3YtviTVLhKYMCdpfTGU5q9czCuo9Gy548F4KbDixcKYbOu8WviHhcx1mzY/s1600/images.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHAh-eJUybJpIWH1DPIXPVCkWEYtdHWOg49q5Hx56OVg1TUiOGqXYZ2PV1kcy1RM4PedZYVeZle2k2J9I1c3YtviTVLhKYMCdpfTGU5q9czCuo9Gy548F4KbDixcKYbOu8WviHhcx1mzY/s320/images.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ปัจจุบัน Google ไม่ได้พัฒนาในส่วนของ Search engine ที่เราใช้ค้นหาข้อมูลกันอยู่ทุกวัน แต่ปัจจุบัน Google ได้เป็นผู้พัฒนา Platform ของโทรศัพท์มือถือที่มีชื่อว่า Android คำว่า Platform ก็เหมือนกับระบบปฎิบัติการที่เราใช้กันอยู่ในคอมพิวเตอร์ปัจจุบัน เช่น Windows ,Linux , หรือ Mac เพียงแต่ Android นั้นเป็น Platform ที่รันอยู่บนมือถือนั่นเอง พูดง่ายๆก็เหมือนกับ Symbian , Windows Mobile ที่เป็นระบบปฎิบัติารในมือถือนั่นแหละ Android คือ Platform ที่ Google พัฒนาออกมาเพื่อแข่งกับ Platform ก่อนหน้านี้ เจ้าตัว Android มีพื้นฐานการทำงานมาจากระบบปฎิบัตการ Linux โดย Android ใช้องค์ประกอบที่เป็น Open Source หลายอย่าง เช่น Linux Kernel , SSL , SQLite, Webkit และยังเขียนด้วยไลบารี่เฟรมเวิร์คของตัวเองเพิ่มเติม ซึ่งทั้งหมดเป็น Open Source ใช้ (Apache License) ในการเผยแพร่ สรุปก็คือ Android เป็นระบบปฎิบัติการที่นำทีมโดย Google บนพื้อฐานของ Linux ที่ใช้บนโทรศัพท์มือถือ&amp;nbsp; ข้อดีของ Android ก็คือ ความที่Android เป็น Open Source ซึ่งเปิดให้ใครก็ได้สามารถพัฒนา Application ต่างๆบน Android ได้อย่างอิสระโดยไม่เสียค่าใช้จ่ายใดๆทั้งสิ้น และนี่ก็เป็นเหตุผลหนึ่งที่ว่าทำไมปัจจุบัน Android มีแนวโน้มการพัฒนาจาก Developer และ การใช้มากขึ้นเรื่อยๆ และยังมีแนวโน้มเพิ่มขึ้นในอนาคตอีกด้วย โดยปัจจุบัน Android เริ่มเป็นส่วนแบ่งทางการตลาดของ IPhone และ มือถืออื่นๆมากขึ้น&lt;strong&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma,'Microsoft Sans Serif','MS Sans Serif'; font-size: 11px;"&gt;&lt;span style="font-family: Tahoma,MS Sans Serif,MS Dialog Light; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;/span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Tahoma,'Microsoft Sans Serif','MS Sans Serif'; font-size: 11px;"&gt;&lt;span style="font-family: Tahoma,MS Sans Serif,MS Dialog Light; font-size: x-small;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma,'Microsoft Sans Serif','MS Sans Serif'; font-size: 11px;"&gt;&lt;span style="font-family: Tahoma,MS Sans Serif,MS Dialog Light; font-size: x-small;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;ตัวอย่างหน้าตาของ Android&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3CAuiNFFVasznLTHi4A9IqcsG0s8mvOenEfdXfy-UnRq2kkC4BZ-nZ77TI973uMkV93KE-V4zil-_XWQP5T2LVxVeAK69Lh0tjIy_1IvYBcyte5dbdVLL_Ns5DENIT1LqFvTtnqL5Icw/s1600/android_04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3CAuiNFFVasznLTHi4A9IqcsG0s8mvOenEfdXfy-UnRq2kkC4BZ-nZ77TI973uMkV93KE-V4zil-_XWQP5T2LVxVeAK69Lh0tjIy_1IvYBcyte5dbdVLL_Ns5DENIT1LqFvTtnqL5Icw/s320/android_04.jpg" /&gt;&lt;/a&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_QiA43QwWkGB4ela5iTIqMo84Dy_sI7TjoG7woaMHJkT166QR8E7eYlCFePMMfJ6VAsdcn5y6TnMwO4wPNM2VE5pfSC-WYszPOXyOZxVnmIHU8pTcnsTjZQNSOOc2DzQAC22AA5Htku4/s1600/android_06.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_QiA43QwWkGB4ela5iTIqMo84Dy_sI7TjoG7woaMHJkT166QR8E7eYlCFePMMfJ6VAsdcn5y6TnMwO4wPNM2VE5pfSC-WYszPOXyOZxVnmIHU8pTcnsTjZQNSOOc2DzQAC22AA5Htku4/s320/android_06.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma,'Microsoft Sans Serif','MS Sans Serif'; font-size: 11px;"&gt;&lt;span style="font-family: Tahoma,MS Sans Serif,MS Dialog Light; font-size: x-small;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHAh-eJUybJpIWH1DPIXPVCkWEYtdHWOg49q5Hx56OVg1TUiOGqXYZ2PV1kcy1RM4PedZYVeZle2k2J9I1c3YtviTVLhKYMCdpfTGU5q9czCuo9Gy548F4KbDixcKYbOu8WviHhcx1mzY/s72-c/images.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Macports installไม่ได้ แก้ยังไงดี</title><link>http://devinthailand.blogspot.com/2010/07/macports-install.html</link><category>computer science</category><category>cs</category><category>cs08</category><category>curl</category><category>darwinports</category><category>error</category><category>kmutt</category><category>macports</category><category>perl</category><category>Pextlib</category><category>เพิร์ล</category><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Fri, 30 Jul 2010 20:02:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-3431713977660967712</guid><description>วันนี้ผมจะเขียนโปรแกรมโดยใช้ perl เรียกใช้ cURL แต่ดันไม่มี&lt;br /&gt;
เลยต้อง install macports ซะหน่อย&lt;br /&gt;
ก็ไปดาวน์โหลดfile install แบบ wizard มา&lt;br /&gt;
แต่พอลงแล้ว&lt;br /&gt;
sudo port --version&lt;br /&gt;
dlopen(/opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib, 10): no suitable image found.&amp;nbsp; Did find:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib: mach-o, but wrong architecture&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while executing&lt;br /&gt;
"load /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("package ifneeded Pextlib 1.0" script)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; invoked from within&lt;br /&gt;
"package require Pextlib 1.0"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (file "/opt/local/bin/port" line 40)&lt;br /&gt;
เรียกใช้งานไม่ได้&lt;br /&gt;
เลยต้องลงใหม่&lt;br /&gt;
เปิดเข้า terminal เลยครับ จากนั้นพิมพ์ sudo su root ใส่ password ให้เรียบร้อย&lt;br /&gt;
หาที่ไว้สำหรับ download ไฟล์จาก svn ส่วนผมเลือก /Users/xxx/&lt;br /&gt;
จากนั้นพิมพ์&lt;br /&gt;
svn co http://svn.macports.org/repository/macports/trunk/base/ macports-svn&lt;br /&gt;
รอซักครู่&lt;br /&gt;
เมื่อดาวน์โหลดเสร็จ ก็เข้าไป folder macports-svn&lt;br /&gt;
ด้วยคำสั่ง cd macports-svn&lt;br /&gt;
แล้วตามด้วย ./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install;&lt;br /&gt;
รอซักพัก&lt;br /&gt;
เมื่อเสร็จแล้ว ก็ sync ข้อมูลจาก server ด้วยคำสั่ง sudo port -d sync&lt;br /&gt;
&lt;br /&gt;
เมื่อเสร็จแล้ว จะขึ้นประมาณนี้&lt;br /&gt;
sent 312205 bytes&amp;nbsp; received 11092961 bytes&amp;nbsp; 57747.68 bytes/sec&lt;br /&gt;
total size is 26320418&amp;nbsp; speedup is 2.31&lt;br /&gt;
DEBUG: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/ports/PortIndex_darwin_10_i386/PortIndex /opt/local/var/macports/sources/rsync.macports.org/release/ports&lt;br /&gt;
receiving file list ... done&lt;br /&gt;
PortIndex&lt;br /&gt;
&lt;br /&gt;
sent 58 bytes&amp;nbsp; received 938694 bytes&amp;nbsp; 34136.44 bytes/sec&lt;br /&gt;
total size is 4036551&amp;nbsp; speedup is 4.30&lt;br /&gt;
Creating port index in /opt/local/var/macports/sources/rsync.macports.org/release/ports&lt;br /&gt;
&lt;br /&gt;
Total number of ports parsed:&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 &lt;br /&gt;
Ports successfully parsed:&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 &lt;br /&gt;
Ports failed:&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0 &lt;br /&gt;
Up-to-date ports skipped:&amp;nbsp;&amp;nbsp;&amp;nbsp; 7257&lt;br /&gt;
&lt;br /&gt;
เป็นอันว่าเสร็จส่วนจะ install อะไรเพิ่มก็เลือกจาก&lt;br /&gt;
http://perl.darwinports.com/ นะครับ&lt;br /&gt;
ส่วนผมก็ จัด cURL ด้วยคำสั่ง sudo port install curl&lt;br /&gt;
รอซักพักก็เป็นอันว่าเสร็จ</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>เริ่มต้น Objective C part 1</title><link>http://devinthailand.blogspot.com/2010/07/objective-c-part-1.html</link><category>Cocoa</category><category>computer science</category><category>cs</category><category>data types</category><category>kmutt</category><category>mac</category><category>objective c</category><category>objective-c</category><category>programming</category><category>type</category><category>เขียนโปรแกรมเริ่มต้น</category><author>noreply@blogger.com (Thailand Computer Knowledge)</author><pubDate>Fri, 30 Jul 2010 15:09:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4831812932756420657.post-1913205509617232314</guid><description>&lt;b&gt;&lt;span style="color: orange;"&gt;Objective C&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Objective C พัฒนาต่อมาจาก ภาษา C&lt;br /&gt;
ส่วน Cocoa ก็เป็น Framework ของ Objective-c ซึ่ง apple นำมาใช้ develop application ต่างๆนานา &lt;br /&gt;
โดยส่วนใหญ่การเขียนโปรแกรม จะใช้ IDE ที่มีชื่อว่า Xcode ของ Apple เองด้วย&lt;br /&gt;
ส่วนตัวผม ผมคิดว่ามันเป็น IDE ที่เยี่ยมยอดตัวนึงเลยแหละ&lt;br /&gt;
ง่ายในการใช้มาก http://developer.apple.com/ สมัครแล้วเข้าไปโหลดได้เลย&lt;br /&gt;
&lt;br /&gt;
มาเริ่มรู้จัก Objective C กันที่ Data Types&lt;br /&gt;
1)&lt;b&gt; Int Data Type&lt;/b&gt;&lt;br /&gt;
int มาจากคำว่า Integer แปลว่า จำนวนเต็ม ดังนั้น int คือการเก็บจำนานเต็มนะไม่มีจุดทศนิยม&lt;br /&gt;
โดยจะเก็บอย่างน้อย16 bits &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;การประกาศตัวแปร int ก็เช่น int myint = 10;&lt;br /&gt;
&amp;nbsp;2)&lt;b&gt; char Data Type&lt;/b&gt; คือ ชนิดตัวแปรที่เก็บเสียงตัวอักษรตัวเดียว เช่น เก็บเพียงตัว C ตัวเดียว&lt;br /&gt;
การใช้งานก็เช่น&lt;br /&gt;
char a = 'a';&lt;br /&gt;
char w = 'w';&lt;br /&gt;
char colon = ':'; &lt;br /&gt;
Char ก็ไม่ได้มีแค่นี้นะ ยังมี Special Character อีกเช่น&lt;br /&gt;
char newline = '\n';&lt;br /&gt;
ถ้าจะใส่ Backslash ล่ะ ก็แบบนี้ char mybackslash = '\\';&lt;br /&gt;
ยังมีอีกนะ &lt;br /&gt;
\a - Sound alert&lt;br /&gt;
\b - Backspace&lt;br /&gt;
\f - Form feed&lt;br /&gt;
\n - New line&lt;br /&gt;
\r - Carriage return&lt;br /&gt;
\t - Horizontal tab&lt;br /&gt;
\v - Vertical tab&lt;br /&gt;
\\ - Backslash&lt;br /&gt;
\" - Double quote&lt;br /&gt;
\' - Single quote&lt;br /&gt;
บางตัวก็ยังไม่เคยใช้แหะๆ&lt;br /&gt;
&lt;br /&gt;
3)&lt;b&gt; Float Data Type&lt;/b&gt; คือชนิดตัวแปรที่เก็บเลขทศนิยมนั่นเอง 32bit&lt;br /&gt;
ตัวอย่างเลขก็เช่น&amp;nbsp; 123.45 , 543.21 เป็นต้น&lt;br /&gt;
การใช้งานง่ายมากครับ&lt;br /&gt;
float a = 111.22f;&lt;br /&gt;
f&amp;nbsp; ต่อท้ายก็หมายถึงกำหนดว่าเป็น ชนิด float นะครับ&lt;br /&gt;
float expfloat = 10.22e4;&lt;br /&gt;
ตัว e ต่อท้ายมาจาก exponential ครับ ค่าfloatจะได้เป็น 10.22 x 10^4 เป็นต้น&lt;br /&gt;
4) &lt;b&gt;Double Data Type&lt;/b&gt; ก็ลักษณะเดียวกับ Floatแหละครับเก็บเลขทศนิยมเหมือนกัน แต่สามารถเก็บเลขที่มีขนาดใหญ่ได้มากกว่า float &lt;br /&gt;
5) Boolean คือตัวแปรที่เก็บ true หรือ false&lt;br /&gt;
โดยค่าจะมีเพียง2 ค่า เท่าคือ 1 และ 0&lt;br /&gt;
1 คือ true&lt;br /&gt;
2 คือ false&lt;br /&gt;
ส่วนการประกาศใช้งานนั้น ประกาศได้สองรูปแบบ คือ 1) _Bool flagOne = 1;&lt;br /&gt;
หรือ 2) BOOL testFlag = 0;&lt;br /&gt;
&lt;br /&gt;
คราวนี้มาดู qualifier กันบ้าง&lt;br /&gt;
Qualifier หมายถึงอะไร แปรตามตัวครับ คือ "ตัวขยาย"&lt;br /&gt;
&lt;b&gt;long&lt;/b&gt; คือการขยายการเก็บขนาดของตัวแปรไปอีกหนึ่งเท่า&lt;br /&gt;
เช่น&amp;nbsp; int a; จะเก็บในขนาด 16bits&lt;br /&gt;
แต่ long int a; จะเก็บในขนาด 32bits&lt;br /&gt;
และ long long int a; ละ ก็ เก็บในขนาด 64bitsนั่นเอง&lt;br /&gt;
ส่วน short จะเก็บขนาดเท่าเดิมแต่จะใช้ memory ครึ่งนึงของปกติ&lt;br /&gt;
เช่น short int a; ก็จะเก็บอย่างน้อย 16bits แต่จะใช้ memory ในการเก็บครึ่งนึงของ int a;&lt;br /&gt;
&lt;br /&gt;
signed และ unsigned คืออะไร&lt;br /&gt;
signed จะสามารถเก็บตัวเลข ที่มีเครื่องหมายข้างหน้าได้&lt;br /&gt;
unsigned ก็ตรงข้ามกันครับ เก็บแบบไม่มีเครื่องหมายข้างหน้า&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;unsigned int&lt;/b&gt; ของComputer 32 bits  จะเริ่มจาก 0 ถึง 4294967295 และ &lt;b&gt;64 bits &lt;/b&gt;จะเริ่มจาก  0 ถึง  18,446,744,073,709,551,615&lt;br /&gt;
&lt;b&gt;signed int value&lt;/b&gt; ของComputer&amp;nbsp; 32 bits จะเริ่มจาก&amp;nbsp; −2,147,483,648 ถึง +2,147,483,647 และ &lt;b&gt;64 bit&lt;/b&gt;s  จะเริ่มจาก&amp;nbsp; −9,223,372,036,854,775,808 ถึง +9,223,372,036,854,775,8&lt;br /&gt;
&lt;br /&gt;
การใช้งานก็เช่น unsigned int myint;&lt;br /&gt;
signed int myint2;&lt;br /&gt;
&lt;br /&gt;
ถ้าผิดพลาดประการใดก็ขอโทษด้วยนะครับ</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>