Articles of parcelable

Android Kotlin创建类实现Parcelable在writeToParcel方法的’override’中给出错误

为了使用Parcelable,我遵循了此版本的Kotlin 1.1.4: https : //blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/ 在项目中添加此行 androidExtensions { experimental = true } 然后定义一个类: @Parcelize class User(val firstName: String, val lastName: String) : Parcelable writeToParcel()和createFromParcel()方法是自动创建的 override fun writeToParcel(parcel: Parcel, flags: Int) { … } 但仍然在带有消息的’override’关键字中出错 OVERRIDING_WRITE_TO_PARCEL_IS_NOT_ALLOWED:不允许覆盖’writeToParcel’。 请改用“Parceler”伴侣对象 你能告诉我正确的方法吗? 编辑:只有默认构造函数中定义的属性是否会添加到Parcel,而其他属性不是? 我在这节课中看到了这个警告。 PROPERTY_WONT_BE_SERIALIZED:属性不会被序列化为“包裹”。 添加“@Transient”注释以删除警告

通过bundle检索parcelable对象是否始终创建新副本?

我通过在创建片段时添加到一个包中将一个parcelable对象传递给一个片段。 在onc实例中,对此parceled对象的修改反映了原始对象的修改,而在另一种情况下则不是。 我对这种行为感到有些困惑。 直到现在我已经假设通过一个包检索一个包围的对象总是创建一个新对象[不确定它是浅拷贝还是深拷贝]。 有人请澄清可怜行为。

尝试在自定义对象数组上执行readParcelable时出现ClassCastException

我正在尝试实现Parcelable而不是Serializble,因为它应该更高效。 从我的MainActivity我想将Message对象传递给另一个activity,我的类Message包含其他类。 如果我遇到这个错误,我肯定我会遇到更多的错误,但是现在当我尝试运行我的应用程序时,我得到了 这是我的Message-class: import java.util.ArrayList; import android.os.Parcel; import android.os.Parcelable; public class Message implements Parcelable { int id; int space_id; String text; String html; String created_at; int[] comments; boolean is_liked; int[] liked_by; int[] starred_by; boolean is_starred; boolean is_followed; int[] followed_by; ArrayList attachments; String url; int[] tags; boolean is_system; public User created_by; public Permissions persmissions; public […]

如何在片段中使用Parcelable获取数据?

我可以在Activity中使用Parcelable,但我不知道如何在Fragment中使用它。 我在FragmentGet中有一个ListFragment来显示ListView中的所有行数据库,我想在单击时获取另一个Fragment中ListView的详细信息,我使用Parcelable在Fragments之间传递数据。 这是我的Test.java: import android.os.Parcel; import android.os.Parcelable; public class Test implements Parcelable { private int studentNumber; private String studentName; private String studentFamily; public int getStudentNumber() { return studentNumber; } public void setStudentNumber(int studentNumber) { this.studentNumber = studentNumber; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public […]

在已签名的应用程序中将包裹写入包裹

我在我的Android应用程序中尝试了一个非常奇怪的行为,并且无法在Stackoverflow或其他任何地方find解决方案。 我有一个Android应用程序正常工作,从Eclipse加载到手机时没有错误。 但是签名后我在Logcat中看到了这个错误: E/DatabaseUtils(2360): Writing exception to parcel E/DatabaseUtils(2360): java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL E/DatabaseUtils(2360): at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13140) E/DatabaseUtils(2360): at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038) E/DatabaseUtils(2360): at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:607) E/DatabaseUtils(2360): at android.content.ContentProvider$Transport.call(ContentProvider.java:279) E/DatabaseUtils(2360): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273) E/DatabaseUtils(2360): at android.os.Binder.execTransact(Binder.java:388) E/DatabaseUtils(2360): at dalvik.system.NativeStart.run(Native Method) 在那之后: E/Parcel(2360): […]

Parcel.readException将对象传递给远程服务

我编写了一个远程服务,客户端可以使用Android提供的IPC常用机制登录,绑定似乎有效。 当我去调用一个必须将对象作为parameter passing的方法时会出现问题,因为我得到了这个“好奇”的exception: 10-19 15:09:04.601: ERROR/AndroidRuntime(2985): FATAL EXCEPTION: main 10-19 15:09:04.601: ERROR/AndroidRuntime(2985): java.lang.NullPointerException 10-19 15:09:04.601: ERROR/AndroidRuntime(2985): at android.os.Parcel.readException(Parcel.java:1253) 10-19 15:09:04.601: ERROR/AndroidRuntime(2985):at android.os.Parcel.readException(Parcel.java:1235) 10-19 15:09:04.601: ERROR/AndroidRuntime(2985): at it.domod.commons.interfaces.DeviceManager$Stub$Proxy.sendCommand(DeviceManager.java:121) 它似乎是从.aidl文件生成的代理类抛出的。 更奇怪的是,对象似乎正确传递但可能存在错误。 任何想法?

android:如何持久存储一个跨越?

我想持久保存Spanned对象。 (我现在正在保存它基于持久性的String,但是在它上面运行Html.fromHtml()需要1秒以上,显着减慢了UI。) 我看到像ParcelableSpan和SpannedString以及SpannableString这样的东西,但我不确定要使用哪个。

Kotlin中的Android Parcelable

我有这样的Java parcelable: @SuppressWarnings(“rawtypes”) public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public KwerendaGraficzna createFromParcel(Parcel in) { return new KwerendaGraficzna(in); } public KwerendaGraficzna[] newArray(int size) { return new KwerendaGraficzna[size]; } }; 现在尝试在Kotlin中实现它: companion object { @SuppressWarnings(“rawtypes”) val CREATOR: Parcelable.Creator = object : Parcelable.Creator { override fun createFromParcel(`in`: Parcel): KwerendaGraficzna { return KwerendaGraficzna(`in`) } override fun […]

将Object作为下一个活动的意图

是否可以将Objecttypes的对象作为Extra添加到intent中? 我有一个types对象的variables,直到为它分配了一个关于对象数据types的值才会知道。 也许与序列化有关或作为一个捆绑我不确定? 然后在下一个活动中,如何获取此值以将其存储在ArrayList ?

Kotlin中的Android Parcelable:在Parcelable数据类中找不到CREATOR

随着Kotlin RC的发布,我开始编写一个应用程序来学习它但是我无法弄清楚如何让Parcelable工作。 数据类: data class Project (val reponame:String, val username:String, val language:String, val vcsUrl:String, val branches:Map) : Parcelable { companion object { val CREATOR = object : Parcelable.Creator { override fun createFromParcel(`in`: Parcel): Project { return Project(`in`) } override fun newArray(size: Int): Array { return arrayOfNulls(size) } } } protected constructor(parcelIn: Parcel) : this ( […]