Gsonを使用して、共有設定にジオフェンスのリストを保存しようとしています。これは私がこれまでやってきたことです
ArrayListOfGeofence listOfGeofence = new ArrayListOfGeofence();
listOfGeofence.setmGeofencesList(mGeofenceList);
editor = goefenceIdsPreferences.edit();
Gson gson = new Gson();
String json = gson.toJson(listOfGeofence.mGeofencesList);
Log.i(TAG, "Json Geofence Objects: " + json);
editor.putString(fenceName, json).commit();
物事は本来あるべきものではありません.これは私のログが示すものです:
Json Geofence Objects: [{"Jo":"1","NU":3,"Oz":-1,"NX":12.93217,"NY":77.63186,"NZ":300.0,"Oa":0,"Ob":-1,"NW":1,"xH":1}]
私の実際のジオフェンス ArrayList は次のとおりです。
ArrayListOfGeofence: [Geofence[CIRCLE id:1 transitions:3 12.932490, 77.630830 300m, resp=0s, dwell=-1ms, @-1], Geofence[CIRCLE id:2 transitions:3 12.934540, 77.628650 300m, resp=0s, dwell=-1ms, @-1]]
そして、これは私がArrayListOfGeofenceクラスのために書いたものです
public class ArrayListOfGeofence implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
List<Geofence> mGeofencesList = new ArrayList<Geofence>();
public List<Geofence> getmGeofencesList()
{
return mGeofencesList;
}
public void setmGeofencesList(List<Geofence> mGeofencesList)
{
this.mGeofencesList = mGeofencesList;
}
}
しかし、ジオフェンス オブジェクトを元に戻すことができないため、エラーが発生します。
GSON Generic: failed to deserialized json object