Я пытался выполнить ваш вариант использования, похоже, работает для меня.
См. Код ниже
Я получаю массив байтов: [-84, -19, 0, 5, 116, 0, 2, 72, 105]
public class WriteObject extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_1);
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
String s = "Hi";
@Override
public void onClick(View v) {
byte[] b = WriteObject.saveDataToDisk(s);
Log.i("", b.toString());
}
});
}
public static byte[] saveDataToDisk(Object o){
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = null;
try{
ObjectOutputStream out = new ObjectOutputStream(bos);
out.writeObject(o);
out.close();
buf = bos.toByteArray();
}catch (IOException ioe){
Log.e("", ioe.toString(),ioe);
}
return buf;
}
}