在Wear和Android应用程序之间共享课程的最佳做法是什么?

Rob*_*erg 22 android gradle android-studio wear-os

我正在使用我在Android手机应用程序中序列化的类,并在我的Android Wear应用程序中反序列化.它们都在同一个Android Studio项目中,并作为一个部署.

如何在每个包中没有类的副本的情况下共享两者之间的类?现在我正在复制/粘贴它,但有没有办法让我将它包含在两个应用程序中?

目录结构是:

./
    mobile/
           ...src/etc
    wear/
           ...src/etc
Run Code Online (Sandbox Code Playgroud)

我如何处理常见的课程?

mat*_*ash 37

您可以在项目中创建一个新的"Android库"模块,并将您的公共类放在那里.

然后,您只需将其添加为Mobile和Wear模块的依赖项(在项目结构 - >依赖项 - >添加 - >模块依赖项中).这样,您可以从两个模块创建/使用这些类的实例.

  • @RobinEisenberg嘿,你是对的.在Java中,文件/目录和编译单元之间的耦合更紧密.但是,作为奖励,该类应该只使用这种方法编译一次(就像在C/C++中的lib一样). (2认同)
  • @rudakovsky不一定.清单合并,因此最好在适当的地方留下声明.例如,如果库中的类需要一定的权限,那么如果库的清单声明了权限,那就没关系(我甚至会说更好).这样它将自动包含在引用它的任何应用程序模块中. (2认同)
  • @MujtabaMahmood同样,基本上 - 您可以将其作为资源库或Library模块的原始资源包含在内,并从app模块中使用它. (2认同)