12.2.11

เริ่มต้นกับแอฟง่ายๆก่อน : Simple Android Application



Android Application หลังจากสาวน้อย อธิบายให้ป๋าฟังเรื่องการติดตั้ง Android SDK ให้ป๋าฟังแล้ว ถึงเวลาที่สาวน้อย จะแสดงให้เห็นว่า Application ที่เขียนขึ้น มันจะไปทำงานบนมือถือได้ยังงัย โดยสาวน้อย จะแสดงให้ป๋าเห็น บน Emulator โดยหล่อนก็คาดหวังว่า ป๋าจะ get สักที ว่าไอ้ app บน android มันหน้าตาเป็นยังงัย ก่อนที่เธอจะลากตาแก่ ไปเลือก Android แจ่มๆ สักเครือง (ใคร งง กลับไปอ่าน คลิก)

 

 

ขั้นตอนอย่างหยาบๆ กับ android application อย่างง่ายๆ

  1. สร้าง Android Virtual Device (AVD) ก่อนเลย โดยไปที่เมนู Eclipe เลือก Window > Android SDK and AVD Manager.
  2. เลือก Virtual Devices ทางซ้าย
  3. คลิกNew. จะปรากฏ Create New AVD dialog
  4. ตั้งชื่อ AVD เช่น "my_avd".
  5. เลือก Target ให้เวอร์ชั่นตรงกับที่เราจะสร้างโปรแกรมให้ไปทำงานบน platform เวอร์ชั้นไหน ในที่นี้ ผมเลือก Android SDK 2.1
  6. ที่เหลือ ไม่ต้องใส่ค่า
  7. คลิก Create AVD.
  8. แล้ว Start Emulator จากปุ่ม Start

ปล่อยให้ Emulator โหลดหน้าต่าง Emulator ขึ้นมา มันจะใช้เวลาพอสมควร เราไม่ต้องไปสนใจ ให้ไปสร้างโปรเจคง่ายๆ กันต่อเลย

  1. จากเมนู Eclipe เลือก File > New > Project.
  2. เลือก "Android Project" แล้วคลิก Next.
  3. เติมค่าเหล่านี้ลงไป ตามช่องต่างๆ
    • Project name: HelloAndroid
    • Application name: Hello, Android
    • Package name: com.example.helloandroid (or your own private namespace)
    • Create Activity: HelloAndroid
  4. คลิก Finish
  5. ทำการ Modified โค๊ดที่ได้จากการสร้างโปรเจค
    package com.example.helloandroid;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;

    public class HelloAndroid extends Activity {
       /** Called when the activity is first created. */
       @Override
       public void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
          
    TextView tv = new TextView(this);
           tv.setText("Hello, Android");
           setContentView(tv);

       }
    }



  6. ทำการรัน save แล้ว run application ไปที่เมนู Run > Run.


  7. เลือก "Android Application".


  8. รอดูผลที่หน้าต่าง Emulator


  9. จบ App แรก ดีใจโครตๆ


  10. คนเขียน เหนื่อย U_U



simple android application



ผมพยายามอัดคลิปวีดีโอ การสร้าง Android Application อย่างง่ายๆ เพื่อให้เพื่อนๆ ได้ลองไปเล่นกัน หวังว่า คงสนุกกับการสร้าง Application นะครับ น้องๆ คนไหน ยังไม่มีรายได้ ก็อย่าไปรบกวนพ่อแม่ นะครับ รู้ว่าขอเงินไป ได้แน่นอน แต่เราไม่รู้หรอกว่า ท่านยอมลำบาก เพื่อให้ลูกสบาย ท่านทำได้เสมอ ก็อยากให้เขียนให้เก่งๆ ก่อน แล้วถ้าเกิดฝีมือเข้าขั้น มีแนวโน้มทำรายได้ ให้เราจริงๆ ค่อยไปกู้เงินมาซื้อ  นะครับ



อ่านเพิ่มเติม...

11.2.11

หนูอยากได้ Android ค่า : Android SDK Installation




Android

 

ณ โรงแรมม่านรูดแห่งหนึ่ง หลังจากเสร็จสิ้นภาระกิจแล้ว สาวน้อย นอนเบียดอยู่ข้างตาแก่พุงพลุ้ย ที่กำลังสูบบุหรี่อยู่ (มีภาพ sensor ที่ปากนิดนึง) แล้วสาวน้อย ก็พูดด้วยน้ำเสียงออดอ้อนขึ้นมาว่า

 

 

 

 

 

สาวน้อย : ป๋าขา ป๋าขา หนูอยากได้มือถือ เครื่องใหม่สักเครื่องหน่ะค่ะ

ป๋า : ก็ป๋า ซื้อให้แล้วนี่ค่ะ

สาวน้อย : หนูอยากได้ เครื่องที่ มี Android หน่ะค่ะ

ป๋า (ทำหน้า งงๆ ไรว่ะแอนดรอยด์) : หนูจะเอามาทำไร ค่ะ

สาวน้อย : หนูจะมาเขียน App คะป๋า

ป๋า : >_< เชี้ยไรว่ะ App (งง หนักเข้าไปอีก)

อย่าว่าแต่ป๋าเลยครับ ผมเองก็ งง เหมือนกัน ไรว่ะ แอนดรอยด์ มันกินได้ไหม เด็กบ้านนอกอย่างฉันต้องมีไหมอ่ะ ตำรวจจะจับไหม ไม่รู้เหมือนกัน เอาว่ะ เนตก็มี ไปกลัวอะไร search มันเข้าไปกูเกิ้ล ได้ความมาว่า

Android มันเป็นชื่อของระบบปฏิบัติการที่ทาง Google พี่แกใจดี้ ใจดี สร้างขึ้นมาเพื่อเป็นระบบปฏิบัติการของมือถือ โดยได้พัฒนามาจาก Linux ใครที่เคยเล่น Linux มาก่อนจะเข้าใจ ในการจัดการ process ของ Linux ว่าแตกต่างจาก Windows ยังงัย โดยกูเกิ้ลร่วมกันพัฒนา OS Android กับบริษัททำมือถือยักษใหญ่ ในตอนนั้น ได้แก่ อิงก์, ที-โมบาย, เอชทีซี, ควอลคอมม์ และ โมโตโรลา และได้เปิดโอกาสให้นักพัฒนาอิสระ โหลดตัว  Android SDK ไปพัฒนา Application (ซึ่งใช้ JAVA เป็นหลัก) เพื่อมาใช้บนระบบปฏิบัติการนี้

ด้วยความเอื้อเฟื้อ ต่อการพัฒนา Application นักพัฒนา สามารถที่จะพัฒนา Application ต่างๆ บนคอมพิวเตอร์ของเราได้ก่อน ก่อนที่จะนำไปติดตั้งลงบนมือถือ โดยทำการจำลองโปรแกรมของเราผ่าน Android Emulator ทำให้เกิดการพัฒนา Application สำหรับ Android ขึ้นอย่างมากมาย นอกจากนี้ Application ที่พัฒนาขึ้นมา เราสามารถโหลดมาใช้ได้ฟรีๆ

Android Applications

อย่ารอช้า หากเพื่อนๆ อยากมี applicartion ที่อยากให้ชาวบ้านเค้าไปโหลดไปใช้ หากยังไม่มีมือถือ Android เหมือนผม U_U ก็เล่น Emulator ไปก่อนหล่ะกัน ว่าแล้ว เราก็มาติดตั้ง Android  SDK กันก่อน

ขั้นตอนการติดตั้ง Android SDK

  1. ให้เรา โหลด ตัว Android SDK http://developer.android.com/sdk/index.html เค้าแนะนำ installer_r09-windows.exe (Recommended)
  2. โหลด Eclipe classic หรือตัวอื่นๆ ถ้าชอบ http://www.eclipse.org/downloads/ ในที่นี้เค้าแนะนำ
    • Eclipse IDE for Java Developers
    • Eclipse Classic (versions 3.5.1 and higher)
    • Eclipse IDE for Java EE Developers
  3. โหลดตัว JDK ของ JAVA ด้วย ไม่โหลดตอนนี้ เดี๋ยวมันก็ถามหาอยู่ดี ลำพัง JRE เอาไม่อยู่ ต้องโหลด JDK ด้วย
  4. แตกไฟล์ Eclipe ไปไว้ที่ไหนก็ได้ drive D: ก็ได้ แล้ว เรียก Eclipe.exe ขึ้นมา
  5. ติดตั้ง Adroid SDK ดับเบิ้ลคลิกที่ไฟล์ installer_r09-windows.exe พอติดตั้งเสร็จ มันจะถามให้รัน Android SDK and AVD manager ไหม ก็รันไปเลย
  6. ขั้นตอนนี้ มันจะติดตั้ง package ไม่รู้ไรหนักหนา ขี้เกียจอ่าน เลือกมันหมดเลยหล่ะกัน โปรแกรมจะทำการดาวน์โหลดจากอินเตอร์เนต นานมากๆ ไปอาบน้ำรอได้เลย
  7. กลับมาอีกที ยังไม่เสร็จอีก *_*
  8. พอติดตั้งเสร็จ ให้เปิด Eclipe ขึ้นมา แล้วไปที่ เมนู Help > Install New Software....
  9. คลิกปุ่ม Add
  10. ตั้งชื่อ เป็น "ADT Plugin" ในช่อง Name แล้วใส่ URL 
    https://dl-ssl.google.com/android/eclipse/ ในช่อง Location 











  11. คลิก OK , Next , Next แล้วก็ Finish






  12. ติดตั้งเสร็จ มันจะ restart Eclipe หนึ่งดอก






  13. ถึงเวลาที่เราต้อง config ตัว ADT Plugin สำหรับ คนที่ใช้ Eclipe IDE เป็นตัวพัฒนา App (มัดมือชก ตัวอื่นไม่รู้ทำงัย) กันสักหน่อย






  14. ไปที่ Window > Preferences... 





  15. เลือก Android จากเมนู ทางขวา







  16. มองหา SDK Location แล้ว Browse หา SDK library ซึ่งน่าจะอยู่ที่ C:\Program Files\Android







  17. คลิก Apply แล้ว OK






  18. เหนื่อย(ว่ะ)










ผมพยายามทำ Clip VDO สอนการติดตั้ง Android SDK แต่เนี่องจากมันใช้เวลานานพอสมควร ผมจึงทำการบันทึกไป หยุดไป ภาพอาจจะไม่ต่อเนื่อง ก็พยายามดูๆ เอาหล่ะกัน อัดกันสดๆ ก็แบบนี้แหละ









อยากเห็น App ไทย ไป App นอกบ้าง ผมว่า ก็คงมีแหละ ที่ App ของคนไทยที่มีคนโหลดไปเล่นกัน  พอดี ไม่ค่อยได้ติดตามมากนัก เพราะ มือถือก็ยังไม่มี รอผู้ใจดี มีเงินเหลือ ซื้อให้สักเครือง ใครถูกหวย ก็ซื้อให้มั่งนะ อยากลองๆๆ ^_^









ตอนหน้า เรามาเขียน Android Application ง่ายๆ แล้วลองรัน ใน Emulator ดูกันครับ ว่ามันจะเป็นยังงัย













อ่านเพิ่มเติม...

9.2.11

variables naming : ว่าด้วยเรื่องการตั้งชื่อตัวแปร



variable naming

   ไม่ว่าคุณจะเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษาใดๆ ก็ตาม อย่างหนึ่งที่ต้องทำ อย่างหลีกเลี่ยงไม่ได้ นั่นก็คือ คุณต้องทำการจองหน่วยความจำสำหรับเก็บข้อมูล และไม่ว่าภาษาคอมพิวเตอร์ที่คุณกำลังเขียนอยู่นั้น จะต้องทำการประกาศตัวแปร ก่อนหรือไม่ก็ตามก่อนนำไปใช้งาน เราก็จำเป็นที่จะต้องทำการสร้างตัวแปรขึ้นมา โดยการประกาศชื่อตัวแปร เพื่อให้ตัวแปรภาษาเข้าใจ ว่านี่ คือส่วนของตัวแปรที่เก็บข้อมูลที่เราได้ประกาศขึ้นมาเอง และแน่นอนว่า ตัวแปร ไม่ได้มีแค่ตัวเดียวอย่างแน่นอน การที่เราจะต้องการประกาศตัวแปรหลายๆ ตัว เราก็จำเป็นจะต้อง ตั้งชื่อให้กับตัวแปร ที่เราประกาศไว้ เพื่อไม่ให้เกิดความสับสน และเพื่อให้ง่ายต่อการไล่ดูโค๊ดในภายหลัง เราจะต้องมีเทคนิคที่ดี ในการตั้งชื่อตัวแปร ให้อ่านทำความเข้าใจได้ง่าย และให้เกิดความสวยงาม

     เกริ่นมาซะยาว จริงๆ วันนี้ ผมตั้งใจ จะเล่าเรื่องสไตล์ในการตั้งชื่อตัวแปร ไม่ใช่ว่าเค้านึกอยากจะตั้งอย่างไร ก็ได้ ก็จริงอยู่ที่เราสามารถตั้งชื่อตัวแปรอย่างไรก็ได้ ตามใจฉัน เพราะฉันเป็นคนเขียนโปรแกรมนี้ขึ้นมา ขออย่างเดียว อย่าไปซ้ำกับคำสงวนแค่นั้นพอ แต่เพื่อนๆ ทราบไหมว่า การตั้งชื่อตัวแปร จริงๆ แล้วเค้ามีธรรมเนียมปฏิบัติกันอยู่ (คำว่า ธรรมเนียม แปลว่า ถ้าเราไม่ทำตาม ก็ไม่ผิดกฏ) เรามาดูกันว่า มีอะไรบ้าง

      ธรรมเนียมปฏิบัติที่มีประโยชน์มากอย่างหนึ่ง ในการตั้งชื่อตัวแปร ที่ใช้กันอยู่ทั่วไปนั่นก็คือ การระบุชนิดของตัวแปร เข้าไปในชื่อของตัวแปรด้วย รูปแบบการประกาศแบบนี้ เราเรียกว่า “Hungarian Notation”

      ในการประกาศตัวแปร แบบฮังกาเรียน นั้น จะมีการเพิ่มตัวอักษรพิมพ์เล็กนำหน้าชื่อตัวแปร เพื่อเป็นการบ่งบอกถึงชนิดของตัวแปร  ตัวอย่างเช่น

  • bBusy : boolean
  • chInitial : char
  • cApples : count of items
  • dwLightYears : double word (systems)
  • fBusy : boolean (flag)
  • nSize : integer (systems) or count (application)
  • iSize : integer (systems) or index (application)
  • fpPrice: floating-point
  • dbPi : double (systems)
  • pFoo : pointer
  • rgStudents : array, or range
  • szLastName : zero-terminated string
  • u32Identifier : unsigned 32-bit integer (systems)
  • stTime : clock time structure
  • fnFunction : function name

      นั่นเป็นการนำตัวย่อของชนิดข้อมูลมานำหน้าชื่อตัวแปร เพราะหลังจากที่ตัวแปรเหล่านี้เข้าไปอยู่ในโค๊ดยาวๆ แล้วคุณอาจจะเกิดปัญหาว่า จำไม่ได้ว่าตัวแปรตัวนี้ ถูกประกาศไว้เก็บข้อมูลชนิดใดกันแน่ ตัวอย่างที่ยกให้เห็นนี้ เป็นชื่อตัวแปรที่มีความยาวไม่มากนัก มักนิยมเป็นคำๆ แต่ถ้าเราต้องการสื่อความหมายของตัวแปร ด้วยคำที่ยาวกว่านี้หล่ะ บางทียาวเป็นวลี เราจะตั้งชื่ออย่างไร

      ธรรมเนียมในการตั้งชื่อตัวแปรยาวๆ ก็ยังมีให้เห็น สอง รูปแบบหลักๆ ก็คือ แบบแรกเป็นการใช้ตัวอักษรพิมพ์ใหญ่ที่ต้นคำ แล้วเขียนติดกันไปเลย และเมื่อผสมกับรูปแบบฮังกาเรียนเข้าไปด้วย ก็จะต้องเขียนอักษรย่อบ่งบอกชนิดตัวแปรไว้ข้างหน้าด้วย ตัวอย่างเช่น

int iCountStudent;

     ส่วนอีกรูปแบบหนึ่งก็คือ การใช้ตัวอักษรพิมพ์เล็กทั้งหมด แล้วใช้ขีดล่าง (under score) คั่นระหว่างคำ โดยเมื่อใช้กับรูปแบบฮังกาเรียนแล้ว ก็จะเขียนอักษรย่อกำกับไว้ข้างท้าย ตัวอย่างเช่น

char *record_primary_key_p;

     ทั้งสองรูปแบบนี้ เห็นได้เยอะมาก แต่ไม่ว่าคุณจะเลือกการประกาศชื่อตัวแปร แบบไหนก็ตาม ก็ขอให้คุณยึดหลักแบบนั้น ไว้ทั้งโปรแกรม แต่อย่างไรก็ดี หากคุณไม่แน่ใจว่าจะเลือกใช้รูปแบบไหนดี ตัวเลือกหนึ่งที่ช่วยให้คุณตัวสินใจได้ง่ายขึ้น นั่นก็คือ ให้คุณสังเกตที่ไลบรารี ของภาษาที่เราเลือกใช้ แล้วก็จงใช้ตามหลักของภาษานั้น เหตุผลก็เพราะว่า จะทำให้โค๊ดโปรแกรมของคุณ ดูเป็นเนื้อเดียวกัน

      ไม่ว่าคุณจะเลือกรูปแบบไหน อาจจะต้องมีการตกลงกันในทีมก่อน เพื่อให้รูปแบบการเขียนโปรแกรมไปในทิศทางเดียวกัน แต่สุดท้ายแล้ว คุณก็จะได้สไตล์การเขียนที่เป็นรูปแบบของคุณเอง สไตล์การพูดแต่ละคนไม่เหมือนกันฉันใด สไตล์การเขียนโปรแกรมก็ย่อมไม่เหมือนก้นฉันนั้น แต่เราก็พูดภาษาเดียวกัน ครับ

อ่านเพิ่มเติม...

5.2.11

วิีธีแก้ปัญหา "The JDK missing and is required to run some Netbean Module"



Netbean full package พอดี สาวๆมาขอร้องให้ช่วยทำการบ้านวิชาโปรแกรมมิ่งให้หน่อย ก็ไม่มีอะไรมากเป็นแค่ Lab ภาษา Java ง่ายๆ (แน่นอนหล่ะ ถ้ายากๆ ไม่ทำให้หรอก เพราะเราเองก็เขียนไม่เป็น) ก็ลองหา IDE มาทดลองเขียนสักหน่อย

พอดีเหลือบไปเห็นว่าเครืองเราก็ลง Netbean 6.9.1 ไว้แล้วนี่หน่า ก็เลย เปิดโปรแกรมขึ้นมา จะทำการบ้านให้เพื่อนที่ทำงานสักหน่อย ปรากฏว่า ตอนเราเลือกลง Netbean ดันเลือกลงเฉพาะ package complier ภาษา c/c++ ก็เลย เลือกลงใหม่ คราวนี้ เอาแบบ All ซะเลย หมดเรื่องหมดราว

แต่เดี๋ยวก่อน ชีวิตไม่ได้ราบรื่นขนาดนั้น โชคชะตาล้อเล่นเราได้เสมอ ปรากฏว่า พอจะเลือก สร้างโปรเจค Java สักหน่อย พี่แกดันฟ้อง error "The JDK missing and is required to run some Netbean Module" มาซะนี่

The JDK missing and is required to run some Netbean Module

เอ้า แสรด!!! งานเข้าเลยครับ ทำงัยดีหล่ะที่นี้ ก็ลงไปแบบ full package แล้วนี่หน่า ทำไมเป็นแบบนี้หล่ะ ตั้งสติก่อนสตาร์ท (อ้าว ไม่เกี่ยว ) ลองๆค้นหาดูก่อนสิ มีชาวบ้านเค้าเจอปัญหาเหมือนเราบ้างไหม ปรากฏว่า เจอเหมือนกัน ครับ

สาเหตุก็มาจากว่า ตัว netbean มันดันหาตัว jdk ของ java ไม่เจอครับ ให้เราเข้าไปแก้ไฟล์
C:\Program Files\NetBeans 6.9.1\etc\netbeans.conf ครับ ให้มองไปหาไฟล์ jdk ของ java ใหม่ แต่ว่าแพคเกจ ของ jdk ที่เราติดตั้งต้องมีอยู่นะครับ มันน่าจะมาพร้อมกับตอนที่เราติดตั้ง Netbean แบบ All นั่นแหละครับ โดยเราแก้ไปที่ path ของ jdk ในไฟล์ config ของ netbean

จากเดิมมันกำหนดเป็น netbeans_jdkhome="C:\Program Files\Java\jre6"
ก็ให้เราแก้เป็น netbeans_jdkhome="C:\Program Files\Java\jdk1.6.0_23"

netbeans.conf

แล้วก็ลองเข้าโปรแกรม netbean ใหม่ครับ ซึ่งถ้าไม่มีผีมาแกล้งซะก่อน ก็น่าจะสามารถสร้าง java project ได้ตามปกติ

Java project on netbean

อ่านเพิ่มเติม...
 

เกี่ยวกับฉัน(ไหมเนี้ย)

My photo

สวัสดีครับ ชื่อเปิ้ลนะครับ ถ้ามีอะไรให้ช่วยเหลือได้ ก็จะช่วยครับ
ผมได้สร้างบล๊อกไว้ เพื่อเก็บรวบรวมความรู้ และประสบการณ์ในการทำงานครับ แวะไปเยี่ยมชมกันได้ครับ http://mechacity.blogspot.com และบล๊อก http://faker-programmer.blogspot.com ครับ

รายการบล๊อกอื่นๆ

  • Solved: error: 'TKD2' was not declared in this scope, LIFA_Base compile error - วันนี้ จะมาเล่าถึงปัญหาที่เจอในการเบิร์นโค๊ด LIFA_Base ที่เราใช้ในการทำให้ Arduino ของเราสามารถรับคำสั่งจาก LabVIEW ได้ ปัญหานี้ เริ่มเกิดขึ้นตอนที่ Ard...
  • Type-Fu : Typing practice game online - หากใครที่สนใจ หรือจะต้องทำงานเกี่ยวกับคอมพิวเตอร์ หนึ่งในความจำเป็นก็คือ จะต้องเรียนรู้ที่พิมพ์สัมผัสได้ เพราะการที่พิมพ์สัมผ้สได้ มันได้ประโยชน์หลายๆ อย...

Blog อื่นๆ ที่น่าติดตาม

เหล่าบรรดา Blogger