jjzjj

Parcelable

全部标签

android - Pendingintent getbroadcast lost parcelable data

问题来了。我的程序在Android6.0上运行完美。将设备更新到android7.0.Pendingintent无法将parcelable数据传递给boradcastreceiver。这是代码。拉响警报publicstaticvoidsetAlarm(@NonNullContextcontext,@NonNullTodotodo){AlarmManageralarmManager=(AlarmManager)context.getSystemService(context.ALARM_SERVICE);Intentintent=newIntent(context,AlarmReceiv

android - 什么是 Parcel.enforceInterface?

谁能告诉我Android的Parcel类中的enforceInterface方法是做什么的?开发者网站没有解释其目的,Google也没有返回任何有用的匹配。谢谢。 最佳答案 该方法在处理RPC调用时会检查客户端和服务端的接口(interface)是否相同。详细过程:客户端调用服务器远程方法,在调用mRemote.transact之前,该方法_data.writeInterfaceToken(DESCRIPTOR);会先调用。服务器端onTransact会被调用,然后调用data.enforceInterface(descriptor

android - Parcelable 和继承

这已经在SO上被问过几次了,但我的情况有点不同。我有实现Parcelable的A类。A类包含一些可以parceled的成员数据。它有自己的CREATOR并实现了writeToParcel()、describeContents()和一个接受Parcel的构造函数.有类B继承自类A。类B有额外的成员数据,但是它们都不需要分包。基本上,B类的parcelable数据与A类相同。如果我尝试将B放入一个Bundle中,将其传递给另一个Activity,然后再读取它,我将得到一个ClassCastException。我想这是意料之中的。经过反复试验,为了使B类可打包,我必须至少实现以下两点:pub

android - 将对象从一个 Activity 传递到另一个 Activity

我在我的一项Activity中有一个文件,我写入它(类似于日志文件)。我想将它传递给另一个Activity并向其附加一些其他信息。我该怎么做?我听说过Parcelable对象,但我不知道这是否是正确的解决方案。 最佳答案 在Appicaltion类中存储变量是NOTagoodOOPconcept.正如您已经提到的,通常由Parcelable完成,这是您的模型类实现它的示例:publicclassNumberEntryimplementsParcelable{privateintkey;privateinttimesOccured;p

android - 使用Gson实现parcelable接口(interface)

我正在尝试使用Gson实现parcelable接口(interface)。想法是创建一个json字符串(使用gson)并将其写入parcel对象。这是否是实现接口(interface)的正确方法?我遇到的唯一问题是在反序列化对象时。实际上,我使用gson来重新创建对象。privateMyClass(Parcelin){Stringjson=in.readString();Gsongson=newGson();gson.fromJson(json,getClass());}问题在于fromJson函数返回一个对象,该对象是构造函数应该创建的对象。最后一行代码应该是这样的this=gson

android - 将 Activity 中的 Arraylist 传递给 Fragment

我有MyClass实现Parcelable。并有2个fragment。在MainActivity(onCreate)中我有代码:ArrayListdata=newArrayList();............Bundleextras1=newBundle();extras1.putParcelableArrayList("arraylist",data);Tab1Fragmentfg=newTab1Fragment();fg.setArguments(extras1);在Fragment(onCreateView)中:Bundleextras=getArguments();ListV

android - 序列化对象以在 Android 上发送 Intent

我想在Android上的Activity和服务之间传递对象。执行此操作的直接方法是让您的对象实现Serializable或Parcelable。Serializable是比较差的性能。Parcelable另一方面要求我自己实现和维护序列化,即永远记得在将来更新它。我正在考虑使用JacksonJson序列化程序来完成这项任务。它比Java内置的序列化速度更快,并且不需要我编写和维护序列化代码。你怎么看? 最佳答案 如果性能很重要,那么您真的应该选择Parcelable。JSON会相对较慢,因为它的效率低于Parcelable,Parc

android - 在进程之间传递游标(Parcelable Cursor)

我需要将Cursor(SQLiteCursor)从服务传递到API10上的应用程序,并且很难找到一个像样的(和快速)解决方案。我看过CursorWindow类。这是Parcelable但我无法在API10上实例化此类以使用SQLiteCursor.fillWindow()因为它没有有效的构造函数。CursorWindow(boolean)已弃用。即使我得到一个包含来自SQLiteCursor的数据的CursorWindow实例,我如何将这个窗口复制到一个新的Cursor中?我应该为此使用什么Cursor实现?我看不到扩展AbstractWindowedCursor的可用Cursor。感

android - 将 ArrayList<Object> 从 BroadCastReceiver 发送到 Activity

场景:我有一个闹钟计划在指定的时间运行。每次执行时,我的BroadCastReceiver都会触发。在BroadCastReceiver中,我进行了各种检查,最后得到了一个Notify类的ArrayList我在状态栏上显示通知当用户点击通知时,我会显示一个Activity。我需要在我的Activity中使用ArrayList在View上显示它。示例代码如下:publicclassReceiverAlarmextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){ArrayList

android - 将位图放入包中

我想使用AIDL将字符串和位图传递给服务。该服务实现了这个AIDL方法:voidaddButton(inBundledata);在我的例子中,Bundle包含一个字符串和一个位图。调用应用程序(客户端)有这段代码:...//AddtexttothebundleBundledata=newBundle();Stringtext="Sometext";data.putString("BundleText",text);//AddbitmaptothebundleBitmapicon=BitmapFactory.decodeResource(getResources(),R.drawable