在Android应用开发中,Activity是构成应用程序的基本单元,它代表用户可以交互的屏幕。当我们需要在不同的Activity之间传递数据时,通常会用到Intent对象。本教程将通过一个简单的"摘桃子游戏"实例,详细讲解如何在Android的多个Activity间进行数据回传。 我们创建两个Activity:MainActivity和PeachActivity。MainActivity作为游戏主界面,展示一棵桃树(tree_bg.png、tree.png),而PeachActivity用于展示用户摘到的桃子(peach_pic.png)。 在MainActivity中,用户点击"摘桃子"按钮(btn_peach.png),我们需要启动PeachActivity并传递一些数据,如桃子的ID或数量。这可以通过Intent的putExtra()方法实现: ```java Intent intent = new Intent(MainActivity.this, PeachActivity.class); intent.putExtra("peach_id", peachId); // 假设peachId是桃子的唯一标识 startActivity(intent); ``` 在PeachActivity中,我们通过getIntent().getStringExtra()或getIntent().getIntExtra()等方法获取传递的数据: ```java Intent intent = getIntent(); int peachId = intent.getIntExtra("peach_id", -1); // -1为默认值,表示没有传递该数据 ``` 为了实现数据回传,即从PeachActivity返回结果给MainActivity,我们可以使用startActivityForResult()方法启动PeachActivity,并在PeachActivity中调用setResult()来设置返回结果: ```java // 在PeachActivity中处理完桃子后 Intent resultIntent = new Intent(); resultIntent.putExtra("picked_peaches", pickedCount); // pickedCount为摘到的桃子数量 setResult(RESULT_OK, resultIntent); // 结果码RESULT_OK表示操作成功 finish(); // 关闭PeachActivity ``` 然后,在MainActivity的onActivityResult()方法中接收返回的结果: ```java @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQ_CODE_PICK_PEAR && resultCode == RESULT_OK) { // REQ_CODE_PICK_PEAR是自定义请求码 int pickedCount = data.getIntExtra("picked_peaches", 0); // 更新MainActivity中的桃子数量或者做其他处理 } } ``` 在这个“摘桃子游戏”实例中,我们学习了如何在Android的不同Activity之间传递和回传数据,这对于构建复杂的应用程序至关重要。理解并熟练掌握这一技术,可以帮助我们更高效地组织和管理应用程序的流程。同时,我们还了解了如何利用资源文件(如图片bg.png、monkey.png等)来增强游戏的视觉效果,提供更好的用户体验。在实际开发中,根据需求,还可以扩展更多的功能,如动画效果、声音效果等,使游戏更具吸引力。
2026-04-13 10:01:52 1022KB android
1
管家婆分销V3 9.4去回传更新工具及20用户补丁,完美解决8大回传。
2024-05-15 11:05:04 16.33MB net编译
1
Android Studio 3.0 下使用Intent传递数据和数据回传的示例。实现了一个简单的登录界面,用户输入用户名和密码后,点击登录把用户名和密码传递到主界面,主界面显示用户名和密码,然后在主界面中购买一个物品,打开一个物品界面,购买物品后,把物品的属性传回主界面,并更新主界面相应的属性值。
2023-06-28 11:41:42 18.73MB Android Intent 传递数据 数据回传
1
自备用。想下随意。Qt 使用MVC框架简单实现登录验证(例子是模拟登录,未用到数据库以及数据回传)。
2023-03-17 11:11:17 4KB qt mvc
1
免费资源可以看博客中《Activity之间的数据回传》进行学习 Android开发 猴子摘桃小项目——学习Activity之间的数据回传
2022-10-19 17:03:40 20.86MB Android 猴子摘桃 Activity 数据回传
子窗体回传值给父窗体 C#(Winfrom)窗体传值问题(子窗体回传值给父窗体).txt
2022-07-09 23:39:36 924B C# 窗体传值
1
任务简述 在给定一个地区中候选站点的位置分布的情况下,需要根据站点间的相互位置、站点间拓扑关系限制等条件,在满足一定回传质量(根据宿主站与子站的距离是否满足某门限来判断是否满足最低回传质量要求。在实际的Relay部署时,影响回传质量的因素包括距离、地形阻挡、普通手机接入影响、ReBTS干扰、相邻基站干扰等多种复杂因素)的前提下,设计成本最优的站点部署方案,包括: (1)候选站点是安装子站还是宿主站? (2)候选站点间的连接关系如何?
2022-06-08 10:42:02 715KB 数学建模 深圳杯 选址问题 遗传算法
1
activity_show.xml activity_shop.xml MainActivity.java package cn.itcast.userregist; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import androidx.appcompat.app.AppCompatActivity; public class
2022-05-19 02:17:49 97KB 宠物 数据
1
安全技术-网络信息-论HFC网络回传通道的建设.pdf
2022-04-27 09:00:09 5.08MB 网络 安全 文档资料
免费资源可以看博客中《Activity之间的数据回传》进行学习 Android开发 猴子摘桃小项目——学习Activity之间的数据回传
2022-04-09 13:04:35 19.71MB android 学习
1