目錄
? 運行效果說明
📁 文件一: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")@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 中運行學習。如有需要,可后續添加打電話功能、定位導航、撥號頁面等更多實踐。需要更復雜的頁面跳轉與數據封裝處理,也可以基于此案例拓展學習。