android - 将代码从 Android 的 MainActivity 类移动到它们自己的库或文件

标签 android android-library

我是 Java 和 Android 开发的新手,但我已经能够创建一堆函数、子类和常量,当它们粘贴到默认 Android 项目的 MainActivity 类中时,它们可以正常工作。

这些函数的目的是“ping home”,让我的服务器知道何时安装了应用程序。实现这一点所需的唯一代码是 MainActivity.java 标准代码块中的 notifyMyServer() 行:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        notifyMyServer("install"); /* Notify MyServer of an Installation */

    }
}

将使 notifyMyServer() 直接工作的函数、子类、常量和导入粘贴到 MainActivity.java 文件中对我来说似乎很脏。我希望能够将它们移动到它们自己的文件和/或库中,这样我就可以将该文件拖放到我想要执行相同跟踪的其他应用程序中。

这通常是如何完成的?

最佳答案

至少有两种方法可以解决这个问题:

1) 创建一个 NotifyActivity 类,它可以被 MainActivity 扩展,如 @Tim's answer 中所述。 .这使用了继承。

2) 创建一个 NotifyServer 类并在 MainActivity 中创建它的实例,作为类变量或作为 onCreate() 中的局部变量。这使用组合。

通常在面向对象设计中,组合优先于继承。我强烈建议您了解这两个概念,因为您将在 Java 编程中反复使用它们。

关于android - 将代码从 Android 的 MainActivity 类移动到它们自己的库或文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13167033/

相关文章:

android - react native 错误 : TypeError: null is not an object _RNGestureHandlerModule. default.Direction

android - 使用 gradle 构建库项目时,BuildConfig.DEBUG 始终为 false

android - SwipeListView : View is messed up. 隐藏内容遍布列表项

android - 如何显式地在另一个模块中启动一个 Activity

Android Oauth随机返回认证错误 "nonce_used"

java - 为什么此代码不能进行加法运算?

Android - 如何导航 Activity 堆栈/任务

java - ProtocolException:流的意外结束

Android 库项目未使用正确的调试变体资源

android - Gradle同步不会自动解析带有@aar批注的Android库项目依赖项