1

Android 앱에서 이미 일부 문자열을 SharedPreferences에 저장하고 String을 사용하여 ArrayList를 직렬화하므로이 데이터가 저장되어 나중에 사용할 수 있습니다. 앱이 종료 된 경우에도. 분 전에 나는 나중에 PolylineOptions을 저장해야한다는 것을 발견했다. PolylineOptions에는지도에서 색상 및 너비로 선을 그리는 좌표가 포함되어 있습니다.Android에서 PolylineOptions을 직렬화하거나 저장합니다.

PolylineOptions이 String처럼 직렬화 할 수 없다는 것을 발견했습니다. 내 PolylineOptions을 '저장'할 수있는 방법이 있습니까? 아니면 PolylineOptions의 설정을 저장하고 시작할 때 PolylineOptions를 만들어야합니까?

그래서 진짜 질문입니다. 직렬화 할 수없는 객체를 직렬화하려면 어떻게해야합니까?

답변

0

하나의 옵션은 PolylineOptions 클래스의 serializable 버전을 만드는 것입니다. 예를 들어

다음 다중 선 객체 경우

public class Blammy implements Serializable 
{ 
    public Blammy(final PolylineOptions polylineOptions) 
    { 
    //retrieve all values and store in Blammy class members. 
    } 

    public PolylineOptions generatePolylineOptions() 
    { 
    PolylineOptions returnValue = new PolylineOptions(); 

    // set all polyline options values. 

    return returnValue; 
    } 
} 

는 직렬화 클래스 (간단한 래퍼)으로 연장하고, 파생 클래스에서

private void writeObject(java.io.ObjectOutputStream out) 
    throws IOException 
private void readObject(java.io.ObjectInputStream in) 
    throws IOException, ClassNotFoundException; 
private void readObjectNoData() 
    throws ObjectStreamException; 

방법을 구현할 수, 최종되지 않습니다 .