android - 在要启动的类中将 Intent 调度编写为静态方法是一个好习惯吗?

标签 android android-intent coding-style

我刚刚开始 Android 开发,所以我想要一些关于代码风格的建议。在我看来,在执行调度的方法中编写 Intent 调度程序似乎很好,例如

// in case it's not clear, names are meta-variables

public class MyService...
    ...

    public static void sendMessage(Context ctx, MyArgClass myArg) {
        Intent sendIntent = new Intent(ctx, MyService.class);
        sendIntent.setAction("send message");
        sendIntent.putExtra("my_arg", myArg);
        ctx.startService(sendIntent);
    }
}

然后,任何被调用者只需运行 MyService.sendMessage(ctx, arg),而不是在其主体中包含 Intent 创建代码。

这似乎是一场胜利:当你想要记住的时候,需要记住的东西就更少了。 sendMessage,并且您不必跨模块同步名称,例如 "send message""my_arg"。不过,我在 Google 开源的音乐应用程序中并不经常看到这种情况,所以我想知道是否有缺点,而且我应该遵守惯例。

最佳答案

这是一个很好的做法。此模式可以在 Android 开发人员指南 ( sample )

关于android - 在要启动的类中将 Intent 调度编写为静态方法是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550238/

相关文章:

python - 在 Python 中一行不超过 80 个字符是什么意思?

android - 从 Android 应用程序上传位图到 Facebook

Android 进度条任务计数

javascript - 从一个屏幕检索数据到另一个屏幕进行渲染(React Native Javascript)

android - 在打印机上更改文本颜色

android - 如何在 Android 上使用 intent 将格式正确的链接(带有井号)添加到电子邮件中?

android - 分享图片将路径放入地址

c - 在生产中使用 assert() 是否比 if..else.. block 更受欢迎?

latex - 了解如何创建 LaTeX 样式?

android - 从 Activity 中清除 Intent 标志,以便它恢复其原始启动行为