gpt4 book ai didi

android - 在开始 Activity 之前加载 Activity 成员

转载 作者:行者123 更新时间:2023-11-29 14:02:26 25 4
gpt4 key购买 nike

我有一个包含多个按钮的主要 Activity 。每个按钮都在启动另一个 Activity 。其中一个 Activity (称为 MyPuzzlesActivitiy)有一个必须从 Internet 服务器加载才能工作的成员。 (本成员为拼图列表,需从网上加载)该成员的正确位置是 Activity 。即便如此,我还是想在用户实际按下启动 Activity 的按钮之前加载它,以节省时间(等待来自互联网服务器的响应)。

我想过让这个成员静态化并从主要 Activity 开始,但对我来说似乎有点难看。有人有更好的主意来解决这个问题吗?

谢谢..

最佳答案

你是对的,在这种情况下静态是丑陋的。

您可以将其存储在Application中:首先,您需要使用您设计的自定义类(class MyApplication extends Application)对Application进行子类化,然后在 list (application name="...package...MyApplication")。

然后您可以在任何 Activity 中使用它来存储数据,并在需要时检索它。只要您的应用程序处于 Activity 状态,您的数据就可用。因此,您可以从主 Activity 加载拼图列表,将其存储在应用程序中(只需在 MyApplication 中为您要存储的数据类型添加一个 setter 和 getter),然后从中检索它其他 Activity 的 onCreate

public class MyApplication extends Application {
private List<Puzzle> puzzles;

public void setPuzzlesList(List<Puzzle> puzzles) {
this.puzzles = puzzles;
}

public List<Puzzle> getPuzzlesList() {
return puzzles;
}
}

从您的主要 Activity :

((MyApplication) getApplication).setPuzzlesList(..load your list of puzzles from your service...);

MyPuzzlesActivity 中:

final List<Puzzle> puzzles = ((MyApplication) getApplication).getPuzzlesList();

关于android - 在开始 Activity 之前加载 Activity 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874621/

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