Image may be NSFW.
Clik here to view.
Clik here to view.

Clik here to view.

เริ่มต้นด้วย Library หรือ Dependency ที่ใช้งาน
บอกได้เลยว่ามันเยอะมาก ๆ จะเยอะไปไหน ?- Google GSON
- Google Guava
- Square Dagger เป็น Dependency Injector ลงไปในส่วนต่าง ๆ ของระบบ ทำให้ส่วนการทำงานแยกเป็นส่วน ๆ ชัดเจนมากขึ้น
- Square Phrase สำหรับจัดการรูปแบบของข้อมูล ซึ่งสะดวกมาก ๆ
- Square Picasso
- Square Retrofit
- RxJava with RxAndroid
- Chrisjenx Calligraphy สำหรับการ custom font ใน app
- Bumptech Glide
- JakeWharton Timber สำหรับจัดการ Log
- JakeWharton ButterKnife
- JakeWharton DiskLRUCache
- Flipboard BottomSheet
มาดูโครงสร้างของ App กันหน่อย
ประกอบไปด้วยส่วนการทำงานดังนี้- Activity สำหรับแสดงผล และ ดักจับการใช้งานจากผู้ใช้
- View Presenter สำหรับกำหนดการทำงานในแต่ละหน้า
- Controller เป็นส่วนควบคุมการทำงานหลัก
- Data store สำหรับจัดเก็บข้อมูล
- API สำหรับดึงข้อมูลจาก API ต่าง ๆ
ส่วนที่ชอบมาก ๆ ใน App นี้ก็คือ การใช้งาน Optional จาก Google Guava
ทำให้ข้อมูลในตัวแปร และ ข้อมูลจาก method ต่าง ๆ ไม่เป็น Null แน่นอนว่า ไม่ต้องมาตรวจสอบค่า Null หรือเจอกับปัญหา NullPointerException อีกต่อไป รวมทั้งลด ละ เลิกการใช้งาน Android Annotation ต่าง ๆ ซึ่งรกตาอย่างมาก เช่น- @Nullable
- @NotNull
เมื่อไปดูใน res/drawable พบว่ามีแต่ไฟล์ xml เท่านั้น
ไม่มีไฟล์รูปภาพใด ๆ เลย เพราะว่าไฟล์รูปภาพแยกออกไปยัง folder ตามขนาดหน้าจอไปเลย เป็นแนวปฏิบัติในการพัฒนาที่ดีเลยวันนี้ได้เรียนรู้สิ่งต่าง ๆ เยอะมากจาก Medium app เพื่อนำไปประยุกต์ใช้ในการพัฒนาต่อไป มันสนุกดีนะ