Platform Channels
MethodChannel, EventChannel, การผสานรวมโค้ด native, API native ของ Android/iOS, FFI
1Platform Channel ใน Flutter คืออะไร?
Platform Channel ใน Flutter คืออะไร?
คำตอบ
Platform Channel เป็นกลไกการสื่อสารแบบสองทิศทางระหว่างโค้ด Dart ของ Flutter กับโค้ด native ของแพลตฟอร์ม (Android/iOS) มันช่วยให้เรียกใช้ API native ที่ไม่มีใน Flutter ได้ เช่น การเข้าถึงเซ็นเซอร์ฮาร์ดแวร์ การใช้ SDK native หรือการผสานรวมโค้ด legacy การสื่อสารใช้การเข้ารหัสไบนารีแบบมาตรฐานเพื่อส่งข้อความแบบ asynchronous ระหว่างสองสภาพแวดล้อม
2ความแตกต่างหลักระหว่าง MethodChannel กับ EventChannel คืออะไร?
ความแตกต่างหลักระหว่าง MethodChannel กับ EventChannel คืออะไร?
คำตอบ
MethodChannel ใช้สำหรับการเรียกใช้ method แบบครั้งเดียวที่มีการตอบกลับเดียว (รูปแบบ request/response) เหมาะกับการทำงานอย่างการดึงระดับแบตเตอรี่หรือการเรียกฟังก์ชัน native ส่วน EventChannel ใช้รับสตรีมข้อมูลต่อเนื่องจากโค้ด native ในรูปแบบ Dart Stream เหมาะอย่างยิ่งสำหรับเหตุการณ์ที่เกิดซ้ำ เช่น การอัปเดต GPS การอ่านค่าเซ็นเซอร์ หรือการแจ้งเตือนของระบบ
3codec ใดที่ใช้เป็นค่าเริ่มต้นในการ serialize ข้อมูลใน MethodChannel?
codec ใดที่ใช้เป็นค่าเริ่มต้นในการ serialize ข้อมูลใน MethodChannel?
คำตอบ
StandardMethodCodec เป็น codec เริ่มต้นที่ MethodChannel ใช้ มันใช้ StandardMessageCodec ในการ encode และ decode ค่าที่แลกเปลี่ยนระหว่าง Dart กับโค้ด native codec นี้รองรับชนิดข้อมูลพื้นฐาน (null, bool, int, double, String), list และ map สำหรับความต้องการเฉพาะ สามารถสร้าง codec แบบกำหนดเองหรือใช้ JSONMethodCodec สำหรับการ serialize เป็น JSON ได้
จะกำหนดชื่อที่ไม่ซ้ำกันให้กับ Platform Channel ได้อย่างไร?
การเรียก MethodChannel ถูกรับบน thread ใดในฝั่ง native ของ Android?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Flutter อื่นๆ
พื้นฐาน Dart
พื้นฐานภาษา Dart
พื้นฐาน Flutter
วงจรชีวิตของ Widget
การจัดเก็บข้อมูลในเครื่อง
วงจรชีวิตของแอปพลิเคชัน
Layouts & Constraints
ListView & GridView
การนำทางและ Routing
การจัดการ State พื้นฐาน
Provider Pattern
Networking & HTTP
การซีเรียลไลซ์ JSON
ฐานข้อมูลในเครื่อง
ฟอร์มและการตรวจสอบความถูกต้อง
แอนิเมชัน
การผสานรวม Firebase
การทดสอบยูนิต
การทดสอบ widget
การ Build และ Deploy
การจัดการแพ็กเกจ
หน่วยความจำและประสิทธิภาพ
Streams & RxDart
State Management ขั้นสูง
Flutter Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
Custom Painting
สถาปัตยกรรมแอปพลิเคชัน Flutter
เชี่ยวชาญ Flutter สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี