【发布时间】:2013-12-08 11:47:06
【问题描述】:
你好,我编程经验不足,为android做项目慢慢学习。
问题是我在我的活动中使用了很多相同的代码。使用继承共享代码是不是一个坏主意。
示例:
Class Main extends Activity
//shared code
_
Class a |
Class b | - extends Main
Class c _|
我的用法示例:
public class Global extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
}
public void toastMessage(String tMsg, int tLength) {
Toast.makeText(getApplicationContext(), tMsg, tLength).show();
}
public void nextActivity(Class<?> classId, ImageButton btnId) {
AlphaAnimation alpha;
Vibrator shake = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (btnId!= null) {
alpha = new AlphaAnimation(0.5F, 1.0F);
alpha.setDuration(50);
alpha.setFillAfter(false);
btnId.startAnimation(alpha);
}
shake.vibrate(50);
Intent goToNextActivity = new Intent(getApplicationContext(), classId);
startActivity(goToNextActivity);
}
a、b、c 类可以扩展 Global 并使用:
nextActivity(a.class, btnA);
toastMessage("example", Toast.LENGTH_SHORT);
【问题讨论】:
-
信息太少了。如果是为了学习,那就去试试吧。如果你遇到问题,你就会知道这是一个糟糕的选择。
-
添加了我的使用示例。它只是想知道它是否对性能/可读性不利。
-
如果您将
Context设为方法参数,您可以将其移动到某个实用程序类中。 (或者你可以从你的ImageButton得到它)
标签: java android performance inheritance