RSS

Android Story ตอนที่ 6 Android Debug Bridge (ADB) คำสั่งเพื่อการควบคุม Android ขั้นสูง

Tue, Jan 4, 2011

0 Comments

ตอนที่ 6 นี้เราจะมาพูดถึงเรื่องที่เป็นการใช้งานขั้นสูงกันนแล้วนะครับ นั้นคือ Android Debug Bridge ซึ่งมันคือการใช้คำสั่งแบบ command line เพื่อเข้าความคุมหรือออกคำสั่งให้กับอุปกรณ์ android ซึ่งในกรณีที่ใช้เครื่องจริงก็จะใช้ผ่าน USB Driver นะครับ ส่วนใน Emulator ก็สามารถใช้ได้เช่นกัน

http://img.spacethai.net/images/imagesqtbn.jpgADB นั้นย่อมาจาก Android Debug Bridge เป็นเครื่องมือแบบ command line ที่เอาไว้จัดการข้อมูลต่างๆ บนมือถือจากพีซี (ผ่านโหมด USB Debugging ตัวโปรแกรมนี้มาพร้อมกับ Android SDK อยู่แล้ว)

การใช้งาน ADB เบื้องต้น

ตรวจสอบให้แน่ใจว่าได้เปิดโหมด USB Debug ที่โทรศัพท์หรือใน Emulator แล้ว ตั้งค่าที่ Menu > Setting >Applications >Development > USB Debugging

http://img.spacethai.net/images/sddefault1.jpg

** การใช้งาน adb ทุกครั้งต้อง สั่ง cd ไปที่ android-sdk-windows/tools

ตรวจสอบว่าคอมพิวเตอร์มองเห็นโทรศัพท์หรือยังโดยพิมพ์

./adb devices

http://img.spacethai.net/images/1bf714c8ef.png

Login shell (สำหรับเครื่องที่ Root แล้ว) ส่วน Emulator ถือว่ามีสิทธิ Root อยู่แล้ว

./adb shell

http://img.spacethai.net/images/602719bf1f.png

แสดงรายการแอพลิเคชั่นในโทรศัพท์

./adb remount
./adb shell
# cd /system/app
# ls

http://img.spacethai.net/images/e0aff94e22.png

ลบแอพลิเคชั่น

./adb remount
./adb shell
# rm /system/app/xxxx.apk

ติดตั้งแอพลิเคชั่น
./adb install xxx.apk [path directory]

ยกตัวอย่าง
./adb install AndroidThaiDict_v1.1.apk /media/data/AndroidThaiDict_v1.1.apk

http://img.spacethai.net/images/88777dd78a.png

โอนย้ายไฟล์ระหว่างคอมพิวเตอร์กับโทรศัพท์แอนดรอยด์
โอนย้ายไฟล์เข้าเครื่องโทรศัพท์

./adb push [source] [ destination]

ตัวอย่าง
./adb push /media/data/HotNews_v1.1.apk /mnt/sdcard

http://img.spacethai.net/images/3771ce2f63.png

โอนย้ายไฟล์จากโทรศัพท์
./adb pull source [destination]

ตัวอย่าง
./adb pull /mnt/sdcard/HotNews_v1.1.apk /media/data

http://img.spacethai.net/images/2ee66dd229.png

นอกจากนั้นยังมี

adb reboot ใช้สั่งให้เครื่อง Reboot ทันที

adb reboot bootloader ใช้สั่งให้เครื่องรีบูตแล้วเปิดตัวเองเข้าสู่ bootloader mode

adb reboot recovery ใช้สั่งให้เครื่องรีบูตแล้วเปิดตัวเองเข้าสู่ recovery mode ใช้สำหรับการรีเซ็ตเครื่อง


- ขอขอบคุณข้อมูลบางส่วนจาก http://www.playoss.com/node/124

Share
Continue reading...

Android Story ตอนที่ 5 Android SDK ชุดพัฒนาซอร์ฟแวร์สำหรับแอนดรอยด์

Tue, Jan 4, 2011

2 Comments

ในที่สุดก็ลุกขึ้นมาเขียนตอนที่ 5 ซึ่งตอนนี้เราจะมาแนะนำการเริ่มต้นพัฒนา Application บน Android กันนะครับ

http://img.spacethai.net/images/sdk.pngAndroid มีโครงสร้างทางสถาปัตยกรรมซอฟแวร์ดังนี้ครับ

การพัฒนา Application บน Android จะใช้ภาษา JAVA โดยต้องติดตั้งส่วนเสริมที่ชื่อว่า ADT หรือAndroid Development Tools ซึ่งเป็นส่วนเสริมของ IDE ที่ใช้ในการเขียนโปรแกรม และ ADT นี้ก็รวมอยู่เป็นส่วนหนึ่งของ Android SDK

แล้ว Android SDK คืออะไร

Android SDK ย่อมาจาก Android Software Development Kit ซึ่งเป็นชุดโปรแกรมที่ทาง Google พัฒนาออกมาเพื่อแจกจ่ายให้นักพัฒนาแอพพลิเคชั่น หรือผู้สนใจทั่วไปดาวน์โหลดไปใช้กันโดยไม่มีค่าใช้จ่าย ซึ่งนี่ก็เป็นหนึ่งในปัจจัยที่ทำให้แอพพลิเคชั่นบนแอนดรอยด์นั้นเพิ่มขึ้น อย่างรวดเร็ว ซึ่งในชุด SDK นั้นจะมีโปรแกรมและไลบรารี่ต่างๆ ที่จำเป็นต่อการพัฒนาแอพพลิเคชั่นบนแอนดรอยด์ อย่างเช่น Emulator ซึ่งทำให้ผู้ใช้สามารถสร้างแอพพลิเคชั่นและนำมาทดลองรันบนตัวอีมูเลเตอร์ ก่อน โดยมีสภาวะแวดล้อมเหมือนมือถือที่รันระบบปฏิบัติการแอนดรอยด์จริงๆ

สำหรับการเริ่มต้นและการติดตั้ง Android SDK พร้อม IDE ที่ชื่อว่า Eclipse ผมได้นำบทความจาก rutcreate.com มานำเสนอนะครับ

เรามาเริ่มกันเลย

(more…)

Share
Continue reading...

Android Story ตอนที่ 4 แอนดรอยด์ฟีเจอร์ Android Features

Mon, Jan 3, 2011

2 Comments

สำหรับตอนที่ 4 นี้เราจะมาพูดถึง Android Features ว่าระบบปฏิบัติบัติการแอนดรอยด์สามารถทำอะไรได้บ้าง

ณ ปัจจุบันนี้ Android ก็ยังไม่ได้หยุดพัฒนาทำให้ Android ยังมีการพัฒนาฟีเจอร์ต่างๆอย่างต่อเนื่อง

http://img.spacethai.net/images/androidscr.pngด้านการแสดงผล Handset layouts

Android แพล็ตฟอร์มสามารถปรับแต่งปรับแต่งการแสดงผลให้มีขนาดใหญ่ได้ จอแสดงผลในแบบ VGA , ไลบรารีกราฟิก 2 มิติ , ไลบรารีกราฟิก 3 มิติ ที่ทำงานบน OpenGL ES 2.0

ระบบจัดเก็บข้อมูลและฐานข้อมูล

ใช้ฐานข้อมูล SQLite เพื่อจัดเก็บข้อมูลและประมวลผลจากฐานข้อมูล

การเชื่อมต่อกับโครงข่าย

ระบบปฏิบัติการ Android สามารถรองรับการเชื่อมต่อกับโครงข่ายโทรคมนาคมได้หลายมาตราฐาน ไม่ว่าจะเป็น GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, และ WiMAX.

การรับส่งข้อความ

Android รองรับการส่งข้อความ SMS และ MMS ปัจจุบันมีการส่งเทรดข้อความไปยัง Android Cloud เพื่อ Messaging Device Framework (C2DM) ซึ่งเป็นส่วนหนึ่งของบริการ Android Push Messaging ระบบการรับส่งข้อความบนเซริฟเวอร์กลุ่มเมฆของ Android

เว็บเบราเซอร์

เว็บเบราเซอร์ใน Android จะทำงานบนโอเพ่นซอร์สที่ใช้เอนจิ้น WebKit โดยจะมาพร้อมกับเอนจิ้น Java Script บน Chrome เวอร์ชั่น 8 โดยการทดสอบล่าสุด Android WebKit สามารถทำคะแนนได้ 93 เต็ม 100 จากการทดสอบ Acid3

รองรับ JAVA

Android สนับสนุน Java แต่ไม่ใช่ Java Virtual Machine คลาส Java จะคอมไพล์ใหม่ไปเป็นการเอ็กซีคิวซ์แบบ Dalvik และทำงานบน Dalvik Virtual Machine ซึ่ง Dalvik เป็น Virtual Machine พิเศษที่ออกแบบให้ใช้งานกับ Android เพื่อประหยัดพลังงานในการใช้แบตเตอร์รี่บนอุปกรณ์มือถือที่หน่วยความจำและซีพียูที่จำกัด นอกจากนั้น Android ยังสนับสนุน J2MEเหมือนกับระบบปฏิบัติการบนมือถือตัวอื่นๆ โดยรันผ่าน J2ME MIDP Runner

รองรับไฟล์มัลติมีเดีย

Android สนับสนุนไฟล์ออดิโอ วิดีโอ รูปภาพ เช่น WebM, H.263, H.264 (บ้านเราเรียกว่า 3GP หรือ MP4), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP.

รองรับระบบสตรีมมิง

Android รองรับการชมการถ่ายทอดสดและการบรอดคลาส แบบ Video Streaming  ไม่ว่าจะเป็น RTP/RTSP streaming (3GPP PSS, ISMA), HTML  (HTML5 <video> tag). Adobe Flash Streaming (RTMP),ส่วน Apple HTTP Live Streaming ตั้งแต่ Android Version 2.3 เป็นต้นไป ส่วนมาตราฐานการสตรีมมิง เช่น Microsoft Smooth Streaming หรือ ที่เรารู้จักกันในนาม Silverlight ในอนาคต Android ก็มีแผนจะทำให้รองรับด้วยเช่นกัน

http://img.spacethai.net/images/p4d00ac143.jpg

รองรับอุปกรณ์ฮาร์ดแวร์ส่วนเสริมอื่นๆ

Android สามารถเชื่อมต่อกับฮาร์ดแวร์เสริมต่างๆเพื่อเพิ่มประสิทธิภาพได้ เช่น cameras, touchscreens(จอภาพระบบสัมผัส), GPS, accelerometers(เซ็นเซอร์ตรวจความเคลื่อนไหว), gyroscopes(เซ็นเซอร์ตรวจวัดการทรงตัว), magnetometers(เข็มทิสดิจิตอล), proximity and pressure sensor(เซ็นเซอร์ตรวจจับระยะห่างและความกดอากาศ), thermometers(เซ็นเซอร์ตรวจวัดอุณหภูมิ), รวมไปถึงอุปกรณ์ช่วยประมวลผลกราฟฟิก(การ์ดจอ)ได้อีกด้วย

สภาพแวดล้อมที่เกื้อหนุนต่อการพัฒนาโปรแกรม

Android ถูกออกแบบมาให้ง่ายต่อการพัฒนาต่อยอดทั้ง  emulator,เครื่องมือในการ debugging ต่างๆ,เครื่องมือในการ วิเคราะห์การใช้หน่วยความจำ,เครืองมือในการเขียนโปรแกรม integrated development environment (IDE) โดยใช้ Eclipse ที่ติดตั้งส่วนเสริม Android Development Tools (ADT)

Market

Android Market ส่วนของแอพพลิเคชั่นฟรีที่ดาวน์โหลดมากกว่า 100,000 แอพพลิเคชั่น

มัลติทัชและมัลติทาร์ก

Android รองรับระบบจอภาพแบบสัมผัสแบบมัลติทัช(Multi-touch)ที่รองรับการสัมผัสบนหน้าจอมากกว่า 1 จุด

และสนับสนุนการทำงานของแอพพลิเคชั่นในแบบมัลติทาสก์(Multitasking)สามารถเปิดโปรแกรมพร้อมๆกันหลายๆโปรแกรมได้
บลูทูช

Android ตั้งแต่ Version 1.5 support A2DP และ AVRCP สามารถเชื่อมต่อกับหูฟังได้

ส่วน การส่งและรับไฟล์ (OPP) และการเชื่อมต่อสมุดโทรศัพท์ (PBAP) เริ่มรองรับตั้งแต่ Android version 2.0 เป็นต้นไป

วีดีโอคอล Videocalling

Android รุ่นที่ออกมาหลักๆแล้วจะยังไม่รองรับ Videocall เว้นแต่รุ่นที่จำหน่ายโดยผู้ให้บริการที่มีบริการ Videocalling บนโครงข่าย UMTS เช่น Samsung i9000 Galaxy S แต่ Android นั้นรองรับการสนทนาแบบเห็นทั้งภาพและเสียงผ่าน อินเตอร์เน็ต VoIP

Voice based features ระบบสั่งงานด้วยเสียง

Android ตั้งแต่ Version 2.2 เป็นต้นไปรองรับระบบการสั่งงานด้วยเสียง

Tethering การสร้างจุด Hotspot จากโทรศัพท์มือถือ

Android ตั้งแต่ Version 2.2 เป็นต้นไป สามารถทำให้โทรศัพท์มือถือเป็นตัวกระจายสัญญาณ WiFi เพื่อให้อุปกรณ์รอบข้างสามารถเชื่อมต่ออินเตอร์เน็ตได้ ส่วน Android version ที่เก่ากว่าก็สามารถทำได้เช่นกันแต่ต้องใช้โปรแกรมเสริม

Share
Continue reading...

Android Story ตอนที่ 3 เจาะลึกลงไปในระบบปฏิบัติการแอนดรอยด์ Inside Android

Sun, Jan 2, 2011

4 Comments

เป็นการคลอดบทความที่รวดเร็วมากเนื่องจากงานเร่งครับเดี๋ยวส่งไม่ทัน ไปๆมาๆก็ขึ้นตอนที่ 3 เริ่มลงลึกเรื่อยๆนะครับ

เมื่อเราลงลึกลงไปถึงตัว ระบบปฏิบัติการแอนดรอยด์ ว่าข้างในมันมีส่วนประกอบอะไรบ้าง

Android นั้นมีโครงสร้างทางซอร์ฟแวร์ซึ่งประกอบไปด้วย

http://img.spacethai.net/images/systemarch.jpg

1. Java applications ที่รันบน Java object oriented application framework ที่ประกอบไปด้วย Java core libraries ที่รันบน Dalvik virtual machine กับ JIT compilation

just-in-time (JIT) compiler โปรแกรมที่เปลี่ยนกลับ bytecode ของ Java ให้เป็นคำสั่งที่สามารถส่งตรงไปที่โพรเซสเซอร์

2.ไลแบรี่ต่างๆที่ถูกเขียนขึ้นด้วยภาษา C เป็นระบบจัดการขั้นพื้นฐาน

3. ใช้ OpenCore เป็น media framework (ตัวจัดการด้านมัลติมีเดีย)

4.ใช้ SQLite เป็นระบบจัดการฐานข้อมูล

5. ใช้ OpenGL ES 2.0 API เป็นตัวจัดการกราฟิกแบบ 3 มิติ 3D

6. WebKit เลย์เอาต์เอนจิ้น

เว็บคิต (WebKit) เป็นเฟรมเวิร์กในลักษณะโอเพนซอร์ซที่เริ่มพัฒนาโดยบริษัทแอปเปิล ใช้ในการพัฒนาเว็บเบราว์เซอร์

7. SGL กราฟิกเอนจิ้น Skia Graphics Engine

8. SSL

Transport Layer Security (TLS) หรือชื่อเดิม Secure Sockets Layer (SSL) เป็นโปรโตคอลที่ใช้เข้ารหัสข้อมูลที่ส่งในอินเทอร์เน็ต เช่น เว็บเพจ จดหมายอิเล็กทรอนิกส์ โปรแกรมสนทนา และอื่นๆ เพื่อความปลอดภัยในการส่งข้อมูล มีข้อแตกต่างในรายละเอียดทางเทคนิคระหว่าง SSL 3.0 และ TLS 1.0 เพียงเล็กน้อย ดังนั้นตัวย่อ SSL จะหมายถึงโปรโตคอลทั้งคู่ ในกรณีที่ไม่ระบุว่าตัวใดตัวหนึ่งเป็นพิเศษ

9. Bionic C Library ไลแบรี่ภาษา C สำหรับอุปกรณ์เคลื่อนที่

http://img.spacethai.net/images/lgoptimus2.jpg

โดยรวมแล้ว Source Code สำหรับระบบปฏิบัติการแอนดรอยด์ ที่มีมากถึง 12 ล้านบรรทัด นั้นประกอบไปด้วย

ซอร์สโค๊ตที่เป็น XML (Extensible Markup Language) Layout ต่างๆ ประมาณ 3 ล้านบรรทัด

ซอร์สโค๊ตที่เขียนจากภาษา C 2.8 ล้านบรรทัด

ซอร์สโค๊ตที่เขียนจากภาษา JAVA 2.1 ล้านบรรทัด

ซอร์สโค๊ตที่เขียนจากภาษา C++ 1.75 ล้านบรรทัด

Share
Continue reading...

Android Story ตอนที่ 2 แอนดรอยด์ คืออะไร What is Android ??

Sun, Jan 2, 2011

0 Comments

หลังจากที่ตอนที่ 1 ผมได้พูดถึงประวัติของ Android ไปแล้วนะครับ ตอที่ 2 เราจะมาดูว่าเจ้า Android นี่มันคืออะไร

Android (แอนดรอยด์)คือ  ระบบปฏิบัติการบนโทรศัพท์และอุปกรณ์เคลื่อนที่ ที่เริ่มแรกเดิมทีนั้นถูกพัฒนาโดยบริษัท Android Inc. และต่อมาก็ถูกซื้อโดย กูเกิลในปี 2005 โดยที่ Android นั้นถูกพัฒนาโดยใช้รากฐานดัดแปลงมาจาก Linux kernel  ต่อมา Google และ พันธมิตบริษัทอื่นๆได้รวมตัวจัดตั้งองกรความร่วมมือทืี่ชื่อว่า Open Handset Alliance เพื่อต่อยอด Android ให้ประสบผลสำเร็จในเชิงพาณิช

http://img.spacethai.net/images/1876552468.jpg

http://img.spacethai.net/images/marketintl.png

ระบบปฏิบัติการ Android นั้นอยู่ในกลุ่มของ Open Source Project นั้นคือมีการเปิดเผยซอร์สโค๊ตให้นักพัฒนาทั่วโลกสามารถพัฒนาต่อยอดได้ โดยยอดขายของโทรศัพท์มือถือในกลุ่ม Smart phone ในประเทศสหรััฐอเมริกา Android มีส่วนแบ่งในตลาดสูงถึง 43.6%

http://img.spacethai.net/images/bglogo.pngAndroid นั้นมีชุมชนนักพัฒนาซอร์ฟแวร์ขนาดใหญ่ที่คอยสร้างสรรค์ Application หรือลูกเล่นต่างๆใหกับโทรศัพท์มือถือที่มีระบบปฏิบัติการแอนดรอยด์ โดยปัจจุบันมีโปรแกรมต่างๆ มากกว่า 200,000 โปรแกรม

การเขียนหรือการพัฒนาโปรแกรมบนแอนดรอยด์สามารถเขียนได้โดยใช้ภาษา จาวา เพื่อควบคุมอุปกรณ์ต่างๆโดยผ่านทาง Google-developed Java libraries

Share
Continue reading...
Page 2 of 3012345...Last »