Android开发教程:布局与数据传递

需积分: 9 7 下载量 24 浏览量 更新于2024-09-11 收藏 3.05MB PDF 举报
"新版Android开发教程+笔记6--应用3、4 布局" 这篇教程主要聚焦于Android应用开发中的布局管理和数据传递,特别是通过Bundle在不同Activity之间传递数据。在Android开发中,布局(Layout)是用户界面设计的关键部分,它定义了屏幕上元素的排列方式和交互行为。开发者通常会使用XML文件来创建和管理布局,这允许他们在不编写Java代码的情况下设计用户界面。 1. 布局管理: - Android提供了多种布局类型,如LinearLayout(线性布局)、RelativeLayout(相对布局)、ConstraintLayout(约束布局)、GridLayout(网格布局)等。这些布局各有特点,适用于不同的UI设计需求。 - LinearLayout允许按照垂直或水平方向排列子视图,可以设置权重分配空间。 - RelativeLayout则根据子视图之间的相对位置进行布局,可以实现更复杂的对齐方式。 - ConstraintLayout是Google推出的现代布局,用于创建大型、响应式的用户界面,它可以灵活地处理视图之间的关系,无需嵌套多个布局。 2. 数据传递: - 在Android中,当需要在不同的Activity之间传递数据时,常用的方法是通过Intent对象。Intent不仅仅是启动新Activity的工具,还可以承载数据。 - 使用`putExtra()`方法将数据(如字符串、整数、布尔值等)放入Bundle对象,然后将Bundle附加到Intent中。 - 示例代码展示了如何创建一个新的Intent(`openWelcomeActivityIntent`),创建一个Bundle(`myBundelForName`),并将数据("Key_Name" 和 "Key_Age")存储在Bundle中,随后将Bundle添加到Intent。 - 当目标Activity启动时,可以通过`getIntent().getExtras()`获取Intent携带的数据,再通过键值对提取出数据,例如,获取到的"name"可以显示在TextView上。 3. Intent的使用: - Intent是Android中一个非常重要的概念,它用来表示应用中的一次操作或者动作,可以启动新的Activity,启动Service,发送Broadcast等。 - 在上述示例中,Intent被用来启动新的Activity(`Welcome.class`),同时传递数据。 - `setClass()`方法指定要启动的Activity类,`startActivity()`则是实际启动Activity的动作。 4. Bundle详解: - Bundle是一个可保存和恢复的键值对容器,它允许开发者在不同组件之间安全地传递数据,特别是跨Activity或Fragment。 - 数据类型支持基本类型、集合、Parcelable对象等,但需要注意的是,复杂对象(如自定义对象)需要实现Parcelable接口才能传递。 - 使用`putXXX()`和`getXXX()`方法来添加和获取数据,其中`XXX`代表数据类型,例如`putString()`和`getString()`。 在实际开发中,理解并熟练掌握布局管理和数据传递是构建高效且用户友好的Android应用的基础。通过不断地练习和实践,开发者能够更好地掌握这些知识,提升应用的用户体验。