Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:一个活动类可以作为上下文,而片断活动类可以作为控制器吗?_Java_Android_Design Patterns - Fatal编程技术网

Java Android:一个活动类可以作为上下文,而片断活动类可以作为控制器吗?

Java Android:一个活动类可以作为上下文,而片断活动类可以作为控制器吗?,java,android,design-patterns,Java,Android,Design Patterns,我正在制作一个Android应用程序,并致力于建立一个合适的设计模式来分配职责 很明显,Android的功能与iOS不同,一次只能有一个活动,不能保留对活动的引用,只能通过捆绑传递进行通信 考虑到这一点,我正在考虑建立一种MVC模式,如下所示: MainActivity作为充当上下文(或“主控制器”)的活动类 所有其他类将是“控制器”的碎片活动类 MainActivity类将根据需要交换入和出片段,但也将能够引用数据并将数据传递给这些片段 这是安全的设计实践还是我错过了如何在Android中正确

我正在制作一个Android应用程序,并致力于建立一个合适的设计模式来分配职责

很明显,Android的功能与iOS不同,一次只能有一个活动,不能保留对活动的引用,只能通过捆绑传递进行通信

考虑到这一点,我正在考虑建立一种MVC模式,如下所示:

MainActivity作为充当上下文(或“主控制器”)的活动类

所有其他类将是“控制器”的碎片活动类

MainActivity类将根据需要交换入和出片段,但也将能够引用数据并将数据传递给这些片段


这是安全的设计实践还是我错过了如何在Android中正确设置MVC?

A
FragmentActivity
不是
Fragment
MainActivity
可能“只是交换入和出片段”,但实际上您需要片段来实现这一点。是的,片段是视图,片段活动是控制器是吗?欢迎您这么说,尽管我不会这么说,但它与您在问题中所写的内容不符。坦率地说,这感觉就像你一生中从来没有写过
活动
,也没有写过
片段
,也没有写过
片段活动
。在学习框架之前,不要担心架构。例如,我一生中从未编写过iOS应用程序,在我拥有数月的iOS开发经验之前,我不会梦想在iOS项目上强加特定的体系结构模式。是的,我100%同意你的看法。但就目前而言,我有28天的时间将一些东西移植到Android上,所以我试图权衡速度和质量。我已经编写了一些活动和片段,但在它们的生命周期中遇到了问题(许多“执行未恢复的活动停止”错误)。不管怎样,在我投入精力之前,我正在投入大量的时间进行研究和测试。如果你有一个特别的资源,你可以通过它来更好地理解这个框架,我洗耳恭听。谢谢。由于活动和片段之间的通信似乎是您主要关心的问题,我只想提到,您可能会从查看EventBus中受益。这是一个非常容易理解的概念,并允许您在代码中的任何位置传递复杂对象,而不必担心捆绑包之类的问题。butterknife是另一个可以为您节省时间的工具,因为您有很多视图。