Android中的可分包和继承

2024-02-06

我得到了一个适用于不涉及继承的单个类的 Parcelable 实现。在继承方面,我无法找出实现接口的最佳方法。假设我得到了这个:

public abstract class A {
    private int a;
    protected A(int a) { this.a = a; }
}

public class B extends A {
    private int b;
    public B(int a, int b) { super(a); this.b = b; }
}

问题是,这是为 B 实现 Parcelable 接口的推荐方法(在 A 中?在两者中?如何实现?)


这是我最好的解决方案,我很高兴听到有人对此有过想法。

public abstract class A implements Parcelable {
    private int a;

    protected A(int a) {
        this.a = a;
    }

    public void writeToParcel(Parcel out, int flags) {
        out.writeInt(a);
    }

    protected A(Parcel in) {
        a = in.readInt();
    }
}

public class B extends A {
    private int b;

    public B(int a, int b) {
        super(a);
        this.b = b;
    }

    public static final Parcelable.Creator<B> CREATOR = new Parcelable.Creator<B>() {
        public B createFromParcel(Parcel in) {
            return new B(in);
        }

        public B[] newArray(int size) {
            return new B[size];
        }
    };

    public int describeContents() {
        return 0;
    }

    public void writeToParcel(Parcel out, int flags) {
        super.writeToParcel(out, flags);
        out.writeInt(b);
    }

    private B(Parcel in) {
        super(in);
        b = in.readInt();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android中的可分包和继承 的相关文章

  • Android 版 Robotium - solo.searchText () 不起作用

    我在使用 Robotium 时遇到 searchText 函数问题 我正在寻找这个字符串
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • 无法理解 Java 地图条目集

    我正在看一个 java 刽子手游戏 https github com leleah EvilHangman blob master EvilHangman java https github com leleah EvilHangman b
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • Android相机意图:如何获取全尺寸照片?

    我正在使用意图来启动相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE getParent startActivityForR
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • Java中未绑定通配符泛型的用途和要点是什么?

    我不明白未绑定通配符泛型有什么用 具有上限的绑定通配符泛型 stuff for Object item stuff System out println item Since PrintStream println 可以处理所有引用类型 通
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 如何在 Maven 中显示消息

    如何在 Maven 中显示消息 在ant中 我们确实有 echo 来显示消息 但是在maven中 我该怎么做呢 您可以使用 antrun 插件
  • Android 如何聚焦当前位置

    您好 我有一个 Android 应用程序 可以在谷歌地图上找到您的位置 但是当我启动该应用程序时 它从非洲开始 而不是在我当前的城市 国家 位置等 我已经在developer android com上检查了信息与位置问题有关 但问题仍然存在
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想
  • 如何删除因 Google Fitness API 7.5.0 添加的权限

    将我的 play services fitness api 从 7 0 0 更新到 7 5 0 后 我注意到当我将新版本上传到 PlayStore 时 它 告诉我正在添加一个新权限和 2 个新功能 我没有这样做 有没有搞错 在做了一些研究来

随机推荐

  • setExpressCheckout 和 SSL/TLS 错误

    我正在尝试开发一个简单的应用程序 使用户能够通过 Paypal API 从网站购买服务 该应用程序使用 C 在 ASP NET 上运行 我在尝试与 Paypal API 进行合作方面运气不佳 我调用的方法是 SetExpressChecko
  • SQL Server JDBC 驱动程序比较

    目前我们使用jtds http jtds sourceforge net 用于连接到我们的 SQL Server 数据库 我一直理所当然地认为我们出于性能和可靠性原因而使用它 但是 它的使用早于我的就业日期 综上所述 我们现在正在考虑迁移到
  • Eclipse插件开发问题

    我正在编写一个 Eclipse 插件 并且项目环境配置正确 我相信 我能够编译解决方案 而不会出现任何编译时错误 以下是在调试解决方案时引发异常的代码片段 我确信所有必需的插件和外部 jar 都已正确配置 我已经尝试了用户在互联网上建议的几
  • InputMethodManager 持有对 tabhost 的引用 - 内存泄漏 - OOM 错误

    查看层次结构如下TabActivity gt ActivityGroups gt Activities Using MAT我找到TabWidget被引用TabHost这是由引用的InputMethodManager hence TabWid
  • Visual Studio 2015 中“无法引用默认构造函数”

    我在 Visual Studio 2015 中遇到一个非常奇怪的错误消息 以下精简代码 struct A A int val 0 x val int x 0 struct B A static int y int B y 1 struct
  • plv8 的缺点或限制?

    我正在使用 PLV8 为 PostgreSQL 编写触发器和存储过程 到目前为止 我还没有真正看到与 PLPGSQL 相比的缺点 特别是如果使用 JSON 它似乎比 PLPGSQL 更智能 使用 PLV8 是否有已知的缺点或限制 PLV8
  • jquery .on() 只工作一次

    我有一个包含多个复选框输入的表
  • 当存在多个实现时,优先考虑容器内的 OSGi 服务选择

    我正在玩 OSGi 并且有一些捆绑包 捆绑包 A 和 B 都包含实现单个接口的注册服务 第三个包 C 包括用于查找实现前面提到的接口的服务的代码 A 和 B 捆绑包具有不同的版本号 但 C 似乎从第一个启动的捆绑包中获取服务 我已经更改了启
  • C++ RTTI 可行示例 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Cocoa 应用程序中处理 Cmd-Q(以及以编程方式菜单项“退出应用程序”)

    我创建了一个只有一个窗口的游戏应用程序 应用程序的创建无需 xib 文件的帮助 如下所述 如何创建 GUI 并以编程方式对 Cocoa 事件做出反应 https stackoverflow com questions 656129 how
  • C# WPF - 如何修改 ToolBar.ButtonStyleKey 样式

    我需要在鼠标悬停时显示工具栏按钮边框 否则隐藏它 我尝试执行以下操作
  • 本土化。扩展 ASP.NET Resx 资源提供程序

    对于我的网站 我有一个用于本地化目的的自定义资源提供程序 本地化字符串存储在数据库中 它工作得很好 但我希望它能够与默认的 Resx 资源提供程序一起使用 在 resx 资源中查找本地化字符串 如果不存在 则从数据库中提取它 但看起来一旦我
  • Grpc Client 抛出 Grpc.Core.RpcException (响应协议降级为 HTTP/1.1。)

    我度过了最后三天 阅读焦点 尝试不同版本的 VS 和 NET 检查 Stackoverflow 中的问题 github 中的问题 关于我的 Grpc 客户端 服务器启动正常但客户端无法工作 我尝试过Grpcurl 工作正常 but C 客户
  • Javascript 检测关闭加载了另一个域的弹出窗口

    我正在打开一个弹出窗口并将 onbeforeunload 事件附加到它 如下所示 win window open http www google com width 300px height 300px win onbeforeunload
  • 在书写模式下设置垂直中间

    我有一个带有一些文本的 div 和writing mode vertical rl 现在我希望这段文字位于中间 但是vertical align middle 即使设置也不起作用line height a background color
  • 使用 Outlook REST API 时为什么日历 ID 会发生变化?

    我们构建了一个使用 Outlook REST API V1 和 V2 版本的应用程序 我们偶尔会看到用户日历更改的日历 ID 具体来说 我们使用 GET 获取日历https outlook office com api v2 0 me ca
  • 指针、数组、printf

    我正在尝试使用一个数组来保存调查的输入 该调查的每一侧都具有相同的正值 但有一个指针指向数组的中心 因此可以使用负指针值来访问该数组 例如 数组将保存从 0 到 30 的值 指针将指向 15 系统将提示用户输入 15 到 15 之间的值 其
  • MacOSX 10.9.5 上的 Sed 错误“\1 未在 RE 中定义”

    我正在尝试使用 bash 为我的 MP3 文件名 非常重要 构建一个通用格式化程序 其中很大一部分是能够使用正则表达式变量移动文本 例如 我试图删除 ft Kevin Parker 周围的括号 oldfilename Mark Ronson
  • Sidekiq:是否可以“暂停”队列?

    是否可以 暂停 sidekiq 队列 我正在运行下载作业 但我必须让我的 Mac 运行 休眠 所以我想告诉 sidekiq 暂停一下 有没有一种简单的方法可以做到这一点 您无法中途停止作业 如果您想停止处理队列中的新作业 这是 Sideki
  • Android中的可分包和继承

    我得到了一个适用于不涉及继承的单个类的 Parcelable 实现 在继承方面 我无法找出实现接口的最佳方法 假设我得到了这个 public abstract class A private int a protected A int a