草庐IT

parcelable

全部标签

android - 如何在 Android 中使用 Parcel?

我正在尝试使用Parcel来写然后读回一个Parcelable。出于某种原因,当我从文件中读回对象时,它以null的形式返回。publicvoidtestFoo(){finalFooorig=newFoo("blahblah");//WroteorigtoaparcelandthenbytearrayfinalParcelp1=Parcel.obtain();p1.writeValue(orig);finalbyte[]bytes=p1.marshall();//ChecktomakesurethatthebytearrayseemstocontainaParcelableassert

android - 如何在 Android 中使用 Parcel?

我正在尝试使用Parcel来写然后读回一个Parcelable。出于某种原因,当我从文件中读回对象时,它以null的形式返回。publicvoidtestFoo(){finalFooorig=newFoo("blahblah");//WroteorigtoaparcelandthenbytearrayfinalParcelp1=Parcel.obtain();p1.writeValue(orig);finalbyte[]bytes=p1.marshall();//ChecktomakesurethatthebytearrayseemstocontainaParcelableassert

【Harmony OS】【JAVA UI】鸿蒙系统中怎么使用Parcel进行存储数据或数据传递

 Parcel简介在IPC过程中,发送方可以使用Parcel提供的写方法,将待发送的数据以特定格式写入Parcel对象。接收方可以使用Parcel提供的读取方法从Parcel对象中读取特定格式的数据。Parcel实例的默认容量为200KB。如果您想要更多或更少,请使用setCapacity(int)更改它。注意:只有以下数据类型的数据才能写入或从包裹中读取:byte,byteArray,short,shortArray,int,intArray,long,longArray,float,floatArray,double,doubleArray,boolean,booleanArray,cha

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来使测试失败,但它似乎成功了。看起来它在需要之前不会