目录
📁 文件一:MainActivity.java(语言:Java)
📁 文件二:Edit_MainActivity.java(语言:Java)
📁 文件三:activity_main.xml(语言:XML)
📁 文件四:activity_edit_main.xml(语言:XML)
本教程带你实现一个简单的 Android 应用,包含以下功能:
点击按钮打开百度网页;
使用
Intent
调用系统地图应用显示指定坐标;页面跳转至编辑界面,返回修改后的“姓名”和“年龄”。
适合初学者学习 Intent
的用法、页面跳转、数据传递与回传等核心知识点。文中代码均为 Java 和 XML 文件,复制粘贴可直接运行。
✅ 运行效果说明
主界面含有四个按钮与两个文本框;
点击“打开百度”跳转网页;
点击“打开地图”跳转地图应用;
点击“编辑”跳转编辑页面,修改后返回主页面并更新信息。
📁 文件一: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")
@Override
protected 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() {
@Override
public 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() {
@Override
public 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() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Edit_MainActivity.class);
intent.putExtra("NAME", name);
intent.putExtra("AGE", age);
startActivityForResult(intent, 1001);
}
});
}
@Override
protected 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")
@Override
protected 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() {
@Override
public 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">
<Button
android:id="@+id/btn_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开百度" />
<Button
android:id="@+id/btn_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开电话" />
<Button
android:id="@+id/btn_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开地图" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名" />
<TextView
android:id="@+id/tv_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="年龄" />
<Button
android: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">
<EditText
android:id="@+id/edt_name"
android:layout_width="200dp"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/edt_age"
android:layout_width="200dp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_queding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定" />
</LinearLayout>
欢迎开发者将代码复制到 Android Studio 中运行学习。如有需要,可后续添加打电话功能、定位导航、拨号页面等更多实践。需要更复杂的页面跳转与数据封装处理,也可以基于此案例拓展学习。