15 เมษายน 2557

[Android Dev Tips] การ Import โปรเจคเข้ามาไว้ใน ADT หรือ Eclipse


        อันนี้เป็นบทความง่ายๆสำหรับผู้ที่หลงเข้ามาอ่านที่เป็นมือใหม่ที่อาจจะสงสัยกันมานานแล้วว่า Import มีแบบไหนบ้าง อันนี้จะอิงจากวิธีที่เจ้าของบล็อกใช้อยู่บ่อยๆนะ (จึงขอบอกไว้ก่อนเลยว่าบทความนี้สำหรับ ADT หรือว่า Eclipse เท่านั้น ส่วนบน Android Studio ก็จะคล้ายๆกัน แต่ก็มีแตกต่างกันเล็กน้อย)

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

        เริ่มจากเลือกไปที่ File > Import... เป็นอย่างแรกเลย



        ทีนี้มาดูที่หน้าต่าง Import จะเห็นว่ามีให้เลือกสองแบบคือ

                General > Existing Projects into Workspace
 
                Android > Existing Android Code Into Workspace



        สำหรับ General > Existing Projects into Workspace จะมีข้อดีคือ สามารถ Import ได้ทั้งจากไฟล์ zip tgz tar เป็นต้น หรือจะเลือกจากโฟลเดอร์ก็ได้เช่นกัน




        สำหรับการ Import จากการเลือกโฟลเดอร์ เจ้าของบล็อกจะไม่ค่อยชอบซักเท่าไร เพราะตัว Explorer จะกดเลือกยาก (ความคิดเห็นส่วนตัวล้วนๆ)



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

        โดยเน้นเรื่องหนึ่งคือ แนะนำให้ติ๊กเลือก Copy projects into workspace ซึ่งโปรแกรมจะคัดลอกตัวโปรเจคนี้ไปไว้ใน Workspace ที่โปรแกรมใช้งานอยู่ทันที ซึ่งมีข้อดีคือ เปรียบเสมือนการสำรองข้อมูลไว้อีกชุดหนึ่ง ในกรณีที่ไม่ติ๊กเลือกช่องดังกล่าว โปรแกรมจะมองโปรเจคตัวนี้โดยอิงที่อยู่จากต้นฉบับ เพราะงั้นถ้าเผลอไปย้ายที่อยู่ไฟล์ก็อาจจะเกิดปัญหาได้ พอดีเจ้าของบล็อกเป็นพวกชอบดาวน์โหลดมาแล้ว Import ทันทีเพื่อทดสอบดูก่อน เมื่อโอเคแล้วก็ค่อยย้ายที่อยู่เพื่อเก็บโปรเจคนั้นๆไว้อีกทีหนึ่ง



        สำหรับการ Import แบบ Android > Existing Android Code Into Workspace จะมีให้เลือก Import แค่แบบโฟลเดอร์เท่านั้น



        ถ้าถามว่าทั้งสองแบบนี้มีความต่างกันอย่างไร? เจ้าของบล็อกก็อธิบายให้ไม่ค่อยได้หรอก เพราะถึงตอนนี้ก็ยังไม่รู้เลยว่าเบื้องลึกของมันนั้นต่างกันยังไง แต่ก็เข้าใจว่าการ Import แบบ Android > Existing Android Code Into Workspace เป็นการ Import ที่ทำขึ้นมาเพื่อโปรเจคแอนดรอยด์โดยเฉพาะ

         แต่จากการทดสอบแล้วก็เหมือนๆกันอยู่ดี ฮาๆ



        เพียงแต่ว่าเวลาดาวน์โหลดโปรเจคตัวอย่างมาจาก GitHub หรือ Reference จาก Android Developer เหล่านี้จะไม่สามารถ Import ผ่าน General ได้ จึงต้องทำผ่าน Android นั่นเอง แต่สำหรับโปรเจคที่แจกกันทั่วๆไปรวมไปถึงของเจ้าของบล็อกก็ด้วย จะสามารถ Import ผ่าน General ได้เลย

        ซึ่งเวลาดาวน์โหลดจาก GitHub มาจะไม่ชอบอย่างหนึ่งคือ มันได้ไฟล์เป็น zip มา แต่ทว่าการ Import ผ่าน Android ไม่มีให้เลือกแบบไฟล์ แต่จะมีให้เลือกเป็นโฟลเดอร์เลย ทำให้เจ้าของบล็อกต้องมานั่งแตกไฟล์ zip ออกมาให้กลายเป็นโฟลเดอร์ก่อน ทำให้ไฟล์กับโฟลเดอร์ค่อนข้างรกในเครื่อง


        ดังนั้นก็จะสรุปการ Import ง่ายๆดังนี้

        • ลอง Import ผ่าน General ดูก่อน ถ้าไม่ได้ก็ค่อยเลือกผ่าน Android ทีหลัง

        • เนื่องจากการ Import ไฟล์ไม่สามารถทำจากไฟล์ rar ได้ ดังนั้นเวลาจะแจกหรือส่งโปรเจคให้ใครควรทำให้เป็นไฟล์ zip แทนที่จะเป็น rar (ไม่งั้นผู้รับต้องไปแตกไฟล์ให้เป็นโฟลเดอร์แล้วค่อย Import)

        ควรเลือก Copy Projects Into Workspace เพื่อสำรองโปรเจคไปในตัว

        • สืบเนื่องจากเวลา Import จะเลือก Copy Projects Into Workspace ดังนั้นเวลาจะลบโปรเจคใดๆออกจาก Workspace เจ้าของบล็อกก็จะเลือกให้ลบไฟล์ออกจาก Workspace ด้วย



        • เมื่อ Import เข้ามาแล้ว อาจจะเจอปัญหาต่างๆ โดยสังเกตุได้ที่รูปโฟลเดอร์ข้างหน้าจะมีเครื่องหมายตกใจสีแดงหรือกากบาทสีแดง (ถ้าเป็นเครื่องหมายตกใจสีเหลืองไม่เกี่ยวกัน สามารถใช้งานได้เลย)



        สำหรับปัญหาหลังจาก Import แล้วก็จะมีสาเหตุได้ 108 สาเหตุ เช่น โปรเจคที่นำเข้ามาเป็นเวอร์ชัน 2.2 แต่โปรแกรมของผู้ที่หลงเข้ามาอ่านติดตั้งไว้แค่ 4.4.2 ก็ลองแก้ปัญหาตามนี้ [Android Dev Tips] ปัญหา Unable to resolve target 'android-X' โดยสังเกตได้จากโปรเจคที่ Import เข้ามาจะไม่มีไฟล์ที่เป็นของ Android เวอร์ชันใดๆ



         หรือถ้าขึ้นแจ้งว่า Project has no project.properties file! Edit the project properties to set one. ก็ให้ลองคลิกขวาที่โปรเจคนั้นๆแล้วเลือก Android Tools > Fix Project Properties แล้วปิด-เปิดโปรเจคนั้นใหม่



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



        ถ้ายังขึ้นอยู่ก็ให้ลองเช็คที่ Console ดูว่ามีเออเรออะไรขึ้นแจ้งไว้ แล้วลองค้นหาตามอินเตอร์เน็ตเพื่อดูวิธีแก้ไข





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

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