12 เมษายน 2558

[Android Dev Tips] 20 ข้อดีที่ทำให้ Android Studio เป็น IDE ที่น่าใช้กว่า Eclipse ADT



        บทความนี้มีไว้อวย Android Studio โดยเฉพาะ เพราะจะมานั่งพล่ามให้ฟังว่าเจ้าของบล็อกชอบอะไรบ้างใน Android Studio ที่ไม่มีใน Eclipse ADT (หรืออาจจะหาไม่เจอเอง) ซึ่งไปนั่งรวบรวมข้อดีที่พอจะนึกออกมาได้ 20 ข้อ


อวยที่ 1

XML Layout สามารถ Preview หน้าจอได้พร้อมๆกันแล้ว

        เบื่อมั้ยกับการสลับไปมาระหว่างออกแบบหน้า Layout อยู่ เวลาพิมพ์โค๊ด XML เสร็จ ก็ต้องกดสลับมาอีกหน้าเพื่อดูผลลัพธ์ที่ได้บนหน้าจอ Preview

        บน Android Studio นั้นสามารถกดดู Preview พร้อมๆกับการนั่งพิมพ์โค๊ด XML ได้แล้ว และอยากแก้ไข View ตัวไหนก็สามารถกดเลือกบน Preview ได้เลย



        และสามารถ Preview หลายๆอุปกรณ์พร้อมกันได้อีกด้วย (โปรดมั่นใจในความแรงของคอมที่ใช้ด้วยนะ)



อวยที่ 2

หาบรรทัดในโค๊ดที่ทำให้แอพเด้งจาก LogCat ได้ง่ายมากกกกกกขึ้น

        เวลาแอพเด้งหรือมีปัญหาอะไรก็มักจะแสดงใน LogCat ซึ่งเราก็จะต้องไปนั่งดูในนั้นว่ามีปัญหาเกิดมาจากอะไรและบรรทัดไหนในโค๊ดของเรา แต่ปัญหาของผู้ที่หลงเข้ามาอ่านส่วนใหญ่ก็คือต้องมานั่งดู Log ว่าผิดตรงบรรทัดไหน

        บน Android Studio เน้นสีของบรรทัดดังกล่าวให้เห็นได้ง่ายขึ้น โดยเป็นสีน้ำเงินเพื่อบอกว่าเป็นไฟล์ที่อยู่ในโปรเจคของเราและบอกบรรทัดให้ด้วย



        และเมื่อกดที่ข้อความดังกล่าวก็จะเปิดไฟล์และเลือกไปที่บรรทัดที่เกิดปัญหาขึ้นมาให้ทันที


        โคตรสะดวกกกกกกกก


อวยที่ 3

แสดงไฟล์ที่ต้องการสร้างให้เหมาะสำหรับแต่ละโฟลเดอร์

        โดยปกติเวลาจะสร้างไฟล์ใหม่ซักตัว เจ้าของบล็อกจะต้องเลือกสร้างไฟล์ตามแต่ละโฟลเดอร์เอง แต่บน Android Studio จะขึ้นตัวเลือกให้เลย เพื่อสร้างไฟล์ที่เหมาะสมสำหรับโฟลเดอร์นั้นๆ

        เช่น drawable ก็จะมี Drawable resource file ให้เลือก และจะมีให้กำหนดด้วยว่าจะสร้าง Drawable Resource แบบไหน เช่น Shape, Selector, Bitmap หรือ Clip เป็นต้น




อวยที่ 4

แสดงค่าจาก Resource ให้เห็นในโค๊ด

       โดยปกติแล้ว Resource ต่างๆเมื่อเรียกใช้ในโค๊ด ก็จะเห็นเป็นรูปโค๊ดตรงๆ เช่น R.string.hello_world หรือ @dimen/margin_vertical เป็นต้น แต่บน Android Studio จะ Preview ค่าดังกล่าวให้เห็นในโค๊ดได้ เพื่อช่วยให้ดูได้ง่ายขึ้น


        สามารถนำเมาส์ไปวางบนนั้นเพื่อดูได้ว่าเป็น Resource อะไร และเมื่อคลิกก็จะกลับสู่รูปโค๊ดเหมือนเดิมเพื่อแก้ไขได้ทันที




อวยที่ 5 

Preview ภาพและสีให้เห็นในโค๊ด XML

        ไม่ต้องนั่งกดดูอีกต่อไปว่า Color Resource หรือ Image Resource นั้นๆเป็นอะไร เพราะใน XML บน Android Studio จะ Preview ภาพหรือสีไว้ตรงซ้ายมือของบรรทัดนั้นๆให้



อวยที่ 6 

อยากจะกำหนดค่าสีใน XML ก็มี Color Picker ให้ในตัว

        เพียงแค่กดที่กรอบสีที่อยู่ซ้ายมือของบรรทัดนั้นๆก็จะมีหน้าต่าง Color Picker แสดงขึ้นมาเพื่อให้เลือกเปลี่ยนสีได้ตามต้องการ น่าเสียดายที่ไม่สามารถทำแบบนี้ในไฟล์ Java ได้



อวยที่ 7

Preview ภาพหรือสีให้เห็นใน Code Completion

        เห็นแต่ชื่อภาพในบางครั้งอาจจะนึกไม่ออก ดังนั้นบน Android Studio ก็มี Preview ให้ได้ดูอีกด้วยว่าชื่อไหนเป็นภาพอะไร น่าเสียดายที่ไม่สามารถทำแบบนี้ในไฟล์ Java ได้ (น่าเสียดายเหมือนอวยที่ 6 เลย)




อวยที่ 8

Code Completion มีความฉลาดมาก

        การพิมพ์โค๊ดบน Android Studio นั้นง่ายขึ้นกว่าเดิมมาก เพราะไม่จำเป็นต้องพิมพ์ถูกเป๊ะๆ นึกคำสั่งเต็มๆไม่ออกก็พิมพ์แค่บางส่วนก็พอ แล้ว Code Completion ของ Android Studio ก็จะแสดงคำสั่งที่เกี่ยวข้องขึ้นมาให้เลือก


        แถม Code Completion ทำงานอยู่ตลอดเวลา แค่พิมพ์มันก็ขึ้นให้ทันที ดังนั้นจึงไม่จำเป็นต้องกด Ctrl + Space Bar เพื่อ เรียก Content Assist แบบ Eclipse ADT เลย (เว้นแต่ว่าจะเปิด Power Save Mode ไว้)

        และที่เจ้าของบล็อกชอบก็คือมันเดาคำถึงแม้ว่าจะพิมพ์คนละคำกันแบบภาพข้างล่างได้ด้วยล่ะ



อวยที่ 9

มี DDMS ในตัวและสามารถ Screenshot หรือ Screen Recording ได้เลย

        ปกติเจ้าของบล็อกอยากจะบันทึกภาพหรือวีดีโอของหน้าจออุปกรณ์แอนดรอยด์ เจ้าของบล็อกก็ต้องไปเปิด DDMS เอาเอง แต่สำหรับ Android Studio จะมีหน้าต่าง Android DDMS ให้ในตัว ทำให้สามารถกดบันทึกได้ทันที



อวยที่ 10

Auto Completion ทำงานได้ดี แม้แต่โค๊ดใน XML 

        ใน Android Studio สามารถใช้ Auto Completion ได้แม้กระทั่งในไฟล์ XML จากภาพข้างล่างเจ้าของบล็อกแค่พิมพ์แท็ก Button แล้วให้ Auto Completion ทำงาน มันก็จะเพิ่ม Attribute ที่สำคัญของ Button ให้ทันที ที่เหลือก็แค่กำหนดข้อมูลในแต่ละ Attribute


        และสามารถใช้กับ Namespace อื่นๆนอกเหนือจาก android ได้ด้วย เพราะเดิมทีบน Eclipse ADT ไม่รองรับ Code Completion ที่เป็น Namespace อื่นๆ ที่ใช้เวลากำหนด Attribute ต่างๆที่มาจาก Custom View Library 



อวยที่ 11

Search Everywhere ค้นหาทุกสิ่งอย่างใน Android Studio

        เวลาจะหาเมนูอะไรซักอย่างหรือไม่ซักตัว แต่ไม่รู้ว่าอยู่ตรงไหน ก็เพียงแค่ใช้ปุ่ม Search Everywhere ใน Android Studio เพื่อค้นหาได้เลย หาได้ยันเมนูตั้งค่า



        หมายเหตุ - ตั้งแต่ Android Studio 1.1 ลงไปจะค้นหาได้แค่ไฟล์ในโปรเจคเท่านั้น ต้องเวอร์ชัน 1.2 ขึ้นไปถึงจะค้นหาอย่างอื่นได้นอกเหนือจากชื่อไฟล์ สามารถตั้งค่าได้ที่ปุ่มรูปเฟืองที่อยู่ในแถบ Search Everywhere



อวยที่ 12 

ใช้ Gradle เป็น Build Automation System

        จากการที่ Android Studio เปลี่ยนมาใช้ Gradle แทน Ant จึงทำให้มีความยืดหยุ่นในการ Builld Project ค่อนข้างสูง สามารถกำหนดคำสั่งในการ Build เองได้ ถึงแม้ว่ามันจะดูงงและเข้าใจยากสำหรับมือใหม่ก็เถอะ รวมไปถึงการจัดการกับ Dependencies ที่ทำให้ชีวิตง่ายขึ้นมาก ลดความยุ่งเหยิงในการใช้งานไลบรารีไปได้เยอะเลย




อวยที่ 13

ลาก่อน Workspace บน Eclipse ADT

        บน Android Studio ได้เปลี่ยนมาจัดการกับโปรเจคเพียงหนึ่งหน้าต่างต่อหนึ่งโปรเจคเท่านั้น ใช้ระบบ Module เข้ามาแทน ลดความซับซ้อนของโปรเจค และ Dependencies จะถูกเรียกใช้งานแยกกันในแต่ละโปรเจค ต่างจาก Eclipse ADT ที่ Import Library มาเก็บไว้ใน Workspace แล้วใช้ได้หลายโปรเจค ทำให้เวลามีการเปลี่ยนแปลงโปรเจคหรือย้ายไปที่อื่นทำให้มีปัญหาได้

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



อวยที่ 14

Sample Code ดึงจาก GitHub ได้ทันที

        สามารถเปิด Sample Code มาดูได้ โดยจะ Clone Source Code มาจาก GitHub ทำให้ไม่ต้องมานั่งเปิดไฟล์ใน Android SDK อีกต่อไป



อวยที่ 15

Device Definition ทำใหม่เข้าใจง่ายขึ้น ละเอียดมากขึ้น

        ถึงแม้จะไม่ค่อยได้ใช้ AVD ก็ตาม แต่ Device Definition ก็มีความสำคัญอยู่ดี เพราะสามารถกำหนด Device เพื่อใช้ Preview หน้าจอใน Layout XML ได้ ซึ่งบน Android Studio ก็ได้มีการทำใหม่ให้ดูเข้าใจง่ายขึ้น กำหนดค่าได้ง่าย รวมไปถึง Import/Export Profile ก็ได้



อวยที่ 16

หน้าต่าง Project Structure ที่ช่วยให้กำหนดค่าในการ Build Project ได้ง่ายขึ้น

        ลองนึกภาพตอนที่ผู้ที่หลงเข้ามาอ่านจะ Export โปรเจคซักตัว สิ่งที่ต้องทำคือเลือกเมนู Export แล้วกำหนด Keystore และที่อยู่ที่ต้องการ Export ซึ่งจะต้องเข้าไปที่หน้าต่าง Export ทุกครั้ง

        บน Android Studio มีหน้าต่างที่ให้ผู้ที่หลงเข้ามาอ่านกำหนดการ Export ไฟล์ได้ ลดขั้นตอนลงเหลือเพียงแค่สั่งให้ Build ไฟล์ขึ้นมาเท่านั้นเอง อีกทั้งยังกำหนดประเภทของการ Export ไฟล์ได้อีกด้วย ไม่ว่าจะเป็น Flavors หรือ Build Types ทำให้ไม่ต้องมานั่งสลับ Config เองทุกครั้งเวลาที่จะ Build Project คนละแบบ


        และในหน้าต่างนี้ก็กำหนด Dependencies ได้โดยไม่ต้องไปนั่งพิมพ์โค๊ดเองด้วย


อวยที่ 17

รองรับ Version Control ได้เป็นอย่างดี

        Android Studio สามารถใช้งาน Version Control ได้ง่ายและสะดวกกว่า Eclipse ADT และรองรับ GitHub โดยตรงด้วย




อวยที่ 18 

มี Terminal ให้ในตัว

        ไม่ต้องเปิดหน้าต่าง Command Prompt หรือ Terminal ขึ้นมาแยกต่างหาก เพราะ Android Studio มีให้แล้วในตัว แถม Path ไปยังโปรเจคนั้นๆให้ทันที



อวยที่ 19

Power Save Mode สำหรับใช้งานนอกสถานที่

        เนื่องจาก Android Studio นั้นพิมพ์ทรัพยากรเครื่องค่อนข้างเยอะ เพื่อแลกกับประสิทธิภาพของโปรแกรม แต่ถ้าทำงานนอกสถานที่ไม่มีปลั๊กไฟให้เสียบ ก็สามารถเปิด Power Save Mode เพื่อลดการทำงานลงได้ด้วยนะ โดย Inspection จะหยุดทำงานอัตโนมัติ เพื่อลดการใช้พลังงาน (สามารถกดเรียกใช้งานทีละคำสั่งได้)

        ใน Power Save Mode จะต้องกด Ctrl + Space Bar เองเพื่อเรียก Code Completion ดังนั้นถ้าผู้ที่หลงเข้ามาอ่านคนใดประสบปัญหา Code Completion ไม่ทำงานอัตโนมัติก็แปลว่าไปกดเปิดโหมดนี้ไว้นะจ๊ะ



อวยที่ 20

Presentation Mode เหมาะอย่างยิ่งกับการเอาไว้ใช้สอน

        Android Studio จะมี Presentation Mode เพื่อเปิดหน้าต่าง Android Studio ให้เต็มจอ ปรับขนาดตัวหนังสือให้ใหญ่ขึ้น และสามารถพิมพ์แก้ไขคำสั่งได้ ดังนั้นจึงเหมาะสำหรับการนำไปใช้ในการสอน




        จริงๆแล้วยังมีอีกหลายข้อที่เจ้าของบล็อกยังนึกไม่ออก แต่เพียงแค่ 20 ข้อที่เจ้าของบล็อกอวยนี้ ก็น่าจะทำให้เห็นกันแล้วว่า Android Studio นั้นน่าใช้มากเพียงใด

         มาลองใช้ Android Studio กันเถอะจ้า (อวยซะขนาดนี้แล้ว)





เหล่าพันธมิตรแอนดรอยด์

Devahoy Layer Net NuuNeoI The Cheese Factory Somkiat CC Mart Routine Artit-K Arnondora Kamonway Try to be android developer Oatrice Benz Nest Studios Kotchaphan@Medium Jirawatee@Medium Travispea@Medium