📅  最后修改于: 2023-12-03 14:39:09.144000             🧑  作者: Mango
在Android开发中,活动(Activity)是一个非常重要的概念。一个Activity代表应用程序中的一个屏幕。在Android Studio中,活动有很多不同的类型。本文将介绍Android Studio中的不同类型的活动。
标准活动(Standard Activity)是默认的Activity类型。它可以单独存在,也可以在其他Activity中被调用。当一个Activity被启动时,它会覆盖前一个Activity并成为屏幕上的新Activity。
以下是创建一个标准活动的示例代码:
public class MyActivity extends Activity {
// 这里将写入活动的代码
}
带有Fragment的活动(Activity with Fragments)是一种使用Fragment的Activity类型。Fragment是Android中的一个可以嵌入到活动中的小型组件。一个活动可以包含多个Fragment。使用Fragment可以极大地提高应用程序的灵活性和复杂性。
以下是创建一个带有Fragment的活动的示例代码:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
// 添加Fragment
MyFragment fragment = new MyFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();
}
}
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_my, container, false);
// 在这里将写入Fragment的代码
return view;
}
}
在Activity中,有一个属性叫做启动模式(Launch Mode)。它决定了一个Activity启动后的行为。以下是Android Studio中的Activity启动模式:
默认的启动模式。每次启动时都创建一个新的Activity实例。
如果Activity已经存在于栈的顶部,则不会创建新的Activity实例。否则会创建新实例并压入栈中。
如果Activity已经存在于栈中,则将它移到栈的顶部而不是创建新的Activity实例。如果Activity不存在,则创建新实例并压入栈中。
Activity只有一个实例。也就是说,如果Activity已经存在于栈中,则不会在栈中创建新实例。如果Activity不存在,则会创建新的栈来承载它。
本文介绍了Android Studio中的不同类型的活动,包括标准活动、带有Fragment的活动和启动模式。选择正确的Activity类型和启动模式对于开发高质量的Android应用程序非常重要。希望这篇文章可以帮助新手程序员更好地理解Activity的作用和使用方法。