欢迎活动代码放在哪里

星期日

我搜索了很多,但没有找到答案。我开发了一个android应用程序,在第一个午餐用户处,将显示一个由viewpager制成的欢迎屏幕。问题是我不知道将欢迎活动代码放在应用程序中的最佳位置。

最简单的方法可能是在主要活动中,甚至在super.onCreate()之前,在onCreate方法中,我尝试获取共享的首选项值,然后评估它是否是第一手午餐。如果是这样,那么我将开始欢迎活动,如下所示

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
        boolean welcome = sharedPreferences.getBoolean(getString(R.string.key_welcome), true);
        if (welcome) {
            // go and start welcoming activity
            Intent intent = new Intent(this, WelcomeSlideActivity.class);
            startActivity(intent);
        }


        super.onCreate();
    }
}

但是我找到了另一种方法来处理它。它是应用程序类。由于Application类是第一个类,因此它甚至在我的应用程序中的任何其他代码之前运行。所以我想,我会很乐意在这里做,如下所示

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
        boolean welcome = sharedPreferences.getBoolean(getString(R.string.key_welcome), true);
        if (welcome) {
            // go and start welcoming activity
            Intent intent = new Intent(this, WelcomeSlideActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
        }
    }
}

所以我处于两难境地,哪一个将是最好的选择。而且我什至不知道我是否以正确的方式来做,因为在android开发者网站或任何地方都没有这样的文档。

黑豹

看看如何以正确的方式创建启动画面。https://www.bignerdranch.com/blog/splash-screens-the-right-way/

至于使用Application类-它主要用于应用程序范围的配置,以维护全局应用程序状态。因此,从此处开始活动没有多大意义,因为它的目的已变为成为应用程序的入口点,而不是为整个应用程序提供状态。

此外,为什么不做WelcomeSlideActivity第一个“启动者”活动呢?然后,在其中可以创建是否启动没有历史记录的下一个活动或是否显示当前视图的逻辑。

理想情况下,您应该创建一个初始屏幕活动,该活动确定是否显示WelcomeSlideActivityMainActivity这样做的好处是,当他的应用确定要启动哪个活动时,会向用户显示一个初始屏幕,通知用户该应用已启动

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我的Chrome扩展程序的主要代码放在哪里?

来自分类Dev

django + uwsgi,我的启动代码放在哪里?

来自分类Dev

在VIPER中将UIView动画代码放在哪里?

来自分类Dev

我的chrome扩展程序的主要代码放在哪里?

来自分类Dev

UITabBarControllerDelegate-将代码放在哪里?

来自分类Dev

CommonJs:初始化代码放在哪里?

来自分类Dev

我应该把源代码放在哪里?

来自分类Dev

我应该把模型创建代码放在哪里?

来自分类Dev

从源代码编译的应用程序的源代码放在哪里?

来自分类Dev

将代码放在哪里,以便在我的服务启动后执行代码?

来自分类Dev

我在哪里将代码放在Rails Web应用程序中

来自分类Dev

我在哪里将自定义代码放在Laravel中

来自分类Dev

我在哪里可以将SQL代码放在AWS数据管道中删除表?

来自分类Dev

不确定将Java代码放在哪里以防止列混乱

来自分类Dev

在Facade模式中将用于创建namedQuery的代码放在哪里?

来自分类Dev

我应将此代码放在哪里安装Absynth 5?

来自分类Dev

使用Rails 6,您将“特定于页面的” JavaScript代码放在哪里?

来自分类Dev

从HttpContext获取Razor Pages中的用户名:将代码放在哪里

来自分类Dev

我应将此代码放在哪里安装Absynth 5?

来自分类Dev

我在哪里将自定义代码放在Laravel中

来自分类Dev

在Facade模式中将用于创建namedQuery的代码放在哪里?

来自分类Dev

我应该将Meteor.startup中使用的函数的代码放在哪里?

来自分类Dev

我应该在哪里将代码放在ActionBar.TabListener中

来自分类Dev

在哪里将日志记录设置代码放在flask应用程序中?

来自分类Dev

在果园的小部件或插件中,将我的自定义UserRankingActivity代码放在哪里?

来自分类Dev

我应该把React组件的初始化代码放在哪里?

来自分类Dev

在使用 Packer 的食谱中,是否有关于将 Chef 代码放在哪里的约定?

来自分类Dev

在 Laravel 5.6 中将用于格式化 DB 内容的代码放在哪里

来自分类Dev

将django信号接收器代码放在哪里,将它们分布在多个文件中?

Related 相关文章

  1. 1

    我的Chrome扩展程序的主要代码放在哪里?

  2. 2

    django + uwsgi,我的启动代码放在哪里?

  3. 3

    在VIPER中将UIView动画代码放在哪里?

  4. 4

    我的chrome扩展程序的主要代码放在哪里?

  5. 5

    UITabBarControllerDelegate-将代码放在哪里?

  6. 6

    CommonJs:初始化代码放在哪里?

  7. 7

    我应该把源代码放在哪里?

  8. 8

    我应该把模型创建代码放在哪里?

  9. 9

    从源代码编译的应用程序的源代码放在哪里?

  10. 10

    将代码放在哪里,以便在我的服务启动后执行代码?

  11. 11

    我在哪里将代码放在Rails Web应用程序中

  12. 12

    我在哪里将自定义代码放在Laravel中

  13. 13

    我在哪里可以将SQL代码放在AWS数据管道中删除表?

  14. 14

    不确定将Java代码放在哪里以防止列混乱

  15. 15

    在Facade模式中将用于创建namedQuery的代码放在哪里?

  16. 16

    我应将此代码放在哪里安装Absynth 5?

  17. 17

    使用Rails 6,您将“特定于页面的” JavaScript代码放在哪里?

  18. 18

    从HttpContext获取Razor Pages中的用户名:将代码放在哪里

  19. 19

    我应将此代码放在哪里安装Absynth 5?

  20. 20

    我在哪里将自定义代码放在Laravel中

  21. 21

    在Facade模式中将用于创建namedQuery的代码放在哪里?

  22. 22

    我应该将Meteor.startup中使用的函数的代码放在哪里?

  23. 23

    我应该在哪里将代码放在ActionBar.TabListener中

  24. 24

    在哪里将日志记录设置代码放在flask应用程序中?

  25. 25

    在果园的小部件或插件中,将我的自定义UserRankingActivity代码放在哪里?

  26. 26

    我应该把React组件的初始化代码放在哪里?

  27. 27

    在使用 Packer 的食谱中,是否有关于将 Chef 代码放在哪里的约定?

  28. 28

    在 Laravel 5.6 中将用于格式化 DB 内容的代码放在哪里

  29. 29

    将django信号接收器代码放在哪里,将它们分布在多个文件中?

热门标签

归档