【Android开发——Activity简述】
Activity 概念介绍
在 Android 系统中,Activity
是一个应用程序组件,用于提供一个屏幕供用户交互。它通常是用户可以看到和交互的界面。一个 Android 应用通常由多个 Activity 组成,每个 Activity 负责处理不同的用户交互场景。
Activity 的主要特点:
- 用户界面:Activity 提供了一个屏幕界面,用户可以与之交互。
- 生命周期:Activity 有一个明确定义的生命周期,包括创建、启动、暂停、停止和销毁等状态。
- 独立性:每个 Activity 都是独立的,可以单独启动和管理。
- 任务栈:Activity 按照启动顺序被放置在任务栈中,用户可以通过返回键或系统按钮在 Activity 之间导航。
Activity 生命周期方法:
onCreate()
:Activity 创建时调用,用于初始化界面和数据。onStart()
:Activity 对用户可见时调用。onResume()
:Activity 开始与用户交互时调用。onPause()
:Activity 暂停与用户交互时调用。onStop()
:Activity 对用户不可见时调用。onDestroy()
:Activity 销毁时调用。
示例:新闻阅读应用
以下是一个简单的新闻阅读应用示例,包含多个 Activity:
1. MainActivity
- 作用:应用的主入口,显示新闻列表。
- 生命周期:应用启动时首先运行,用户回到应用时恢复。
- 交互:用户可以浏览新闻列表,点击新闻项进入详情页。
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 初始化新闻列表}
}
2. NewsDetailActivity
- 作用:显示新闻详情。
- 生命周期:从 MainActivity 启动,用户点击新闻项时运行。
- 交互:用户可以阅读新闻详情,返回主屏幕。
public class NewsDetailActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_news_detail);// 显示新闻详情}
}
3. SettingsActivity
- 作用:管理应用设置(如字体大小、主题等)。
- 生命周期:从 MainActivity 启动,用户点击设置按钮时运行。
- 交互:用户可以修改设置,保存后返回主屏幕。
public class SettingsActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_settings);// 初始化设置界面}
}
4. SearchActivity
- 作用:提供搜索功能,允许用户搜索新闻。
- 生命周期:从 MainActivity 启动,用户点击搜索按钮时运行。
- 交互:用户输入关键词,显示搜索结果。
public class SearchActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_search);// 初始化搜索界面}
}
5. AboutActivity
- 作用:显示应用信息(如版本号、开发者信息等)。
- 生命周期:从 MainActivity 启动,用户点击关于按钮时运行。
- 交互:用户查看应用信息,点击返回按钮返回主屏幕。
public class AboutActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_about);// 显示应用信息}
}
Activity 之间的导航
这些 Activity 通过 Intent 进行导航。例如,从 MainActivity 启动 NewsDetailActivity:
Intent intent = new Intent(MainActivity.this, NewsDetailActivity.class);
intent.putExtra("newsId", newsId);
startActivity(intent);
总结
Activity 是 Android 应用的基本构建块,每个 Activity 通常对应一个用户可以交互的屏幕。通过管理 Activity 的生命周期和使用 Intent 进行导航,可以构建复杂且用户友好的应用。