📌  相关文章
📜  Android Studio中的不同类型的活动(1)

📅  最后修改于: 2023-12-03 14:39:09.144000             🧑  作者: Mango

Android Studio中的不同类型的活动

在Android开发中,活动(Activity)是一个非常重要的概念。一个Activity代表应用程序中的一个屏幕。在Android Studio中,活动有很多不同的类型。本文将介绍Android Studio中的不同类型的活动。

标准活动

标准活动(Standard Activity)是默认的Activity类型。它可以单独存在,也可以在其他Activity中被调用。当一个Activity被启动时,它会覆盖前一个Activity并成为屏幕上的新Activity。

以下是创建一个标准活动的示例代码:

public class MyActivity extends Activity {
    // 这里将写入活动的代码
}
带有Fragment的活动

带有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启动模式:

Standard

默认的启动模式。每次启动时都创建一个新的Activity实例。

SingleTop

如果Activity已经存在于栈的顶部,则不会创建新的Activity实例。否则会创建新实例并压入栈中。

SingleTask

如果Activity已经存在于栈中,则将它移到栈的顶部而不是创建新的Activity实例。如果Activity不存在,则创建新实例并压入栈中。

SingleInstance

Activity只有一个实例。也就是说,如果Activity已经存在于栈中,则不会在栈中创建新实例。如果Activity不存在,则会创建新的栈来承载它。

结论

本文介绍了Android Studio中的不同类型的活动,包括标准活动、带有Fragment的活动和启动模式。选择正确的Activity类型和启动模式对于开发高质量的Android应用程序非常重要。希望这篇文章可以帮助新手程序员更好地理解Activity的作用和使用方法。