在Android应用程序中,可以使用以下方法来解决许多类似活动违反DRY(Don't Repeat Yourself)原则的问题:
public class BaseActivity extends AppCompatActivity {
// 共享的代码逻辑
}
public class MainActivity extends BaseActivity {
// MainActivity 特定的代码逻辑
}
public class SecondActivity extends BaseActivity {
// SecondActivity 特定的代码逻辑
}
public class MyFragment extends Fragment {
// 共享的代码逻辑
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 添加 MyFragment
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, new MyFragment())
.commit();
}
}
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
// 添加 MyFragment
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, new MyFragment())
.commit();
}
}
public class MyUtils {
public static void showToast(Context context, String message) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 使用 MyUtils.showToast 方法
MyUtils.showToast(this, "Hello");
}
}
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
// 使用 MyUtils.showToast 方法
MyUtils.showToast(this, "World");
}
}
通过上述方法,可以减少代码的重复性,提高代码的可维护性和可扩展性,遵循DRY原则。