如何创建启动画面以在后面加载繁重的活动?

时间:2018-07-16 09:21:47

标签: android android-activity loading splash-screen

我有两个活动名称(ActivityMain和splash_screen)。 我的问题是ActivityMain内容,导致它加载太晚。

我想拥有一个像手机游戏一样的初始屏幕页面,并在初始屏幕背景中加载ActivityMain。当ActivityMain完全加载后,splash_screen将关闭。

我想显示一个初始屏幕,直到ActivityMain完全加载。

1 个答案:

答案 0 :(得分:0)

根据我对问题的理解,您可以在第一个活动(Splash Activity)中加载第二个活动需要显示的所有数据,然后通过POJO类传递该数据或第一个活动创建的数据列表实现Serializable或通过Parcellable的数据列表。您不需要在第一个活动中使用AsyncTask,因为您希望应用程序在加载数据的过程中一直停留在该屏幕中。 您可以使用Intent将POJO类对象从第一个活动传递到第二个活动。

  1. 使用从数据库查询的数据来构造POJO对象。
  2. 使用代码将数据从第一个活动传递到第二个活动:

    //To pass:
    intent.putExtra("MyClass", obj);
    
    // To retrieve object in second Activity
    getIntent().getSerializableExtra("MyClass");
    

还要确保,主自定义类的每个嵌套类都实现了Serializable接口,以避免任何序列化异常。例如:

class MainClass implements Serializable {

public MainClass() {}

public static class ChildClass implements Serializable {

    public ChildClass() {}
    }
}

Reference