gpt4 book ai didi

java - 欢迎 Activity 代码放置在哪里

转载 作者:行者123 更新时间:2023-12-02 03:04:34 27 4
gpt4 key购买 nike

我搜索了很多,但没有找到答案。我开发了一个 Android 应用程序,在第一次午餐时,用户将看到一个由 viewpager 制成的欢迎屏幕。问题是我不知道哪个位置最适合将欢迎 Activity 代码放入我的应用程序中。

最简单的方法可能是在主要 Activity 的第一行,甚至在 super.onCreate() 之前,在 onCreate 方法中,我尝试获取共享偏好值,然后评估是否这是第一顿午餐。如果是,那么我开始欢迎 Activity ,如下所示

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();
}
}

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

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 类 - 这主要用于应用程序范围的配置,以维护全局应用程序状态。因此,从这里开始一个 Activity 没有多大意义,因为它的目的已经变成了应用程序的入口点,而不是为整个应用程序提供状态。

此外,为什么不将 WelcomeSlideActivity 设为第一个“启动器” Activity ?然后,您可以在其中创建是否启动下一个没有历史记录的 Activity 或是否显示当前 View 的逻辑。

理想情况下,您应该创建一个闪屏 Activity ,它决定是显示 WelcomeSlideActivity 还是 MainActivity。这样做的优点是,当应用程序确定要启动哪个 Activity 时,会向用户显示一个启动屏幕,通知用户应用程序已启动

关于java - 欢迎 Activity 代码放置在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41921073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com