ฉันกำลังใช้งานล่ามสำหรับภาษาการเขียนโปรแกรมที่คล้ายกับ Pascal/BASIC ที่เรียบง่ายปานกลางใน Android ฉันได้ทำ parser เสร็จแล้ว ดังนั้นโปรแกรมต่างๆ จะได้รับการจดจำ โหลดในหน่วยความจำ และพร้อมที่จะดำเนินการ ภาษานี้เป็น ขั้นตอน เลียนแบบ อินพุต/เอาต์พุตบรรทัดคำสั่ง และเห็นได้ชัดว่า ไม่ได้ขับเคลื่อนด้วยเหตุการณ์ เช่น Java ใน Android
โปรแกรมตัวอย่างอาจมีลักษณะดังนี้:
FOR i FROM 1 TO 10
READ Name
PRINT "User ", i, " name: ", Name
END_LOOP
เนื่องจากค่อนข้างใหม่กับ Android ฉันไม่รู้ว่ากล่องโต้ตอบของ Android เป็นแบบอะซิงโครนัส และดังนั้นจึงไม่สามารถขัดจังหวะการดำเนินการได้ ตามที่อธิบายไว้ในคำถามที่คล้ายกันหลายสิบข้อ (1), (2), (3), (4)
ตอนแรกฉันคิดว่า ฉันจะใช้คำสั่ง READ
โดยแสดง modal Dialog การรันโค้ดที่เกี่ยวข้องกับอินพุต การอ่าน จากผู้ใช้ จะ ต้องรอ เพื่อให้เสร็จสิ้นก่อนที่จะไปยังบรรทัดถัดไปของโค้ด แต่สิ่งนี้ไม่ควรทำด้วยกล่องโต้ตอบ ดังที่กล่าวไว้ในโพสต์ข้างต้น
ฉันพบว่าวิธีที่ "เหมาะสม" ที่สุดคือ "บันทึก" สถานะการดำเนินการของโปรแกรมทั้งหมด หยุดการดำเนินการ จากนั้นจึงเริ่มดำเนินการโดยการโหลดสถานะสุดท้าย เมื่อผู้ใช้ป้อนข้อมูลบางอย่างจากกล่องโต้ตอบ แต่ดูเหมือนว่าจะเป็นไปไม่ได้ และยุ่งยากมากเกินไปสำหรับงานง่ายๆ เช่นนี้ มีวิธีที่ง่ายกว่านี้ไหม?
ข้อเสนอแนะใด ๆ ยินดีต้อนรับ