โครงการ Android ที่เป็นปัญหาใช้ Serializable เพื่อส่งข้อมูลระหว่างโมดูลภายในแล้ว
ฉันกำลังทำงานกับหนึ่งในโมดูลเหล่านั้นซึ่งใช้ไลบรารีภายนอกเพื่อคำนวณเส้นทางการนำทางด้วย
ฉันต้องส่งหนึ่งในวัตถุ "ภายนอก" ไปยังโมดูลอื่น ซึ่งไม่สามารถทำให้เป็นอนุกรมได้ ดังนั้นฉันจึงไม่สามารถส่งได้ตามปกติ โปรแกรมเมอร์ที่อยู่ตรงหน้าฉันได้แปลงออบเจ็กต์ที่ไม่สามารถซีเรียลไลซ์ได้ทั้งหมดในตัวแปรคงที่ในคลาส Wrapper ฉันไม่แน่ใจว่านั่นเป็นความคิดที่ดีหรือไม่ แม้ว่าโมดูลควรจะยังคงทำงานอยู่ตลอดเวลาก็ตาม
นี่คือคลาส wrapper แบบอนุกรมได้:
private static Road road;
private NavigationStep firstNavigationStep;
/**
* To send the route information to the App. Here is everything the app needs to display the
* data to the user.
* @param road the route the user is to follow
* @param firstNavigationStep the users location and the current Step.
*/
public CurrentRoad(Road road, NavigationStep firstNavigationStep){
this.firstNavigationStep = firstNavigationStep;
this.road = road;
}
การเขียนถนนแบบชั่วคราวทำให้ฉันสูญเสียข้อมูล การเขียนคลาส wrapper ทั้งหมดสำหรับถนนจะเป็นงานมากเกินไป (จำเป็นต้องสร้างการซ้อนทับ ดังนั้นเรขาคณิตจำนวนมากจึงอยู่ภายในและมาจากไลบรารีภายนอก ดังนั้นฉันอาจลืมบางสิ่งบางอย่าง) การเปลี่ยนโปรเจ็กต์ทั้งหมดเป็น Parcelable ก็ไม่ใช่เรื่องจริงเช่นกัน
มีวิธีแก้ไขหรือไม่? เป็นวิธีที่ดีที่สุดที่จะบันทึกสิ่งที่ฉันต้องการเป็นแบบคงที่จริงหรือ