我有一个我从其他开发者那里继承的Android项目。
原始代码使用单个View和单个Activity一起被黑客攻击。视图类具有在输入和呈现期间打开的State变量。
每个“屏幕”是直接渲染到屏幕上的单个位图。根本没有使用布局。更糟糕的是,View和Activity类中的每个变量都被声明为public static,并且会经常相互访问。
我已经重新设计了代码,所以它现在有些可管理,但它仍然在原来的两个类中。这是我的第一个体面的Android应用程序,所以我不完全确定下一步该去哪里。
从外观上看,每个“屏幕”都应该有自己的视图和活动。这是一般做法吗?
如果是这样,我需要一些方法在不同的活动之间共享数据。我已经阅读了使用包含通用数据的Singleton类的建议。 Android框架中是否还有其他更多内置方法?
提前致谢。
答案 0 :(得分:2)
我建议每个屏幕使用一个活动,或者更确切地说,每个功能使用一个活动。活动通常具有一个绘制UI的关联视图。如果所有活动都显示不同的位图,则可以在布局中定义ImageView并在该ImageView中显示各种位图。
在Android活动中使用公共静态字段是不好的做法。活动不应该访问其他活动中的字段,它们应该通过意图,数据库或共享的@Injected类将数据传递给另一个。
从您编写的内容来看,从头开始重新启动该应用程序可能比尝试修复当前应用程序更容易。我一直在那里,做到这一点,后来后悔没有废弃应用程序并从头开始。