การบ้าน สัปดาห์ที่ 1: MyDiary ของฉัน
คะแนนเต็ม 15 คะแนน | กำหนดส่ง: ........................
ส่ง: ไฟล์ main.dart + ภาพหน้าจอ 3 ภาพ (รายการ / รายละเอียด / เกี่ยวกับ) — ตั้งชื่อ รหัสนักศึกษา_HW1
โจทย์
นำแอป MyDiary ที่ทำใน Lab มา ปรับให้เป็นของตัวเอง — เปลี่ยนธีมแอปจาก "ไดอารี" เป็นหัวข้อที่คุณสนใจ พร้อมทำให้ครบตามเกณฑ์
เลือกธีมของคุณเอง 1 อย่าง (หรือคิดใหม่): - ไดอารีบันทึกประจำวัน (ตามตัวอย่าง) - รีวิวร้านอาหารที่เคยไป - รายการหนัง/ซีรีส์ที่อยากดู - หนังสือที่อ่านแล้ว - สถานที่ที่อยากไปเที่ยว
หัวใจ: ใช้โครงเดิม (รายการ → รายละเอียด → เมนูล่าง) แค่เปลี่ยนเนื้อหาให้เป็นเรื่องที่คุณสนใจ
เกณฑ์ให้คะแนน (15 คะแนน)
ก. หน้ารายการ (5 คะแนน)
| ข้อ | รายละเอียด | คะแนน |
|---|---|---|
| ก1 | มี Model (class) ที่มี field ≥ 3 (เช่น ชื่อ, รายละเอียด, วันที่/คะแนน) | 2 |
| ก2 | ListView.builder แสดงข้อมูล ≥ 5 รายการ | 2 |
| ก3 | ใช้ Card + ListTile จัดแต่ละแถวสวยงาม (มีไอคอน) | 1 |
ข. การนำทาง (5 คะแนน)
| ข้อ | รายละเอียด | คะแนน |
|---|---|---|
| ข1 | แตะรายการ → เปิดหน้ารายละเอียด (Navigator.push + MaterialPageRoute) | 3 |
| ข2 | หน้ารายละเอียดแสดงข้อมูลครบทุก field (ส่งผ่าน constructor) | 2 |
ค. เมนูและความสมบูรณ์ (5 คะแนน)
| ข้อ | รายละเอียด | คะแนน |
|---|---|---|
| ค1 | BottomNavigationBar สลับ ≥ 2 หน้าได้ | 2 |
| ค2 | หน้าเกี่ยวกับใส่ชื่อ-รหัสตัวเอง + จัดหน้าสวย | 1 |
| ค3 | เปลี่ยนธีมเป็นเรื่องของตัวเอง (ไม่ใช่ไดอารีตามตัวอย่างเป๊ะ) | 1 |
| ค4 | แอป build ผ่าน ไม่มี error / จัด layout ไม่ล้นจอ | 1 |
โบนัส (+2)
- (+1) ทำ Challenge สีการ์ดสลับ (จาก Lab)
- (+1) เพิ่มลูกเล่นเอง เช่น เปลี่ยนสีไอคอนตามหมวด, เพิ่ม field คะแนนดาว, จัดหน้ารายละเอียดสวยเป็นพิเศษ
สรุปคะแนน
| หมวด | คะแนน |
|---|---|
| หน้ารายการ | 5 |
| การนำทาง | 5 |
| เมนู + ความสมบูรณ์ | 5 |
| โบนัส | +2 |
| รวม | 15 (+2) |
คำถามท้ายงาน (ตอบในคอมเมนต์ท้ายไฟล์ หรือไฟล์แยก)
ListView.builderกับการเขียน Column ใส่ Card ทีละอันเอง ต่างกันยังไง? อันไหนเหมาะกับข้อมูลเยอะ?- ตอนแตะรายการเพื่อเปิดหน้ารายละเอียด ข้อมูลถูกส่งไปหน้าใหม่ได้อย่างไร? (ผ่านอะไร)
- ตอนนี้ถ้าอยากเพิ่มรายการใหม่ ต้องทำยังไง? สะดวกไหม? (คิดว่าสัปดาห์หน้าจะแก้ปัญหานี้อย่างไร)
คำแนะนำ
- ก็อปโครงจาก Lab มาแก้ — ไม่ต้องเขียนใหม่ทั้งหมด เปลี่ยนแค่ Model และข้อมูล
- รันบ่อยๆ (F5) ทุกครั้งที่แก้ จะได้เจอ error เร็ว แก้ง่าย
- เปิดคลังโค้ด Widget พื้นฐาน ประกอบ ถ้าลืมว่า Widget ไหนเขียนยังไง
- ติด error → อ่านข้อความสีแดงข้างล่างจอ มักบอกบรรทัดที่ผิด
เงื่อนไข: แอปต้อง build ผ่าน (รันขึ้น) — รันไม่ได้เลยได้ไม่เกินครึ่ง | ห้ามใช้รูป/ไอคอนละเมิดลิขสิทธิ์
หมายเหตุ: เก็บโปรเจกต์นี้ไว้ — สัปดาห์หน้าต่อยอดเป็นแอปที่เพิ่ม/ลบ/แก้ข้อมูลได้จริง