Отправка сверток к другому процессу

Я использую следующий код для сериализации объекта и прикрепить его к связке с помощью putSerializable, а затем отправить пакет другому процессу через сообщение. Проблема заключается в том, что я получаю ошибку, что объект не является сериализации. я попытался добавить «орудия Serialazable», но я все еще получаю ту же ошибку.

public static byte[] serializeObject(Object o)
{ 
    ByteArrayOutputStream bos = new ByteArrayOutputStream(); 

    try { 
      ObjectOutput out = new ObjectOutputStream(bos); 
      out.writeObject(o); 
      out.close(); 

      // Get the bytes of the serialized object 
      byte[] buf = bos.toByteArray(); 

      return buf; 
    } catch(IOException ioe) { 
      Log.e("serializeObject", "error", ioe); 

      return null; 
    } 
  } 

Это код, который делает вызов:

                ArrayList<byte[]> blist=null;
                Bundle b = new Bundle();
                if (TriggerList != null && TriggerList.size() > 0)
                {
                    Iterator iter = TriggerList.iterator(); 
                    while (iter.hasNext()) 
                    {
                        Bundle entry = (Bundle) iter.next();
                        if (msg.arg1 == entry.getInt(ProjDefs.APP_ID))
                        {
                            if (blist == null)
                                blist=new ArrayList<byte[]>();
                            SerBundle sb = new SerBundle(entry);
                            byte[] bb = serializeObject(sb);
                            blist.add(bb);
                        }    
                    }
                    b.putSerializable(ProjDefs.SERIAL_DATA, blist);
                }
                NotifyClient(msg.arg1, ProjDefs.GET_APP_TRIGGERS_RESPONSE, 0, 0, b, null);

Сериализации класса:

общественный класс SerBundle реализует Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;
public Bundle bundle;

public SerBundle(Bundle bundle)
{
    this.bundle = bundle;
}

}


person Simon    schedule 24.04.2012    source источник
comment
@Simon может у отредактировать ваше сообщение с кодом, где и готовят расслоение и реализует Serialazable   -  person ρяσѕρєя K    schedule 24.04.2012
comment
добавлен код, который сделает вызовы   -  person Simon    schedule 24.04.2012
comment
являются U уверены орудия Serialazable в своем классе   -  person ρяσѕρєя K    schedule 24.04.2012
comment
Сериализации класса Adde на вопрос. обратите внимание на первую строку, расширяет сериализуемым   -  person Simon    schedule 24.04.2012


Ответы (1)


Bundle уже Parcelable. Вы можете поставить Bundle как значение внутри другого Bundle, без необходимости возиться с ObjectOutputStream.

person CommonsWare    schedule 24.04.2012
comment
Могу ли я поставить ArrayList из budles? - person Simon; 24.04.2012