安卓开发:创建与配置Activity
146 浏览量
更新于2024-07-15
收藏 237KB PDF 举报
"这篇笔记主要介绍了如何在Android中创建和使用Activity,以及涉及到的布局文件和注册过程。"
在Android应用开发中,Activity是构成应用程序界面的基本单元,它负责处理用户交互并展示UI。以下是对Android Activity的详细解释:
1. 创建Activity:
创建Activity时,你需要定义一个新的Java类,并让它继承自Android提供的`Activity`基类。例如:
```java
public class CalcActivity extends Activity {
}
```
这个类将成为Activity的载体,包含所有与用户交互的逻辑。
2. 编写布局文件:
每个Activity通常都有一个对应的XML布局文件,用于描述用户界面的结构。在示例中,创建了一个名为`R.layout.xxx`的布局文件,其中`xxx`是你自定义的布局名称。布局文件通常位于`res/layout`目录下,你可以使用各种组件如`TextView`、`EditText`、`Button`等来构建用户界面。
3. 在Activity中设置布局:
在Activity的`onCreate()`方法中,需要调用`setContentView()`方法来指定要显示的布局文件。这将把XML布局加载到Activity中,使其可见。例如:
```java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
```
其中`R.layout.activity_main`替换为你的布局文件ID。
4. 在AndroidManifest.xml中注册Activity:
在应用的`AndroidManifest.xml`文件中,每个Activity都需要被显式注册,以便系统知道如何启动它们。添加如下代码:
```xml
<activity android:name="com.itheima.rp.CalcActivity" />
```
这里`com.itheima.rp.CalcActivity`是你的Activity全名,包括包名。
5. 人品计算器示例:
示例中展示了两个布局:一个`RelativeLayout`和一个`LinearLayout`。`RelativeLayout`用于放置一个`ImageView`,显示应用的logo,而`LinearLayout`通常用于组织其他UI元素,如按钮和输入框,用于实现计算功能。
6. 结果展示和数据传递:
如果你想在不同的Activity之间传递数据,比如计算结果,可以使用`Intent`对象。在源Activity中,创建一个Intent,附加结果数据,然后启动目标Activity。在目标Activity的`onCreate()`中,通过Intent获取数据并更新界面。例如:
```java
// 在源Activity中
Intent intent = new Intent(this, ResultActivity.class);
intent.putExtra("result", calculatedResult);
startActivity(intent);
// 在目标Activity中
String result = getIntent().getStringExtra("result");
TextView resultView = findViewById(R.id.result_text);
resultView.setText(result);
```
Activity是Android应用的核心组件,负责处理用户交互和展示界面。创建Activity时,需要编写Java类,设计布局文件,设置布局,并在`AndroidManifest.xml`中注册。在不同Activity间传递数据可以使用Intent,以实现多界面间的交互。
2009-07-15 上传
点击了解资源详情
2011-11-26 上传
2009-09-02 上传
2015-06-06 上传
2016-11-02 上传
2021-12-12 上传
2021-06-26 上传
2017-04-08 上传
weixin_38695773
- 粉丝: 10
- 资源: 956
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫