2010-12-21 76 views
1

我目前正在开发具有不同服务维度的Android应用程序,例如“服务订单”,“路线规划”,“照片库”和中央登录。 到目前为止,我实现了每个“屏幕”(屏幕我实际上是一个屏幕的布局)作为一个单独的类,加载一个特定的布局,并处理所有的监听器和核心功能,如调用线程中的webservices,接收答案等 我不太确定这是否是实现多个布局屏幕的最佳方式。如何实现应用程序中的多个屏幕

Android开发指南建议为每个“屏幕布局”使用单个活动。不过,我怀疑这是做事最有效的方式。因为我需要通过中央登录(这里是:用户对象)检索到的每个“布局”的信息。由于一个活动(据我所知)是一个单独的线程,传递和检索信息似乎不是很实际。

我想得到您的oppinions /反馈,并感谢您的任何提示或提示。

到目前为止,我的结构是这样的:

  • 活动
    • 负荷登录布局(RES /布局/ login.xml与setlContentView)
    • 取决于buttonclick其他资源的加载和初始化(手段听众加入等)

电贺 彼得

回答

3

开发指南建议,有一个原因。这是做事最有效的方式。你可能会抱怨必须存储你的数据,以便它可以从活动传递到活动,但猜猜是什么?您正在开发手机应用程序!在任何时候,手机都可能响起,迫使用户离开您的应用程序。或者用户可以选择暂时查看其他应用。如果您的应用程序在切换回来并丢失所有数据后回到原来的一个,那么用户可以理解为愤怒。

+0

感谢您的反馈意见,所以您会建议将这些数据持久存储在手机上,而不是将其从活动传递到活动?你在这里得到了一个有效的点,所以即使我将数据从活动传递到活动,如果应用程序中断,它将会丢失...所以我确实需要将它存储在手机上(因为我不希望用户每次应用程序被中断时登录) – Peter 2010-12-21 09:31:11

+0

取决于您希望它需要多长时间。如果您将其存储在SharedPreferences中,则即使在用户重置手机后,它也会一直存在。挺好的。但是,在传递意图时没有什么坏处 - 这足以处理正常情况(包括改变电话方向)。 – EboMike 2010-12-21 09:33:06

0

不知道这是否适合您的应用程序,但另一种选择可能是将核心数据处理拆分为服务,并让您的应用程序只是与该服务通信的UI前端。

相关问题