当前位置: 首页 > java >正文

Android 移动应用开发:页面跳转与数据传递功能

目录

✅ 运行效果说明

📁 文件一:MainActivity.java(语言:Java)

📁 文件二:Edit_MainActivity.java(语言:Java)

📁 文件三:activity_main.xml(语言:XML)

📁 文件四:activity_edit_main.xml(语言:XML)


本教程带你实现一个简单的 Android 应用,包含以下功能:

  • 点击按钮打开百度网页;

  • 使用 Intent 调用系统地图应用显示指定坐标;

  • 页面跳转至编辑界面,返回修改后的“姓名”和“年龄”。

适合初学者学习 Intent 的用法、页面跳转、数据传递与回传等核心知识点。文中代码均为 JavaXML 文件,复制粘贴可直接运行。


✅ 运行效果说明

  1. 主界面含有四个按钮与两个文本框;

  2. 点击“打开百度”跳转网页;

  3. 点击“打开地图”跳转地图应用;

  4. 点击“编辑”跳转编辑页面,修改后返回主页面并更新信息。


📁 文件一:MainActivity.java(语言:Java)

// 文件路径:com.example.intent.MainActivity.java
package com.example.intent;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private Button btn_1,btn_2,btn_3,btn_bianji;private TextView tv_name,tv_age;private String name = "小宁";private int age = 18;@SuppressLint("MissingInflatedId")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn_1 = findViewById(R.id.btn_1);btn_2 = findViewById(R.id.btn_2);btn_3 = findViewById(R.id.btn_3);btn_bianji = findViewById(R.id.btn_bianji);tv_name = findViewById(R.id.tv_name);tv_age = findViewById(R.id.tv_age);// 打开百度btn_1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(Intent.ACTION_VIEW);Uri data = Uri.parse("https://www.baidu.com/");intent.setData(data);startActivity(intent);}});// 打开地图btn_3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {double latitude = 23.743282;double longitude = 113.102215;Uri geoUri = Uri.parse("geo:" + latitude + "," + longitude);Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(geoUri);startActivity(intent);}});tv_name.setText(name);tv_age.setText(String.valueOf(age));// 打开编辑页面btn_bianji.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(MainActivity.this, Edit_MainActivity.class);intent.putExtra("NAME", name);intent.putExtra("AGE", age);startActivityForResult(intent, 1001);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);String name = data.getStringExtra("NAME");int age = data.getIntExtra("AGE", 0);tv_name.setText(name);tv_age.setText(String.valueOf(age));}
}

📁 文件二:Edit_MainActivity.java(语言:Java)

// 文件路径:com.example.intent.Edit_MainActivity.java
package com.example.intent;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;public class Edit_MainActivity extends AppCompatActivity {private EditText edt_name, edt_age;private Button btn_queding;@SuppressLint("MissingInflatedId")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_edit_main);Intent intent = getIntent();String name = intent.getStringExtra("NAME");int age = intent.getIntExtra("AGE", 0);edt_name = findViewById(R.id.edt_name);edt_age = findViewById(R.id.edt_age);btn_queding = findViewById(R.id.btn_queding);edt_name.setText(name);edt_age.setText(String.valueOf(age));btn_queding.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String name = edt_name.getText().toString();int age = Integer.parseInt(edt_age.getText().toString());Intent intent = new Intent();intent.putExtra("NAME", name);intent.putExtra("AGE", age);setResult(2001, intent);finish();}});}
}

📁 文件三:activity_main.xml(语言:XML)

<!-- 文件路径:res/layout/activity_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/btn_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开百度" /><Buttonandroid:id="@+id/btn_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开电话" /><Buttonandroid:id="@+id/btn_3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开地图" /><TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="姓名" /><TextViewandroid:id="@+id/tv_age"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="年龄" /><Buttonandroid:id="@+id/btn_bianji"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="编辑" />
</LinearLayout>

📁 文件四:activity_edit_main.xml(语言:XML)

<!-- 文件路径:res/layout/activity_edit_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><EditTextandroid:id="@+id/edt_name"android:layout_width="200dp"android:layout_height="wrap_content" /><EditTextandroid:id="@+id/edt_age"android:layout_width="200dp"android:layout_height="wrap_content" /><Buttonandroid:id="@+id/btn_queding"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="确定" />
</LinearLayout>

欢迎开发者将代码复制到 Android Studio 中运行学习。如有需要,可后续添加打电话功能、定位导航、拨号页面等更多实践。需要更复杂的页面跳转与数据封装处理,也可以基于此案例拓展学习。

http://www.xdnf.cn/news/5087.html

相关文章:

  • 电动汽车充电设施可调能力聚合评估与预测
  • 开发者日常中的网络调试实战
  • 【linux常用命令】处理失效链接
  • 大白话解释CPU、NPU和GPU
  • Unity 点击按钮,打开 Windows 文件选择框,并加载图片
  • 基于nodejs + Koa +Nuxt3的订单系统项目实战
  • 应急响应靶机训练-挖矿事件:知攻善防实验室
  • element-ui分页的使用及修改样式
  • RabbitMQ事务机制
  • NextPolish1.4.1 安装与使用-bioinformatics tools54
  • leader-line文本添加click点击事件
  • 【人工智能学习之注意力机制浅析】
  • 学习黑客威胁情报(Threat Intelligence)
  • 一文了解Python中的requests库:网络交互的基础
  • AI服务器通常会运用在哪些场景当中?
  • STM32CubeMX安装及使用分享
  • 切比雪夫不等式专题习题
  • Qt开发:项目视图(Item Views)的介绍和使用
  • CRC 循环冗余校验
  • TRAE 配置blender MCP AI自动3D建模
  • 京东商品详情接口 item_get 深度解析
  • 学习一下linux的思路和笔记分享
  • CSS opacity
  • 已解决:安卓刚打开新项目的时候,会下载该项目要求的sdk gradle,开了科学上网也慢
  • C++学习-入门到精通-【5】类模板array和vector、异常捕获
  • B树和B+树
  • xxl-job的pg数据库改造适配
  • TiDB预研-分页查询、连接查询、执行计划
  • yolov5基础--yolov5源码阅读(common.py)
  • LeRobot 项目部署运行逻辑(六)——visualize_dataset_html.py/visualize_dataset.py