• Android App活动页面



    App的活动页面

    App活动页面的基本操作,首先手把手地分三步创建新的App页面,接着通过活动创建菜单快速生成页面源码,然后说明了如何在代码中跳到新的活动页面。

    一,创建新的App页面

    每次创建新的项目,都会生成默认的activity_main.xml和MainActivity.java,它们正是App首页对应的XML文件和Java代码。若要增加新的页面,就得由开发者自行操作了,完整的页面创建过程包括3个步骤:创建XML文件、创建Java代码、注册页面配置,分别介绍如下:

    (一)创建XML文件

    1.在Android Studio左上方找到项目结构图,右击res目录下面的layout,弹出如图一所示的右键菜单。
    在这里插入图片描述
    2.在右键菜单中依次选择New→XML→Layout XML File,弹出如下图二所示的XML创建对话框。
    在这里插入图片描述
    3.在XML创建对话框的Layout File Name输入框中填写XML文件名,例如activity_main2,然后单击窗口右下角的Finish按钮。之后便会在layout目录下面看到新创建的XML文件activity_main2.xml,双击它即可打开该XML的编辑窗口,再往其中填写详细的布局内容。

    (二)创建Java代码

    1.同样在Android Studio左上方找到项目结构图,右击java目录下面的包名,弹出如下图三所示的右键菜单。
    在这里插入图片描述2.在右键菜单中依次选择New→Java Class,弹出如下图四所示的代码创建窗口。
    在这里插入图片描述
    3.在代码创建窗口的Name输入框中填写Java类名,例如Main2Activity,然后单击窗口下方的OK按钮。之后便会在Java包下面看到新创建的代码文件Main2Activity,双击它即可打开代码编辑窗口,再往其中填写如下代码,表示加载来自activity_main2的页面布局。

    public class Main2Activity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main2);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    (三)注册页面配置

    1.创建好了页面的XML文件及其Java代码,还得在项目中注册该页面,打开AndroidManifest.xml,在application节点内部补充如下一行配置:

    
    
    • 1

    2.添加了上面这行配置,表示给该页面注册身份,否则App运行时打开页面会提示错误“activity not found”。如果activity的标记头与标记尾中间没有其他内容,则节点配置也可省略为下面这样:

    
    
    • 1

    完成以上3个步骤后,才算创建了一个合法的新页面。

    二,快速生成页面源码

    上面经过创建XML文件、创建Java代码、注册页面配置3个步骤,就算创建好了一个新页面,没想到区区一个页面也这么费事,怎样才能提高开发效率呢?其实Android Studio早已集成了快速创建页面的功能,只要一个对话框就能完成所有操作。

    1.仍旧在项目结构图中,右击java目录下面的包名,弹出如下图所示的右键菜单。
    在这里插入图片描述2.右键菜单中依次选择New→Activity→Empty Activity,弹出如下图七所示的页面创建对话框。

    在这里插入图片描述3.在页面创建对话框的Activity Name输入框中填写页面的Java类名(例如Main2Activity),此时下方的Layout Name输入框会自动填写对应的XML文件名(例如activity_main2),单击对话框右下角的Finish按钮,完成新页面的创建动作。

    回到Android Studio左上方的项目结构图,发现res的layout目录下多了个activity_main2.xml,同时java目录下多了个Main2Activity,并且Main2Activity代码已经设定了加载activity_main2布局。接着打开AndroidManifest.xml,找到application节点发现多了下面这行配置:

    
    
    • 1

    检查结果说明,只要填写一个创建页面对话框,即可实现页面创建的3个步骤。

    三,跳转到另一个页面

    一旦创建好新页面,就得在合适的时候跳到该页面,假设出发页面为A,到达页面为B,那么跳转动作是从A跳到B。由于启动App会自动打开默认主页MainActivity,因此跳跃的起点理所当然在MainActivity,跳跃的终点则为目标页面的Activity。这种跳转动作翻译为Android代码,格式形如“startActivity(new Intent(源页面.this, 目标页面.class));”。如果目标页面名为Main2Activity,跳转代码便是下面这样的:

    // 活动页面跳转,从MainActivity跳到Main2Activity
    startActivity(new Intent(MainActivity.this, Main2Activity.class));
    
    • 1
    • 2

    因为跳转动作通常发生在当前页面,也就是从当前页面跳到其他页面,所以不产生歧义的话,可以使用this指代当前页面。简化后的跳转代码如下所示:

    startActivity(new Intent(this, Main2Activity.class));
    
    • 1

    接下来做个实验,准备让App启动后在首页停留3秒,3秒之后跳到新页面Main2Activity。此处的延迟处理功能,用到了Handler工具的postDelayed方法,该方法的第一个参数为待处理的Runnable任务对象,第二个参数为延迟间隔(单位为毫秒)。为此在MainActivity.java中补充以下的跳转处理代码:

    @Override
    protected void onResume() {
         super.onResume();
         goNextPage(); // 跳到下个页面
     }
     // 跳到下个页面
     private void goNextPage() {
        TextView tv_hello = findViewById(R.id.tv_hello);
        tv_hello.setText("3秒后进入下个页面");
        // 延迟3秒(3000毫秒)后启动任务mGoNext
        new Handler(Looper.myLooper()).postDelayed(mGoNext, 3000);
      }
      private Runnable mGoNext = new Runnable() {
        @Override
        public void run() {
            // 活动页面跳转,从MainActivity跳到Main2Activity
            startActivity(new Intent(MainActivity.this, Main2Activity.class));
        }
    };
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    运行测试App,刚打开的App界面如图八所示,过了3秒发生跳转事件的App界面如图九所示,可见成功跳到了新页面。
    在这里插入图片描述
    在这里插入图片描述当然,以上的跳转代码有些复杂,比如:Intent究竟是什么东西?为何在onResume方法中执行跳转动作?Handler工具的处理机制是怎样的?带着这些疑问,后续章节将会逐渐展开,一层一层拨开Android开发的迷雾。

    总结

    App开发必须事先掌握的基础知识,包括App的开发特点(App的运行环境、App的开发语言、App访问的数据库)、App的工程结构(App工程的目录结构、编译配置文件build.gradle、运行配置文件AndroidManifest.xml)、App的设计规范(界面设计与代码逻辑、利用XML标记描绘应用界面、使用Java代码书写程序逻辑)、App的活动页面(创建新的App页面、快速生成页面源码、跳转到另一个页面)。
    通过本此的学习,应该了解App开发的基本概念,并且熟悉App工程的组织形式,同时掌握使用Android Studio完成一些简单操作。

  • 相关阅读:
    [Pandas] 数据选择
    大数据_数据中台建设的成熟度评估模型
    代码优化~隔离接口实现类
    【毕业设计】单片机远程wifi红外无接触体温测量系统 - 物联网 stm32
    Java 基础——运行第一个Java程序:hello world
    MySQL InnoDB存储引擎的缓冲池和内存性能
    音视频开发—V4L2介绍,FFmpeg 打开摄像头输出yuv文件
    新的优化器 Adan
    G1、CMS垃圾回收期专题
    【LeetCode】LeetCode 106.从中序与后序遍历序列构造二叉树
  • 原文地址:https://blog.csdn.net/m0_62617719/article/details/127400643