草庐IT

Parcelable

全部标签

android - 解码 : android. support.v4.view.ViewPager$SavedState 时出现 ClassNotFoundException

我在Android崩溃报告中看到以下错误:android.os.BadParcelableException:ClassNotFoundExceptionwhenunmarshalling:android.support.v4.view.ViewPager$SavedStateatandroid.os.Parcel.readParcelable(Parcel.java:1971)atandroid.os.Parcel.readValue(Parcel.java:1859)atandroid.os.Parcel.readSparseArrayInternal(Parcel.java:21

android - Proguard 在 Parcelable 类中导致 RuntimeException(Unmarshalling unknown type code)

如果我离开我的应用程序并在一段时间后打开它,我会收到此异常。我的主要Activity包括一个带有三个不同fragment的ViewPager。我还在Application类中做了一些我认为与问题无关的东西。这是个异常(exception):RuntimeException(@Parcel:readValue:2065){UnabletostartactivityComponentInfo{com.emu/com.emu.ActivityMain}:java.lang.RuntimeException:Parcelandroid.os.Parcel@419526d0:Unmarshall

android - Proguard 在 Parcelable 类中导致 RuntimeException(Unmarshalling unknown type code)

如果我离开我的应用程序并在一段时间后打开它,我会收到此异常。我的主要Activity包括一个带有三个不同fragment的ViewPager。我还在Application类中做了一些我认为与问题无关的东西。这是个异常(exception):RuntimeException(@Parcel:readValue:2065){UnabletostartactivityComponentInfo{com.emu/com.emu.ActivityMain}:java.lang.RuntimeException:Parcelandroid.os.Parcel@419526d0:Unmarshall

java - Android:永远不会调用 Parcelable.writeToParcel 和 Parcelable.Creator.createFromParcel

我对在这里发布问题完全陌生,但是多年来我一直在这里阅读很多内容。通常我总是能够通过彻底搜索网络找到我的答案,但这次我不知所措......在又花了一天的时间试图弄清楚为什么这不起作用之后,我决定寻求帮助,希望你们能给我一些建议,或者更好的解决方案。问题:在Android游戏中,我必须让应用程序记住它的状态,例如当用户按主屏幕按钮。经过一番搜索,我意识到为了让我的类在重新打开应用程序后初始化回适当的状态,我必须支持Parcelable接口(interface)才能通过Bundle传递它们。在我的onStop和onStart函数中,我分别在Bundle中保存和恢复游戏状态,但是当我在Bund

java - Android:永远不会调用 Parcelable.writeToParcel 和 Parcelable.Creator.createFromParcel

我对在这里发布问题完全陌生,但是多年来我一直在这里阅读很多内容。通常我总是能够通过彻底搜索网络找到我的答案,但这次我不知所措......在又花了一天的时间试图弄清楚为什么这不起作用之后,我决定寻求帮助,希望你们能给我一些建议,或者更好的解决方案。问题:在Android游戏中,我必须让应用程序记住它的状态,例如当用户按主屏幕按钮。经过一番搜索,我意识到为了让我的类在重新打开应用程序后初始化回适当的状态,我必须支持Parcelable接口(interface)才能通过Bundle传递它们。在我的onStop和onStart函数中,我分别在Bundle中保存和恢复游戏状态,但是当我在Bund

java - 我不明白为什么会发生这个 ClassCastException

//Application...Intenti=newIntent();i.putExtra(EXTRA_FILE_UPLOAD_URIS,mGalleryAdapter.getItems());Uri[]getItems(){returnmItems;}//Service...intent.getParcelableArrayExtra(EXTRA_FILE_UPLOAD_URIS);//works,returnsParcelable[]Uri[]uris=(Uri[])intent.getParcelableArrayExtra(EXTRA_FILE_UPLOAD_URIS);//

java - 我不明白为什么会发生这个 ClassCastException

//Application...Intenti=newIntent();i.putExtra(EXTRA_FILE_UPLOAD_URIS,mGalleryAdapter.getItems());Uri[]getItems(){returnmItems;}//Service...intent.getParcelableArrayExtra(EXTRA_FILE_UPLOAD_URIS);//works,returnsParcelable[]Uri[]uris=(Uri[])intent.getParcelableArrayExtra(EXTRA_FILE_UPLOAD_URIS);//

java - 为什么可以将 boolean 数组写入包裹但不能写入 boolean 值?

在Parcel的文档中,它声明一个方法存在publicfinalvoidwriteBooleanArray(boolean[]val)但是没有writeBoolean(booleanval)的方法还有:publicfinalvoidwriteLong(longval)publicfinalvoidwriteLongArray(long[]val)因此类似的模式也适用于其他原始类型。有人能解释这是为什么吗? 最佳答案 有一个关于它的开放错误报告:http://code.google.com/p/android/issues/detai

java - 为什么可以将 boolean 数组写入包裹但不能写入 boolean 值?

在Parcel的文档中,它声明一个方法存在publicfinalvoidwriteBooleanArray(boolean[]val)但是没有writeBoolean(booleanval)的方法还有:publicfinalvoidwriteLong(longval)publicfinalvoidwriteLongArray(long[]val)因此类似的模式也适用于其他原始类型。有人能解释这是为什么吗? 最佳答案 有一个关于它的开放错误报告:http://code.google.com/p/android/issues/detai

Android 单元测试 : Bundle/Parcelable

如何对Parcelable进行单元测试?我创建了一个Parcelable类,并编写了这个单元测试TestClasstest=newTestClass();Bundlebundle=newBundle();bundle.putParcelable("test",test);TestClasstestAfter=bundle.getParcelable("test");assertEquals(testAfter.getStuff(),event1.getStuff());我故意尝试通过在createFromParcel()中返回null来使测试失败,但它似乎成功了。看起来它在需要之前不会