28 ธันวาคม 2557

[Android Dev Tips] วิธีการ Import Library เพื่อใช้งานบน Eclipse ADT



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

        สมมติว่าเจ้าของบล็อกมี Project ตัวหนึ่งที่ทำไว้แล้ว และต้องการนำ Library จากที่อื่นมาใช้กับ Project ตัวนี้


        สิ่งที่สำคัญที่สุดก็คือผู้ที่หลงเข้ามาอ่านต้องมีไฟล์ไลบรารีก่อน (มันคงไม่ได้เสกมาจากอากาศเนอะ) ซึ่งไฟล์ไลบรารีนั้นจะมีอยู่สองแบบที่สามารถใช้งานบน Eclipse ADT ได้ นั่นก็คือ

        Library Source Code : Project ของ Library นั้นๆ (มีลักษณะเป็นโฟลเดอร์)
        Library JAR File : ไฟล์ .jar ที่ได้จากการ Build Project ของ Library ตัวนั้นๆ


วิธีการอิมพอร์ตโฟลเดอร์โปรเจคของไลบรารีมาใช้งานใน Eclipse ADT

        เอาโปรเจคของไลบรารีมาไว้ใน Workspace ก่อน โดยทำตามขั้นตอนนี้ [Android Dev Tips] การ Import โปรเจคเข้ามาไว้ใน ADT หรือ Eclipse โดยเจ้าของบล็อกขอยกตัวอย่างเป็น Library ที่ชื่อว่า TimelyTextView ของ adnan-SM



        ก่อนอื่นให้ตรวจสอบการกำหนดค่า Project ก่อนว่า Project ที่เอาเข้ามาในนี้ได้กำหนดเป็น Library Project แล้วหรือยัง โดยคลิกขวาที่ Library Project แล้วเลือก Properties



        เมื่อหน้าต่าง Properties แสดงขึ้นมา ที่ช่องซ้ายมือให้เลือก Android แล้วดูที่ช่องฝั่งซ้ายมือจะเห็นช่อง Is Library ที่ช่องนี้ต้องติ๊กเครื่องหมายถูก เพื่อกำหนดว่า Project นี้คือ Library นั่นเอง แล้วกดปุ่ม OK เพื่อปิดหน้าต่างนี้



        ต่อมาให้คลิกขวาที่ Project ที่จะเรียกใช้งาน Library  เลือก Properties



        ช่องฝั่งซ้ายมือให้เลือก Android และที่ช่องฝั่งขวามือให้กดปุ่ม Add ที่อยู่ในกรอบของ Library (อย่าเมาไปติ๊กเลือก Is Library นะ)



        จะมีรายชื่อ Library ที่ได้เพิ่มเข้ามาให้เลือก ก็เลือกซะแล้วกดปุ่ม OK



        จะเห็นว่ามีชื่อ Project ของ Library เพิ่มเข้ามาในกรอบ Library แล้ว ให้กด OK เพื่อปิดหน้าต่างนี้ได้เลย



        เท่านี้ก็เป็นการเพิ่ม Library เข้ามาใน Project ของเจ้าของบล็อกแล้ว เจ้าของบล็อกก็จะลองทดสอบด้วยการเรียกใช้คำสั่งของ Library ดังกล่าวดู


        เจ้าของบล็อกลองพิมพ์คำสั่งนิดเดียวแล้วกด Ctrl + Space Bar ถ้ามี Content Assist แสดงขึ้นมาให้เลือก ซึ่งก็หมายความว่า Project นี้มองเห็นคำสั่งของ Library แล้ว


        เหมือนจะง่าย แต่จริงๆแล้วก็ไม่ได้ง่ายอย่างที่เห็น...

        TimelyTextView เป็นไลบรารีที่เจ้าของบล็อกยกตัวอย่างขึ้นมา ที่ความจริงแล้ว TimelyTextView ดันมีการเรียกใช้งานไลบรารีตัวอื่นอีกที จึงเป็นลักษณะของการเรียกใช้งานไลบรารีกันเป็นทอดๆ ดังนั้นเจ้าของบล็อกก็ต้องไปเช็คดูว่าไลบรารีตัวนี้ไปเรียกไลบรารีตัวไหนอีก

        โดย TimelyTextView มีการเรียกใช้งานไลบรารี NineOldAndroids อีกที ดังนั้นเจ้าของบล็อกก็ต้องไปดาวน์โหลดไลบรารีดังกล่าวแล้วเอาเข้ามาไว้ใน Eclipse ADT ด้วย



        ดังนั้นใน Properties ของไลบรารี TimelyTextView ก็ต้องมีการเพิ่มไลบรารีของ NineOldAndroids ไว้ในนี้ด้วย อย่าลืมนะจ๊ะ โปรเจคไลบรารีต้องติ๊กที่ Is Library ทุกตัว


        และถ้าไม่มีไลบรารี NineOldAndroids ให้เลือกทั้งๆที่ Import เข้ามาแล้ว ก็ต้องไปเช็คที่ Properties ของ NineOldAndroids ก่อนว่าติ๊กเลือกที่ Is Library แล้วหรือยัง


        กลับมาที่โปรเจคของผู้ที่หลงเข้ามาอ่านก็จะต้องเพิ่มไลบรารีของ NineOldAndroids เข้ามาด้วยนะ



        อาจจะดูยุ่งยาก แต่นี่ก็คือวิธีพื้นฐานที่สุดของการนำ Library มาใช้งานใน Project แอพฯ ดังนั้นควรเช็คด้วยว่า Library ที่นำมาใช้นั้นมีการเรียกใช้งาน Library ตัวอื่นอีกหรือไม่ ถ้ามีก็ไปตามหามาให้ได้ซะ



การเรียกใช้งาน Library ผ่านไฟล์ JAR

        ถ้าการนำ Project  Library มา Import เองนั้นดูเป็นเรื่องยาก ก็ยังมีวิธีง่ายๆอยู่อีกวิธี นั่นก็คือการนำไฟล์ .jar ที่ได้จากการ Build Project ของ Library ตัวนั้นๆมาใช้งานเลย (คนเขียน Library จะ Build .jar มาให้)

        โดยเจ้าของบล็อกขอยกตัวอย่างเป็น Picasso ของ Square ที่มีการแจกเป็นไฟล์ .jar เลย เพราะว่า Library ตัวนี้มีการเรียกใช้งาน Library อื่นๆอีกเยอะ ถ้าเอามาทั้งหมดเองก็คงเหนื่อยไม่น้อย ดังนั้นการนำไฟล์ .jar มาใช้งานแทนก็จะง่ายกว่า

        หลักการง่ายๆก็คือเอาไฟล์ .jar มาไว้ในโฟลเดอร์ libs ของ Project เท่านั้นเอง!!


        จะเห็นว่า Project ที่สร้างขึ้นมาใหม่ๆก็มี Library ของ Android Support v4 มาให้เป็นไฟล์ .jar เลยเช่นกัน ซึ่งไม่ต้องไปยุ่งอะไรกับมัน


        แต่ถ้า Project ของผู้ที่หลงเข้ามาอ่านไม่มีโฟลเดอร์ libs ก็สร้างขึ้นมาเองเลย โดยคลิกขวาที่ Project แล้วเลือก New > Folder



        แล้วทำการตั้งชื่อเป็น libs แล้วกดปุ่ม OK เพื่อทำการสร้าง



        ก็จะมีโฟลเดอร์ libs แล้ว


        การเอาไฟล์ .jar ไปใส่ใน libs นั้นทำได้แสนง่ายจะลากวางหรือก๊อปปี้ไฟล์แล้ววางในนี้โดยตรงเลยก็ได้



        โปรแกรมจะถามว่าจะทำอะไรกับไฟล์ดังกล่าว ให้เลือกเป็น Copy files แล้วกดปุ่ม OK



        เท่านี้ .jar ก็มาอยู่ใน Project แล้ว



        ลองทดสอบเรียกใช้งานคำสั่งของ Picasso ดู ถ้าขึ้นให้เรียกใช้งานก็แปลว่าเสร็จเรียบร้อย



        สำหรับ .jar จะมีข้อเสียอย่างหนึ่งคือ ถ้า Library นั้นๆมีไฟล์พวก Resource อยู่ (res) จะไม่สามารถเรียกผ่าน .jar ได้ ต้องเอา Library Project มา Import แทน แต่อย่างกรณีของ Picasso ที่เป็น Library ที่เรียกใช้งานผ่านโค๊ด Java ล้วนๆ จึงสามารถใช้เป็นไฟล์ .jar ได้


        ขอให้สนุกสนานกับการใช้งาน Library นะครับ XD




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

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