news 2026/7/22 6:46:07

Android开发学习笔记——4、activity创建和跳转

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android开发学习笔记——4、activity创建和跳转

一、传统 View (XML) 页面 3 个核心步骤

  1. 创建布局 xmlres/layout新建页面布局文件,写 UI 控件。
  2. 创建 Activity 类新建 Kotlin/Java Activity,setContentView绑定上面的布局。
  3. AndroidManifest.xml 注册页面在清单文件中添加<activity>标签,系统才能识别该页面;首页需要加intent-filter

举例:

第一步:布局 res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Java 第一个页面"/> </LinearLayout>

第二步:MainActivity.java(Java 代码)

package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 绑定布局(核心代码) setContentView(R.layout.activity_main); } }

第三步:AndroidManifest.xml 注册

<activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

二、实现activity之间的跳转

页面1:activity_main.xml(带跳转按钮)

<?xml version="1.0" encoding="utf-8"?> <!-- 根布局 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <!-- 跳转按钮 --> <Button android:id="@+id/btn_jump" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转到第二个页面"/> </LinearLayout>

MainActivity.java(页面1,点击跳转)

package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 绑定布局 setContentView(R.layout.activity_main); // 获取按钮控件 Button btnJump = findViewById(R.id.btn_jump); // 设置点击事件 btnJump.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 创建意图,指定从当前页跳转到Activity2 Intent intent = new Intent(MainActivity.this, Activity2.class); // 执行页面跳转 startActivity(intent); } }); } }

页面2布局:activity_second.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是第二个页面"/> </LinearLayout>

Activity2.java(第二个页面)

package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class Activity2 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 绑定第二个页面布局 setContentView(R.layout.activity_second); } }

AndroidManifest.xml 注册两个Activity

<!-- 首页Activity --> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- 第二个页面必须注册,否则跳转崩溃 --> <activity android:name=".Activity2" android:exported="false"/>

核心知识点

  1. Intent:安卓页面跳转、组件通信的载体
  2. startIntent():启动新页面
  3. 所有Activity必须在Manifest注册,否则无法跳转
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/22 6:43:17

巴洛克音乐技术集成:从本地管理到流媒体API的完整方案

这次我们来看一个关于巴洛克音乐资源的技术分享。虽然音乐本身是艺术内容&#xff0c;但从技术角度看&#xff0c;如何高效获取、管理、播放这类经典复古音乐资源&#xff0c;以及如何将其集成到各种应用场景中&#xff0c;都是值得探讨的技术话题。巴洛克音乐以其复杂的对位结…

作者头像 李华
网站建设 2026/7/22 6:41:22

嵌入养老新解法:社区共享儿女项目如何盘活健康台账与适老消费

近期在业内观察到一个反直觉的现象&#xff1a;某社区在推行适老商品团购与健康监测服务时&#xff0c;初期老人参与度平平。但自从该地引入“社区共享儿女项目”&#xff0c;并为每位老人建立起连续的“动态健康台账”后&#xff0c;不仅慢病管理有了抓手&#xff0c;在线商城…

作者头像 李华
网站建设 2026/7/22 6:41:04

C++异常处理:从RAII到noexcept的实战指南

1. 项目概述&#xff1a;为什么C异常机制是“带刺的玫瑰”&#xff1f; 在C的世界里&#xff0c;异常处理机制就像一把设计精良的双刃剑&#xff0c;或者说&#xff0c;一朵带刺的玫瑰。它优雅、强大&#xff0c;旨在将错误处理逻辑从正常的业务流中剥离&#xff0c;让代码更清…

作者头像 李华
网站建设 2026/7/22 6:40:13

50MW 电站无人机巡检:从红外热斑到 OM 工单的断层怎么接

去年 10 月&#xff0c;西北某 100MW 集中式电站的运维负责人找到我们&#xff0c;开口第一句话就是&#xff1a;“无人机飞了一整天&#xff0c;AI 识别出 300 多个热斑&#xff0c;结果我手下的人得对着 Excel 找半天位置&#xff0c;这巡检巡了个寂寞。” 这其实是目前光伏…

作者头像 李华
网站建设 2026/7/22 6:38:17

高效英语正反义词记忆法:100组高频词汇与科学技巧

1. 为什么我们需要正反义词记忆法&#xff1f;背单词最痛苦的就是记了又忘&#xff0c;特别是那些长得差不多的词汇。我在英语培训机构任教十年&#xff0c;发现学生最容易混淆的就是意义相反的单词对。比如把"abundant&#xff08;丰富的&#xff09;"记成"sca…

作者头像 李华