Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Tuesday, November 15, 2011

3 App Keyboard ภาษาไทยบน Android

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

ตัวแรก นี่เลย Keyboard ManMan ที่พัฒนาโดย K.Natt Piyapramote เป็นตัวที่ผมชอบและใช้งานอยู่ในปัจจุบันครับ ทำให้เราพิมพ์ได้แม่นยำขึ้น ด้วยภาษาไทยที่คำนวณคำ และสร้างปุ่มกดต่อไปให้ใหญ่ขึ้น ตัวอย่างตามภาพล่างนี้ครับ


App ตัวต่อไปคือ TSwipe-Pro keyboard สำหรับตัวนี้ฟังชั่นการใช้งานเยอะครับ ปรับแต่งได้ตามความต้องการครับ

ไม่ว่าจะเป็นสีสรร ธีม ขนาด font App นี้พัฒนาโดย K.Krich Charoenpoldee ครับ และ App อีกหลายๆ ตัวที่พัฒนาออกมาเรื่อยๆ ครับ สำหรับแต่ละรุ่น ลองไปติดตามดูที่นี่เลยครับ>>https://market.android.com/developer
และถ้าผู้ที่ชื่นชอบสีสรร หน้าตาแบบ Android เดิมๆ แต่มีเสริมภาษาไทยเข้ามาต้องนี่เลยครับ Droidsans Thai Keyboard ผู้พัฒนาคือเว็บ DroidSans.com เป็นเว็บข่าวสาร Android ที่ผมเข้าไปอ่านเป็นประจำ ตั้งแต่ซื้อ Android มาใช้ครับ

สำหรับผมที่ติดตั้งใช้งานอยู่ปัจจุบันก็ 3 Apps นี้ล่ะครับ ต้องบอกก่อนครับสำหรับมือถือ Android นั้นเรื่องของภาษาไทยนั้นยี่ห้อต่างๆ ที่นำมาขายในประำเทศไทยล้วนมีอยู่ในเครื่องตอนซื้อแล้วครับ อย่างของผมของมีแป้นพิมพ์ของ LG ให้มาแล้วครับ สำหรับผมไม่ถนัดครับ เลยต้องหา Keyboard ภาษาไทยสมจริงมาใช้งานเพิ่มเติมครับ

Thursday, November 3, 2011

Android Development 101: ทำความรู้จักกับแอนดรอยด์

แอนดรอยด์คืออะไร?

แอนดรอยด์ (Android) หรือ ระบบปฏิบัติการแอนดรอยด์ (Android Operating System) เป็นชื่อเรียกชุดซอฟท์แวร์ หรือแพลตฟอร์ม (Platform) สำหรับอุปกรณ์อีเล็กทรอนิกส์ ที่มีหน่วยประมวลผลเป็นส่วนประกอบ อาทิเช่น คอมพิวเตอร์, โทรศัพท์ (Telephone), โทรศัพท์เคลื่อนที่ (Cell phone), อุปกรณ์เล่นอินเตอร์เน็ตขนาดพกพา (MID) เป็นต้น แอนดรอยด์นั้น ถือกำเนิดอย่างเป็นทางการในวันที่ 5 พฤศจิกายน 2550 โดยบริษัท กูเกิล จุดประสงค์ของแอนดรอยด์นั้น มีจุดเริ่มต้นมาจากบริษัท Android Inc. ที่ได้นำเอาระบบปฏิบัติการลีนุกซ์ (Linux) ซึ่งนิยมนำไปใช้งานกับเครื่องแม่ข่าย (Server) เป็นหลัก นำมาลดทอนขนาดตัว (แต่ไม่ลดทอนความสามารถ) เพื่อให้เหมาะสมแกการนำไปติดตั้งบนอุปกรณ์พกพา ที่มีขนาดพื้นที่จัดเก็บข้อมูลที่จำกัด โดยหวังว่า แอนดรอยด์ นั้นจะเป็นหุ่นยนต์ตัวน้อย ๆ ที่คอยช่วยเหลืออำนวยความสะดวกแก่ผู้ที่พกพามัน ไปในทุกที่ ทุกเวลา
กูเกิลแอนดรอยด์ เป็นชื่อเรียกอย่างเป็นทางการของเจ้าแอนดรอยด์ เนื่องจากปัจจุบันนี้ บริษัทกูเกิล เป็นผู้ที่ถือสิทธิบัตรในตราสัญญาลักษณ์ ชื่อ และ รหัสต้นฉบับ (Source Code) ของแอนดรอยด์ ภายใต้เงื่อนไขการพัฒนาแบบ GNL โดยเปิดให้นักพัฒนา (Developer) สามารถนำรหัสต้นฉบับ ไปพัฒนาปรับแต่งได้อย่างเปิดเผย (Open source) ทำให้แอนดรอยด์มีผู้เข้าร่วมพัฒนาเป็นจำนวนมาก และพัฒนาไปได้อย่างรวดเร็ว
แอนดรอยด์เปิดตัวอย่างเป็นทางการเมื่อวันที่ 5 พฤษภาคม พุทธศักราช 2550 ปัจจุบันมีผู้ร่วมพัฒนากว่า 52 องค์กร ประกอบด้วยบริษัทซอฟท์แวร์ บริษัทผู้ผลิตอุปกรณ์ บริษัทผู้ผลิตชิ้นส่วนอิเล็คทรอนิกส์ บริษัทผู้ให้บริการเครือข่าย และบริษัทที่เกี่ยวข้องกับการสื่อสาร ฯลฯ

ประเภทของชุดซอฟท์แวร์

เนื่องจากแอนดรอยด์นั้นเปิดให้นักพัฒนาเข้าไปชมรหัสต้นฉบับได้ ทำให้มีผู้พัฒนาจากหลายฝ่ายนำเอารหัสต้นฉบับมาปรับแต่ง และสร้างแอนดรอยด์ในแบบฉบับของตนเองขึ้น เราจึงแบ่งประเภทของแอนดรอยด์ออกได้เป็น 3 ประเภท ดังต่อไปนี้
  1. Android Open Source Project (AOSP) เป็นแอนดรอยด์ประเภทแรกที่กูเกิลเปิดให้สามารถนำ “ต้นฉบับแบบเปิด” ไปติดตั้งและใช้งานในอุปกรณ์ต่าง ๆ ได้โดยไม่ต้องเสียค่าใช้จ่ายได ๆ
  2. Open Handset Mobile (OHM) เป็นแอนดรอยด์ที่ได้รับการพัฒนาร่วมกับกลุ่มบริษัทผู้ผลิตอุปกรณ์พกพา ที่เข้าร่วมกับกูเกิลในนาม Open Handset Alliances (OHA) ซึ่งบริษัทเหล่านี้จะพัฒนาแอนดรอยด์ในแบบฉบับของตนออกมา โดยรูปร่างหน้าตาการแสดงผล และฟังค์ชั่นการใช้งาน จะมีความเป็นเอกลักษณ์ และมีลิขสิทธิ์เป็นของตน พร้อมได้รับสิทธิ์ในการมีบริการเสริมต่าง ๆ จากกูเกิล ที่เรียกว่า Google Mobile Service (GMS) ซึ่งเป็นบริการเสริมที่ทำให้แอนดรอยด์มีประสิทธิภาพ เป็นไปตามจุดประสงค์ของแอนดรอยด์ แต่การจะได้มาซึ่ง GMS นั้น ผู้ผลิตจะต้องทำการทดสอบระบบ และขออนุญาตกับทางกูเกิลก่อน จึงจะนำเครื่องออกสู่ตลาดได้
  3. Cooking หรือ Customize เป็นแอนดรอยด์ที่นักพัฒนานำเอารหัสต้นฉบับจากแหล่งต่าง ๆ มาปรับแต่ง ในแบบฉบับของตนเอง โดยจะต้องทำการปลดล๊อคสิทธิ์การใช้งานอุปกรณ์ หรือ Unlock เครื่องก่อน จึงจะสามารถติดตั้งได้ โดยแอนดรอยด์ประเภทนี้ถือเป็นประเภทที่มีความสามารถมากที่สุด เท่าที่อุปกรณ์เครื่องนั้น ๆ จะรองรับได้ เนื่องจากได้รับการปรับแต่งให้เข้ากับอุปกรณ์นั้น ๆ จากผู้ใช้งานจริง

สิทธิ์ในการใช้งานระบบ

เช่นเดียวกับระบบปฏิบัติการทั่วไป ที่มีการจำกัดการใช้งาน และการเข้าถึงส่วนต่าง ๆภายในระบบ เพื่อความปลอดภัยของระบบ และ ผู้ใช้งาน อุปกรณ์ที่ติดตั้งระบบแอนดรอยด์จึงมีการจำกัดสิทธิ์ไว้ (เว้นแต่ได้ทำการปลดล๊อคสิทธิ์ หรือ root เครื่องแล้ว) สามารถแบ่งสิทธิ์ของผู้ใช้ในการเข้าถึงระบบคร่าว ๆ ได้ดังต่อไปนี้
  1. สิทธิ์ root สิทธ์การใช้ใช้งานระดับราก ซึ่งถือว่าเป็นรากฐานของระบบ จึงมีความสามารถในการเข้าถึงทุก ๆ ส่วนของระบบ
  2. สิทธิ์ ADB (Android Develop Bridge) นักพัฒนาสามารถเข้าถึงส่วนต่าง ๆ ของระบบได้ผ่านสิทธิ์นี้
  3. Application & System สิทธิ์ของโปรแกรมในการเข้าถึงระบบ และสิทธิ์ของระบบในการเข้าถึงอุปกรณ์ โดยสิทธิ์เหล่านี้ ตัวระบบจะเป็นตัวจัดการมอบและถอนสิทธิ์ ตามเงื่อนไขที่กำหนดซึ่งจะถูกแบ่งย่อยออกเป็นหลายหัวข้อ (http://developer.android.com/reference/android/Manifest.permission.html)
  4. End-user ผู้ใช้งานขั้นสุดท้าย ซึ้งก็คือ คุณ และ คุณ ทั้งหลาย ที่ใช้การเข้าถึงส่วนต่าง ๆ ของระบบผ่านช่องทางสิทธิ์ที่โปรแกรมได้รับอีกที โดยจะถูกจำกัดไม่ให้เข้าถึงในส่วนที่เป็นอันตรายต่อแกนระบบและอุปกรณ์

ข้อจำกัดของแอนดรอยด์

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