我开发了一个小应用程序,它使用几个不同的类来允许用户添加,删除和查看某些数据。我使用arrayList来存储条目,它有自己的类,它有链接到数组的方法,所以我可以从我的所有类访问数组。
我想介绍上面的方法来优化我的代码,并想知道我是否可以将它们粘贴在一个类中,希望我的数组中有相同的应用程序类,并且只是定义它们将被使用的位置,这将节省我必须在几个类中编写相同的代码,这可能吗?
由于
答案 0 :(得分:12)
Android调用onPause
,onResume
,onDestroy
时的示例。
<强>的onPause()强>
当用户收到呼叫或短信等事件时,会调用 OnPause()
,当onPause()
被调用时,Activity
可能部分或完全隐藏。
您可能希望在onPause
中保存用户数据,以防他点击后退按钮而不明确保存数据。
<强>的onResume()强>
当用户恢复他之前离开的OnResume()
时,会调用 Activity
,说他按下主页按钮然后返回应用程序,onResume()
被调用。
您可以在onResume
。
<强>的OnDestroy()强>
系统或用户销毁OnDestroy
时会调用 Activity
,比如回击,直到应用退出。
您必须保存要在onDestroy()
中保留的所有用户数据,因为系统不会为您执行此操作。
话虽如此,我必须告诉你,你不能在onPause()和onDestroy()中调用任何用户定义的方法,因为它们在某些情况下被调用,除了我上面指定的操作之外不打算做任何操作
当活动开始时,会调用onCreate()
来设置您的屏幕,然后是onResume()
,但是您可以使用onResume
来执行您想要的操作,但强烈建议您创建另一个类来进行这样的操作,有时可能是数据密集。最后,在onCreate()
中的onResume()
和Activity
方法中调用您在另一个类中创建的方法。
答案 1 :(得分:2)
不确定这是否是您要找的,但请尝试单例模式。这将允许从任何活动访问您的类对象。即。 MyObject对象= Singleton.getInstance();
答案 2 :(得分:2)
最好是包含覆盖方法代码的基本活动,然后您可以将其扩展为活动而不是活动。
因此,所有扩展基本活动的活动都将通过三种方法反映出来。
public class BaseActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
protected void onPause(){
super.onPause();
}
@Override
protected void onResume(){
super.onResume();
}
@Override
protected void onDestroy(){
super.onDestroy();
}
}
注意您想在上述三种方法中执行哪项任务?如果它们在所有活动中都相同,那么只能使用上述内容。
答案 3 :(得分:0)
你可以创建一个BaseActivity类 它扩展了Activity,覆盖了你想要覆盖的方法,而不是在所有其他活动上扩展Activity,而是扩展BaseActivity。