0

我对 Android 有点陌生,并且正在设计一个具有几个相当复杂的视图的应用程序。其中一个视图旨在包含一个复杂的视图,显示与模型对象相关联的信息并分离到几个不同的视图中;其导航旨在使用滑动效果来实现(即在屏幕上滑动手指以从一个屏幕遍历到下一个屏幕等)。视图本身将用于为不同类型的模型对象托管多组视图,但具有在它们之间重用的通用结构。作为一个粗略的例子,视图可能会显示一个人的信息(模型对象),显示几个细节视图:一个用于一般信息的视图,一个显示爱好列表的视图,以及显示与其社交网络相关的其他个人列表的视图。相同的一般视图,当给定一个代表特定汽车的模型对象时,会给出几个不同的视图:带有细节的一般视图,包含该车辆照片图像的视图,表示可以从其购买的位置的视图,以及提供的视图相关汽车的列表。(注意:这不是所涉及的真实数据,而是代表视图的一般意图)。子视图不会覆盖整个屏幕空间,并且视图中的其他功能应该是可见的并且能够与用户交互。包含该车辆的照片图像的视图,表示可以从其购买的位置的视图,以及提供相关汽车列表的视图。(注意:这不是所涉及的真实数据,而是代表视图的一般意图)。子视图不会覆盖整个屏幕空间,并且视图中的其他功能应该是可见的并且能够与用户交互。包含该车辆的照片图像的视图,表示可以从其购买的位置的视图,以及提供相关汽车列表的视图。(注意:这不是所涉及的真实数据,而是代表视图的一般意图)。子视图不会覆盖整个屏幕空间,并且视图中的其他功能应该是可见的并且能够与用户交互。

这里的想法是有一个可重用的通用视图结构,它将管理一组基于传递给视图的模型对象类型动态生成的子视图。

我正在尝试确定利用 Android 框架的适当方法,以便在不违反框架完整性的情况下最好地实现这一目标。基本上,我试图确定如何将这个更大的视图组件化为可重用的单元(即通用视图、特定于模型的子视图控制器和单独的详细视图)。更具体地说,我试图确定这个视图是最好设计为几个自定义视图类的组合还是几个活动类的组合。我见过几个自定义组合视图的例子,但它们通常用于组合简单的视图,没有复杂的控制器,也没有关注一般的 Activity 生命周期(即存储和检索与模型对象相关的数据,视情况而定)。另一方面,我唯一真实的例子

有没有人对构建我的视图以实现我正在寻找的应用程序框架的适当方法有任何建议?意见?活动?还有什么?

任何指导将不胜感激。提前致谢。

4

2 回答 2

0

我正在尝试确定利用 Android 框架的适当方法,以便在不违反框架完整性的情况下最好地实现这一目标。

手机的 RAM 非常有限,CPU 也非常有限。您的普通 Android 设备具有十年前的 PC 的功能,甚至更糟。请不要过度设计您的应用程序。

更具体地说,我试图确定这个视图是最好设计为几个自定义视图类的组合还是几个活动类的组合。

我会争辩“以上都不是”。如果您的目标是制作“自定义视图类”以分发给整个 Android 开发者社区,那是一回事。但是,对于您的情况,只需构建您的Views- 不要将它们子类化。在谈到 Android 系统时,我绝对是“组合优于继承”的心态View

恕我直言,Activity 是您的控制器(或者可能是演示者,一个 MVP,是更好的架构类比),布局 XML 及其组成Views部分是视图层,您的数据库是您的模型。

于 2010-05-29T00:59:01.490 回答
0

我不确定我是否遵循了您在那儿所说的所有内容,显示流程的图表可能会有所帮助,但是..

您通常一次只能看到一个活动。该活动负责呈现整个视图。我看到的唯一例外是弹出式警报样式窗口。以我的经验,这些往往有点慢。通常,每次更改页面时都会有一个新活动。在您的情况下,这听起来可能是每次总体视图发生变化时。

但是,您可以轻松地拥有一些在各种活动中重用的布局。布局是可组合的,例如,您可以为您的详细布局设置一个布局,该布局包含在主布局中。

于 2010-05-29T01:02:06.490 回答