Articles of сериализации

Как передать сериализованный объект gson в Intent в android?

Я пытаюсь передать сериализованный объект gson в намерение, используя приведенный ниже код intent.putExtra("com.example", vo); // vo is the gson serialised object. Но он бросает исключение времени выполнения, пожалуйста, помогите. java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.example.da) at android.os.Parcel.writeSerializable(Parcel.java:1285) at android.os.Parcel.writeValue(Parcel.java:1233) at android.os.Parcel.writeMapInternal(Parcel.java:591) at android.os.Bundle.writeToParcel(Bundle.java:1646) at android.os.Parcel.writeBundle(Parcel.java:605) at android.content.Intent.writeToParcel(Intent.java:6831) at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1927) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1419) […]

Сохранение / загрузка документа выполняется быстро и надежно для редактора изображений

Я ищу критику моего подхода для хранения состояния растрового редактора для мобильных телефонов Android и iPhone. Даже «Смотрится хорошо для меня!» Ответ будет замечательным! В приложении текущий пользовательский документ содержит несколько растровых слоев (каждый может быть 1024 на 768 пикселей), каждый из которых может быть нарисован. Основными требованиями для приложения являются: Мне нужно сохранить и […]

Android и протокольные буферы

Я пишу приложение для Android, которое будет хранить данные и связываться с сервером с использованием буферов протокола. Однако реализация запаса буферов протокола, скомпилированных с флагом LITE (как в библиотеке JAR, так и в сгенерированных файлах .java), имеет накладные расходы ~ 30 КБ, где сама программа составляет всего ~ 30 КБ. Другими словами, буферы протокола удваивали […]

Android Realm – Передача объекта Realm с использованием Intent

Я хочу передать объект области из одной активности в другую. например Intent intent = new Intent(MainActivity.this, Second.class); intent.putExtra("Student", studentObj); // studentObj is a realm object startActivity(intent); И получить его от Второго занятия Intent i = getIntent(); student = (Student) i.getSerializableExtra("Student"); Но это вызывает исключение нулевого указателя. java.lang.RuntimeException: Unable to start activity ComponentInfo{testapp.com.tms/tms.testapp.com.tms.view.SecondActivity}: java.lang.NullPointerException: Attempt to […]

Андроид, как сохранить растровый – багги код

Im пытается сериализовать класс, в котором у меня есть битмап-переменная. Вот код, который немного работает … Мне нужна помощь, чтобы выяснить, что еще не так ….. private Bitmap myVideoScreenshotBm; private void writeObject(ObjectOutputStream out) throws IOException{ out.writeInt(myVideoScreenshotBm.getRowBytes()); out.writeInt(myVideoScreenshotBm.getHeight()); out.writeInt(myVideoScreenshotBm.getWidth()); int bmSize = myVideoScreenshotBm.getHeight() * myVideoScreenshotBm.getRowBytes(); ByteBuffer dst= ByteBuffer.allocate(bmSize); myVideoScreenshotBm.copyPixelsToBuffer(dst); byte[] bytesar=new byte[bmSize]; dst.position(0); dst.get(bytesar); out.write(bytesar); } […]

ClassCastException при извлечении данных из пакета на Android

У меня есть состояние, которое я хочу сохранить на протяжении всего жизненного цикла фрагмента. Он отлично работает, когда экран вращается, например, но когда процесс был убит и восстановлен с диска (я думаю, что так оно работает), я получаю исключение ClassCastException. Вот какой код: Инициализация: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState == null) { […]

Proguard держать классных членов

Как я могу сообщить proguard о том, чтобы держать своих учеников? Мне нужны они для совместимости JSON … Это мой класс: package com.tools.app.holiday; public class Holiday { private String name; private Calendar dateFrom = Calendar.getInstance(); private Calendar dateTo = Calendar.getInstance(); … Я уже пробовал, но он не работает … -keepclassmembers class com.tools.app.holiday.Holiday -keepclassmembers class com.tools.app.holiday.Holiday […]

Рекомендации по сохранению данных на Android?

Существует веб-служба, которая предоставляет некоторые данные, которые использует мое приложение. Эти данные довольно большие и редко меняются ОЧЕНЬ редко, поэтому я подумал, что было бы неплохо, если бы приложение могло кэшировать его на SD-карте и обновлять по мере необходимости. В настоящее время я захватываю данные (файл XML) и анализирую их в дереве объектов с помощью […]

При использовании пакета android, почему сериализованный стек десериализуется как ArrayList?

Сериализация: Bundle activityArguments = new Bundle(); Stack<Class<? extends WizardStep>> wizardSteps = new Stack<Class<? extends WizardStep>>(); wizardSteps.push(CreateAlarmStep5View.class); wizardSteps.push(CreateAlarmStep4View.class); wizardSteps.push(CreateAlarmStep3View.class); wizardSteps.push(CreateAlarmStep2View.class); wizardSteps.push(CreateAlarmStep1View.class); activityArguments.putSerializable("WizardSteps", wizardSteps); десериализация: Stack<Class<? extends WizardStep>> wizardSteps = (Stack<Class<? extends WizardStep>>) getIntent().getExtras().getSerializable("WizardSteps"); Исключение: 12-20 23: 19: 45.698: E / AndroidRuntime (12145): вызвано: java.lang.ClassCastException: java.util.ArrayList не может быть добавлено в java.util.Stack

Как исправить Unmarshalling неизвестный код типа XXX при смещении YYY в Android?

Из-за исключения Unmarshalling у меня случился сбой приложения. Я проверил все Serializables, у которых есть конструктор без параметров, и даже проверил все сериализаторы с помощью ObjectStream (сохранение в файл и загрузка из файла). Как я могу понять фактический тип класса для допустимого смещения, вызывающего исключение: Parcel android.os.Parcel@42209460: Unmarshalling unknown type code 2131165303 at offset 3748 […]