มาสรุปจาก Droid Dev Talk ตอนที่ 6 เกี่ยวกับ Android Studio กันสักนิด
ตอนที่อัดรายการนี้อยู่ก็อยากเขียนขึ้นมา แปะรูปไว้ด้วย จะได้เอาไปปรับใช้
สำหรับรายการฟังได้ที่นี่จ้า เราหยิบมาไม่หมดเพราะขี้เกียจเขียน ไม่ช่ายๆ ให้ไปฟังรายการเต็มๆยังไงหล่ะ
เริ่มเลยนะ 5 4 3 2 1
สิ่งที่ชอบใน Android Studio
Resource Manager
ในนั้นจะมีแท็ป Drawable, Color, Layout แล้วก็ Mip Map ส่วนตัวชอบใช้เนื่องจากขี้เกียจเปิดดู layout ทีละไฟล์สองไฟล์ ว่าเป็นหน้าที่เราอยากแก้ไหม แล้วจะได้ดู drawable ต่างๆว่ามีอะไรที่เอามาหยิบใช้ได้บ้างงี้ เพราะโปรเจกเราใหญ่มากกกกกกกก มากจน ไม่ไหวจะเปิดดูทีละไฟล์จ้า ซึ่งมันสะดวกต่อการ refactor โดยการลบของที่ไม่ใช้ได้ด้วยแหละ แต่ตอนอัดคือจะล่กๆนิดนุง
ด้วยความที่เราดึง drawable จากใน Zeplin แล้วจะได้ mhpi, hdpi, xhdpi, xxhdpi, xxxhdpi มาใส่ใน drawable ของเราได้เลย ซึ่งสามารถเข้าไปส่อง stat ต่างๆของ Android ใน dashboard ได้ตามเน้
Gradle
เมื่อก่อนสมัย Eclipse ยากลำบากมาก ต้องก้อปโค้ดมาใส่ แถมเจอไฟล์ jar นรกอีก จำได้เลยว่าตอนฝึกงานยังหา jar มายัดเลย ตอนนี้มี gradle มาใส่ dependency ของ library ต่างๆได้ง่ายขึ้น อีกทั้งใน editor ยังบอกอีกด้วยว่า version ใหม่มาล้าวนะ
ความฉลาดในการ suggest หรือ auto complete
พิมพ์ทีเดียวรู้เรื่อง แม้ลืมเปลี่ยนภาษาก็ตาม ก็ยังมาให้ โอ้วววว กราบบบ
Kotlin REPL
เราชอบเพราะลองพิมพ์ก่อนที่จะพิมพ์ในโค้ด เผื่อแบบใส่ไปแล้ว crash ไง 55555 สามารถเข้าไปส่องใน Tools -> Kotlin -> Kotlin REPL แจ้
Scratch File
อันนี้เราก็เพิ่งรู้แหะ ฮือออออ สามารถลองกดใน macbook ของท่านได้ที่ command + shift + N เอาไว้เก็บไฟล์ เก็บโค้ดต่างๆ แถมสามารถทำ Regular Expression ได้ด้วย ว๊าวสุดๆ
Device File Explorer
เมื่อก่อนสมัย Eclipse ต้องไปเปิดหน้าแยก พอนึกออกไหม เพื่อไปดู share preference หรือไฟล์ต่างๆที่เราให้แอพเขียนขึ้นมา เช่น ไฟล์รูป และสามารถโยนไฟล์หรือดึงไฟล์ก็ได้น้าาา
Migrate to Android X
แน่นอนว่าโปรเจกเราไม่ได้ทำคนเดียว และแน่นอนมันใหญ่มาก มากจนแก้ทีละไฟล์ไม่ไหว เลยต้องใช้ตัวนี้แหละ แต่อาจจะมีติดปัญหา error บางอย่าง เนื่องจาก version ที่ต่างกันไปตามแต่กรรมและเวรของโปรเจกนั้นๆ ที่เราเคยเจอ คือ parameter เปลี่ยน เลยต้องแก้ตาม แค่ ? อ่ะ
ส่วนบล็อกทีมเดฟฝั่งจอยลดาเคยเขียนไว้ ดังนี้
Convert Java to Kotlin
แน่นอนว่าโค้ดบางอย่างยังเป็น Java อยู่แล้วขี้เกียจแปลงเอง เลยให้ editor ทำให้เลย ซึ่งมันดีย์มากๆ เก่งสุดๆ ที่เคยอัดวิดีโอไว้ก็จะเป็นประมาณเน้
ปรับสี Logcat
แน่นอนว่าเราต้องการสีสัน เดี๋ยวงงอันไหนคืออันไหนเนอะ ซึ่งเราปรับสีตามบล็อกนี้เลย
แล้วเรื่อง Log ก็จะเจอแบบนี้ Timmer สรุปควรใช้เพราะ Log มันดู hard code ไปนิดนึง ถึงแม้ว่าจะเจอ warning แปลกๆก็ตาม
Record Espresso Test
เป็น UI Test และเราขี้เกียจ มันใช้ง่ายมากๆ ง่ายจน ไม่ต้องเขียนบล็อก โค้ดมันอาจจะดูแปลกๆนิดนุง แต่เราสามารถแก้ทีหลังได้เลยจ้า
แล้วถ้าเจออะไรแปลกๆทำไงดีอ่ะ?
แน่นอนว่าเรามักจะเจอเหตุการณ์แบบนี้ เอ๊ะ string นี้เราก็ไม่ได้ลบ resource นั้นก็ยังอยู่ แต่แดงซะงั้น ทำไงดีหล่ะฮับ
ถ้าแบบ basic ที่เราใช้ จะมี 3 ขั้น คือ Clean Project>> Rebuild Project >> invalidate cache /restart
จากคำแนะนำของพี่เอก จะมีมาตรการ 3 ข้อ คือ
(1) build grade เผื่อมันเอ๋อ
(2) ลบไฟล์ grade ออกมาก่อน
(3) invalidate cache /restart
ถ้า class หาย ให้ Rebuild Project เลยจ้า
ส่วนปัญหา font ภาษาไทยเหลี่ยม จริงๆเคยเจอเมื่อนานมากแล้วตอนยังใช้ Windows อยู่อ่ะ วันนั้นเห็นมีคนถาม ถ้าใช้หน้า translate มันเป็นเต้าหู้แหละ ใช้ string.xml น่าจะดีกว่า แต่เราก็ใช้ macbook มาสักเกือบสามปี ก็ไม่เคยเจอปัญหานี้อ่ะ แหะๆ
Plug-in ที่น่าสนใจ
Nyan Progress Bar แมวรุ้งน่ารักๆๆๆๆๆๆๆ ตอนนั้นเห็นปุ๊ปคือลงปั้ปเลย น่ารักสุดๆ
จริงๆยังมี progress bar อื่นๆอีกนะ แต่เราใช้อันนี้ จะทำไมหล่ะ 555
Flutter ลงเจ้านี้แถม Dart มั้งนะ ลงไว้นานจนลืม แล้วไม่ได้ใช้ด้วยนะ บ้าจริง
Markdown support อันนี้เราใช้เพื่อแก้ไฟล์ Readme.md ล้วนๆ เวลาขึ้นไปใน github หรือไรงี้
Android Drawable Importer อันนี้เราลงตามบล็อกพี่เอก 55555 แบบเอาภาพเดียวแตกเป็น drawable ต่างๆ ซึ่งมีใช้ใน site project ของเราเป็นส่วนใหญ่
ส่วนอันนี้ลงไว้แบบงงๆ และไม่ได้พูดในรายการ เพราะงงว่าลงทำไม ใช้ทำไร55
JSON To Kotlin Class (JsonToKotlinClass)
WakaTime เราใช้เวลากับการเขียนโค้ดไปเท่าไหร่น้าา
Custom อะไรกันบ้างนะ?
Theme แน่นอนว่าใช้ Darcula และ set ให้ตัว windows header เป็นสีเข้มตาม macos ได้ด้วยยย ส่วน High contrast นึกว่าอยู่ในยุค DOS แงงงงง
ปล. มีคนโหลดตีม Material ด้วยแหละ แต่เป็น plug-in นะ
Logcat ถ้าใช้ตีมสีขาว ต้องใช้สีที่สดกว่าตีมสีดำ เพื่อในการทำเอกสาร และประหยัดหมึกพิมพ์ด้วย รวมถึงการขึ้น projector ในการ present ซึ่งจะดูที่จอด้วย ตัวอย่าง
Git Ignore เราสามารถ set ได้ด้วยนะ ใน Android Studio
Version Control ถ้างานบริษัทใช้ Sourcetree เพราะโปรเจกใหญ่ คนเยอะ งานเยอะ ดูง่ายและสะดวกกว่า โดยเฉพาะพวก branch ถ้าเราทำ site project ก็ค่อยใช้ใน Android Studio
ปิดท้ายไปดื้อๆด้วย Release Note ใน Android Studio ก็สามารถดูตามนี้ได้เลยจ้า
ส่วน Android Studio 4.0 น้านน (คือตอนแรกอยากเล่นมุกว่า เขา 4.0 แล้ว …)
ปล. พี่เอฟฝากมา contribute คือพี่เขาใช้ cmd + shift + a บ่อยๆ อยากรู้ว่าเป็นอะไรลองกดตามดูกันได้จ้า
สุดท้ายฝากร้านกันสักนิด ฝากเพจด้วยนะจ๊ะ