我正在构建一个Android库项目,它将像SDK一样运行。其他应用程序将包括该项目,并正常调用它的方法。
我通过单身人士(即MySdk.getInstance().doSomethingGreat()
)向客户端应用提供功能。但是,我只希望获得所需的SDK行为。我的库有很多类被组织成几个包,它们自然包含许多公共变量和方法。目前,客户端应用程序可以访问许多我不想要的内容。如何从客户端应用程序中隐藏所有这些内容?
我能想到的唯一方法是将所有类组织到一个包中,这样我就可以保持所有方法和变量private, protected, or default
的可见性。但这个组织真的很糟糕,当然还有另一种方式吗?