在Android中序列化或保存PolylineOptions

时间:2013-03-19 14:36:07

标签: java serialization sharedpreferences polyline android-maps-v2

在我的Android应用程序中,我已经将一些字符串保存到SharedPreferences并使用字符串序列化ArrayList,以便保存此数据并可用于将来的目的。即使应用程序关闭。 一分钟前,我发现我需要保存我的PolylineOptions以备将来使用。 PolylineOptions包含一些坐标,用于在地图上绘制一条颜色和宽度的线。

我发现PolylineOptions不像Strings那样可序列化。有没有办法'保存'我的PolylineOptions或者我是否需要保存PolylineOptions的设置并在启动时创建PolylineOptions?

所以真正的问题是。如何序列化非序列化对象?

2 个答案:

答案 0 :(得分:0)

一种选择是创建PolylineOptions类的可序列化版本。

例如:

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;
  }
}

如果PolylineOptions对象不是final,您可以使用Serializable类(一个简单的包装器)扩展它并实现

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

派生类中的方法。

答案 1 :(得分:0)

<div class="container">
  <div class="row">
    <div class="col-sm header">Fish</div>
  </div>
  <div class="row">
    <div class="col-sm image">
      //Image of fish
    </div>
  </div>
  <div class="row">
    <div class="col-sm header">Flower</div>
  </div>
  <div class="row">
    <div class="col-sm image">
      //Image of first flower
    </div>
    <div class="col-sm image">
      //Image of secondflower
    </div>
    <div class="col-sm image">
     //Image of thirdflower
    </div>
  </div>
</div>