มาสรุปจาก Droid Dev Talk ตอนที่ 6 เกี่ยวกับ Android Studio กันสักนิด

Android Feb 11, 2020

ตอนที่อัดรายการนี้อยู่ก็อยากเขียนขึ้นมา แปะรูปไว้ด้วย จะได้เอาไปปรับใช้

Person coding with MacBook Pro
Photo by Danial RiCaRoS / Unsplash

สำหรับรายการฟังได้ที่นี่จ้า เราหยิบมาไม่หมดเพราะขี้เกียจเขียน ไม่ช่ายๆ ให้ไปฟังรายการเต็มๆยังไงหล่ะ

เริ่มเลยนะ 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 ได้ตามเน้

Distribution dashboard | Android Developers
An overview of device characteristics and platform versions that are active in the Android ecosystem.

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 เปลี่ยน เลยต้องแก้ตาม แค่ ? อ่ะ

ส่วนบล็อกทีมเดฟฝั่งจอยลดาเคยเขียนไว้ ดังนี้

AndroidX คืออะไร และเราควรเปลี่ยนไปใช้ไหม?
อย่างที่เรารู้กันว่า Android Support Library นั้นจะมีตัวอัปเดตมาเรื่อยๆตาม SDK version และมีออกมาเพื่อแก้บัคต่างๆ เหมือนกับที่แอปของเราก็ต้องมีตัวอัปเดตเวลาเรามี Feature ใหม่ๆ หรือมีการแก้บัค…

Convert Java to Kotlin

แน่นอนว่าโค้ดบางอย่างยังเป็น Java อยู่แล้วขี้เกียจแปลงเอง เลยให้ editor ทำให้เลย ซึ่งมันดีย์มากๆ เก่งสุดๆ ที่เคยอัดวิดีโอไว้ก็จะเป็นประมาณเน้

ปรับสี Logcat

แน่นอนว่าเราต้องการสีสัน เดี๋ยวงงอันไหนคืออันไหนเนอะ ซึ่งเราปรับสีตามบล็อกนี้เลย

How To Customize Logcat Appearance in Android Studio

แล้วเรื่อง 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 แมวรุ้งน่ารักๆๆๆๆๆๆๆ ตอนนั้นเห็นปุ๊ปคือลงปั้ปเลย น่ารักสุดๆ

ตัวอย่างการใช้งาน
Nyan Progress Bar - Plugins | JetBrains
Pretty progress bars with nyan cat for IJ based IDEs.

จริงๆยังมี progress bar อื่นๆอีกนะ แต่เราใช้อันนี้ จะทำไมหล่ะ 555

Flutter ลงเจ้านี้แถม Dart มั้งนะ ลงไว้นานจนลืม แล้วไม่ได้ใช้ด้วยนะ บ้าจริง

Flutter - Plugins | JetBrains
Support for developing Flutter applications.
Dart - Plugins | JetBrains
Support for DartFeatures Smart coding assistance for Dart that includes code completion, formatting, navigation, intentions, refactorings, and moreIntegration with...

Markdown support อันนี้เราใช้เพื่อแก้ไฟล์ Readme.md ล้วนๆ เวลาขึ้นไปใน github หรือไรงี้

Markdown - Plugins | JetBrains
Provides the capability to edit Markdown files within the IDE and see the rendered HTML in a live preview.

Android Drawable Importer อันนี้เราลงตามบล็อกพี่เอก 55555 แบบเอาภาพเดียวแตกเป็น drawable ต่างๆ ซึ่งมีใช้ใน site project ของเราเป็นส่วนใหญ่

Android Drawable Importer - Plugins | JetBrains
This plugin consists of three main features. You can access them by a right-click anywhere, but not on a file, inside an Android module under New.

ส่วนอันนี้ลงไว้แบบงงๆ และไม่ได้พูดในรายการ เพราะงงว่าลงทำไม ใช้ทำไร55

Android Size Analyzer - Plugins | JetBrains
Gives concrete suggestions for reducing the size of your application.

JSON To Kotlin Class ​(JsonToKotlinClass)​

JSON To Kotlin Class (JsonToKotlinClass) - Plugins | JetBrains
Plugin for Kotlin to convert Json String into Kotlin data class code quickly.

WakaTime เราใช้เวลากับการเขียนโค้ดไปเท่าไหร่น้าา

WakaTime - Plugins | JetBrains
Metrics, insights, and time tracking automatically generated from your programming activity.

Custom อะไรกันบ้างนะ?

Theme แน่นอนว่าใช้ Darcula และ set ให้ตัว windows header เป็นสีเข้มตาม macos ได้ด้วยยย ส่วน High contrast นึกว่าอยู่ในยุค DOS แงงงงง

ปล. มีคนโหลดตีม Material ด้วยแหละ แต่เป็น plug-in นะ

High contrast
Darcula and use dark window headers

Logcat ถ้าใช้ตีมสีขาว ต้องใช้สีที่สดกว่าตีมสีดำ เพื่อในการทำเอกสาร และประหยัดหมึกพิมพ์ด้วย รวมถึงการขึ้น projector ในการ present ซึ่งจะดูที่จอด้วย ตัวอย่าง

Presentation Slide ที่ดีไม่ควรมองข้ามเรื่อง “แสง”
เมื่อก่อนผมก็ไม่ค่อยได้สัมผัสเรื่อง Presentation ซักเท่าไรนะ จนได้มาเป็น Android GDE แล้วต้อง Public Speaking บวกกับเข้าไปฟังในงานอีเว้นท์ต่างๆมากมาย ก็พบว่านอกจากเนื้อหาและวิธีการพูดแล้ว…

Git Ignore เราสามารถ set ได้ด้วยนะ ใน Android Studio

Version Control ถ้างานบริษัทใช้ Sourcetree เพราะโปรเจกใหญ่ คนเยอะ งานเยอะ ดูง่ายและสะดวกกว่า โดยเฉพาะพวก branch ถ้าเราทำ site project ก็ค่อยใช้ใน Android Studio

ปิดท้ายไปดื้อๆด้วย Release Note ใน Android Studio ก็สามารถดูตามนี้ได้เลยจ้า

Android Studio release notes | Android Developers
Discover what's new in the latest versions of Android Studio, the official IDE for Android.

ส่วน Android Studio 4.0 น้านน (คือตอนแรกอยากเล่นมุกว่า เขา 4.0 แล้ว …)

ของใน Android Studio 4.0 ที่เราว้าว จริงๆคือมันต่อเนื่องจาก Droid Dev Talk ตอนที่ 6 จริงๆ พอเห็นในเว็บเออเก็ททท - CPU...

โพสต์โดย MikkiPastel เมื่อ วันอังคารที่ 4 กุมภาพันธ์ 2020

ปล. พี่เอฟฝากมา contribute คือพี่เขาใช้ cmd + shift + a บ่อยๆ อยากรู้ว่าเป็นอะไรลองกดตามดูกันได้จ้า


สุดท้ายฝากร้านกันสักนิด ฝากเพจด้วยนะจ๊ะ

อย่าลืมกด like กด share บทความกันด้วยนะคะ :)

โพสต์โดย MikkiPastel เมื่อ วันอาทิตย์ที่ 10 ธันวาคม 2017

Tags

Minseo Chayabanjonglerd

I am a full-time Android Developer and part-time contributor with developer community and web3 world, who believe people have hard skills and soft skills to up-skill to da moon.