当我的程序启动时,我想在真正开始之前做一些设置。例如选择用户,检查更新等。在这些设置之后,我想用适当的启动主程序。
这是最好的方法吗?
答案 0 :(得分:0)
您可以在AyncTask
中为onCreate()
运行ProgressDialog
或多个onPostExecute()
,并在获取数据时显示MainActivity
,然后在{{{ 1}}并继续执行AsyncTask
的其余部分,具体取决于下载的数据。如果您在ProgressDialog
开始使用时需要帮助,可以see this SO answer了解基本结构。
如果您使用Activity
,那么该应用仍将启动,但用户会看到某些内容,并知道数据正在加载,因此他们不会觉得它已冻结或需要花费太长时间才能加载(或至少他们会知道为什么不马上加载。)
在评论后修改
对于您在评论中所说的内容,您可以使用Dialog Theme
Button
轻松完成此操作。这将为您提供所需的功能(一对Dialog
并存储值),但它看起来像一个小弹出窗口。您无法使用实际的Activity
,因为他们需要menu
,与任何Activity
的AFAIK相同。只需创建您的launcher and main
并使用Intent-filter
将其设为Activity
,然后将以下行添加到manifest
中的android:theme="@android:style/Theme.Dialog"
标记
{{1}}
这种方法可以满足您的需求
答案 1 :(得分:0)
有很多方法可以做到这一点。
首先 - 你的应用程序正在做一些沉重的事情,这可能是冻结用户界面。在那个版本中: 1.创建和活动你将覆盖onCreate方法的内容,并使用微调器设置一些内容 - 这样东西就会活着,用户会看到正在做的事情。 2.在您计算出应用程序所需的所有内容后,我可以建议将其写入某些全局变量覆盖onStart方法,以适应您的更改布局,并为用户提供一个出色的UI!
第二 - 你的应用程序并不重要,只需将所有内容都重写为onStart方法。
这里有用于教育的便利材料: