我正在学习android,但在java中有相当公平的背景,所以有点困惑的是很多教程直接扩展(子类)Activity?
我想在我的所有活动中正确处理活动生命周期,我有大约4个可能5但显然每个活动都可以按下主页键,用户只需按下电源按钮。
我想要的是在我的应用程序上下文中实现生命周期各个阶段的单个Activity
e.g
public class MyActivity extends Activity {
//overide the lifecycle methods
protected void onCreate(Bundle savedInstanceState) { }
protected void onStart() {
//do my start stuff
}
protected void onResume() {
//open db connection
}
protected void onPause() {
//close db connection
}
}
我问,因为我习惯使用数据库,当我能够在更高级别处理它时,处理每个活动中的连接似乎很奇怪。
然后我想扩展MyActivity这是一种合理的方法还是我在这里不合适?
答案 0 :(得分:3)
我认为最好有一个Abstract
类扩展Activity
并放置所有常用操作(如您提到的主页按钮操作,进度条操作,搜索功能等),所有Activities
使用的常量。您可能还希望子类化Application
并存储需要在全局上下文中访问的变量。
查看Google开发的一些应用程序并尝试使用这些设计模式。 I/O Schedule app就是其中之一。
答案 1 :(得分:2)
我有一个活动超类,其中包含一些实用功能,但为了使formit成为一般用途,我还需要subclAss所有这些。这对你来说可能并不重要,但它确实改变了我对更多委托方法的态度。
如果它满足您的需求,我认为它没有任何根本性的错误,并且通用超类功能在您的应用程序的非Android活动中基本相同。