【快速解决】实验四 对话框 《Android程序设计》实验报告

目录

前言 

实验要求

实验四 对话框

正文开始

第一步建立项目

 第二步选择empty views activity点击next

​编辑

 第三步起名字,点击finish

第四步对 activity _main.xml文件操作进行布局

第五步,建立两个新文件,建立方法如下

SecondActivity.java中的代码

ThirdActivity.java中的代码

activity_ second.xml代码 

activity_third.xml代码 

 MainActivity.java代码

activity_main.xml代码 

运行结果如下

结语 


前言 

不会写《Android程序设计》实验报告没关系,小光手把手教你怎么写。

下来我们先看一下,这次老师布置的实验要求(●'◡'●)

实验要求

实验四 对话框
  • 实验目的和要求

掌握在界面设计时进行对话框的设计,对话框的事件监听及事件响应处理。

  • 实验内容

四种对话框至少实现3种,需要涉及至少3个页面。

  1. AlertDialog
  2. ProgressDialog
  3. DatePickerDialog
  4. TimePickerDialog

三、实验仪器、设备

PC一台 + Windows 操作系统 + Android Studio

四、实验原理

  1. AlertDialog:功能最为丰富,实际应用最为广泛的对话框。
  2. ProgressDialog:进度对话框,是对简单进度条的封装。
  3. DatePickerDialog:日期选择对话框。
  4. TimePickerDialog:时间选择对话框。
  5. 自定义对话框:对话框布局自定义,并设置监听事件

五、实验步骤

  1. 新建页面
  2. 插入对话框
  3. 对对话框属性和内容进行更改
  4. 监听对话框

六、实验注意事项

(一)机房的使用规范和用电安全。

(二)注意实践的监听代码写在.JAVA文件中。

七、实验报告要求

实验报告以书面/电子形式提交,严禁抄袭,一旦发现,即为零分。

实验报告主要内容包括实验名称、实验类型、实验地点、学时、实验环境、实验原理、实验步骤、实验结果、总结与思考等。

、实验成绩考核

实验成绩根据实验课的出勤、课堂表现、实验思考以及实验报告的书写情况打分,按百分制,实验成绩的平均值按30%比例计入课程总成绩。

注意:

 这篇文章中小光会带你们将老师布置的实验内容这部分,详细的讲解一下,大家可以直接复制代码,也可以学习一下怎么写,在这个基础上加以拓展,这样就不会查重了。

正文开始

小光的文章百分百可以成功!得到了大家的广泛认可

第一步建立项目

 第二步选择empty views activity点击next
 第三步起名字,点击finish

见到下面的页面我们的项目就算新建成功了 (是不是很简单),下来让我们开始,进行实验内容的实现。

第四步对 activity _main.xml文件操作进行布局

 老师要求的实验是长这个样子的,我们看一下👇👇👇

接下来我们来实现一下这三个对话框

下面展示一下我的布局

实际演示

 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:orientation="vertical">

    <Button
        android:id="@+id/btn_alert"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示AlertDialog"/>

    <Button
        android:id="@+id/btn_progress"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示ProgressDialog" />

    <android.widget.Button
        android:id="@+id/btn_submit"
        android:layout_width="200dp"
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:background="@drawable/but_1"
        android:text="提交"
        android:textColor="#000000"
        android:textSize="18sp"
        android:layout_marginTop="10dp"
        />

</LinearLayout>

 然后你们看到的就会是这个结果

第五步,建立两个新文件,建立方法如下

因为我们要将其他两个对话框放在新的页面,所以要创建两个页面,创建方法如下。

第一个SecondActivity

第二个 ThirdActivity

下载开始直接复制即可,无脑复制,快速结束战斗(估计要花3分钟)

SecondActivity.java中的代码
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import java.util.Calendar;
import android.app.DatePickerDialog;
import android.content.Intent;

public class SecondActivity extends AppCompatActivity {

    private android.widget.Button mBtnLogin;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        // DatePickerDialog代码
        Button btnDate = findViewById(R.id.btn_date);
        btnDate.setOnClickListener(view -> {
            Calendar calendar = Calendar.getInstance();
            DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                    (datePicker, year, month, day) -> {
                        // 处理选择结果
                    },
                    calendar.get(Calendar.YEAR),
                    calendar.get(Calendar.MONTH),
                    calendar.get(Calendar.DAY_OF_MONTH));

            datePickerDialog.show();
        });


        //找到控件
        mBtnLogin=findViewById(R.id.btn_submit);

        //实现跳转直接跳转...方法一
        mBtnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = null;
                //从MainActivity页面跳转到FunctionActivity页面
                intent = new Intent(SecondActivity.this,ThirdActivity.class);
                startActivity(intent);
            }

        });

    }
}

 复制完后会看见这样子

ThirdActivity.java中的代码

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import java.util.Calendar;
import android.app.TimePickerDialog;
public class ThirdActivity extends AppCompatActivity {
    private android.widget.Button mBtnLogin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third);

        // TimePickerDialog代码
        Button btnTime = findViewById(R.id.btn_time);
        btnTime.setOnClickListener(view -> {
            Calendar calendar = Calendar.getInstance();
            TimePickerDialog dialog = new TimePickerDialog(this, (timePicker, hour, minute) -> {
                // 处理选择结果
            }, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true);

            dialog.show();
        });

        //找到控件
        mBtnLogin=findViewById(R.id.abc);

        //实现跳转直接跳转...方法一
        mBtnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = null;
                //从MainActivity页面跳转到FunctionActivity页面
                intent = new Intent(ThirdActivity.this,MainActivity.class);
                startActivity(intent);
            }

        });



    }
}

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:orientation="vertical">

    <Button
        android:id="@+id/btn_date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示DatePickerDialog"/>


    <android.widget.Button
        android:id="@+id/btn_submit"
        android:layout_width="200dp"
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:background="@drawable/but_1"
        android:text="提交"
        android:textColor="#000000"
        android:textSize="18sp"
        android:layout_marginTop="10dp"
        />

</LinearLayout>

activity_third.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:orientation="vertical">

    <Button
        android:id="@+id/btn_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示TimePickerDialog"/>


    <android.widget.Button
        android:id="@+id/abc"
        android:layout_width="200dp"
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:background="@drawable/but_1"
        android:text="提交"
        android:textColor="#000000"
        android:textSize="18sp"
        android:layout_marginTop="10dp"
        />

</LinearLayout>

 

 MainActivity.java代码


import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import java.util.Calendar;

public class MainActivity extends AppCompatActivity {
    private android.widget.Button mBtnLogin;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // AlertDialog代码
        Button btnAlert = findViewById(R.id.btn_alert);
        btnAlert.setOnClickListener(view -> {
            AlertDialog dialog = new AlertDialog.Builder(this)
                    .setTitle("提示")
                    .setMessage("这是一个AlertDialog")
                    .setPositiveButton("确定", null)
                    .show();
        });

        // ProgressDialog代码
        Button btnProgress = findViewById(R.id.btn_progress);
        btnProgress.setOnClickListener(view -> {
            ProgressDialog dialog = new ProgressDialog(this);
            dialog.setTitle("加载中");
            dialog.setMessage("请稍等...");
            dialog.show();
        });


        //找到控件
        mBtnLogin=findViewById(R.id.btn_submit);

        //实现跳转直接跳转...方法一
        mBtnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = null;
                //从MainActivity页面跳转到FunctionActivity页面
                intent = new Intent(MainActivity.this,SecondActivity.class);
                startActivity(intent);
            }

        });


    }
}

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:orientation="vertical">

    <Button
        android:id="@+id/btn_alert"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示AlertDialog"/>

    <Button
        android:id="@+id/btn_progress"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示ProgressDialog" />

    <android.widget.Button
        android:id="@+id/btn_submit"
        android:layout_width="200dp"
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:background="@drawable/but_1"
        android:text="提交"
        android:textColor="#000000"
        android:textSize="18sp"
        android:layout_marginTop="10dp"
        />

</LinearLayout>

 很好,复制到这里,你的实验就算是完成了,接下来让我们运行看看效果吧

点击运行 

运行结果如下

这样就结束了,感谢大家的观看,百分百成功,不会出现运行不了的问题。但一定要按照小光的代码复制,全部复制粘贴就行了。这里强调一下,文件的名字,所有的名字必须都和展示的图片中一模一样,不然会报错。

结语 

关注小光,小光帮你写实验报告(不是真的帮你写,就是我写好,你直接复制拿走的那种)也可以看看小光的其他文章,小光是全能的。

🌌点击下方个人名片,交流会更方便哦~(欢迎到博主主页加入我们的 CodeCrafters联盟一起交流学习↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/166732.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑多重不确定性和潜在博弈的楼宇群电能优化调度策略》

这个标题涉及到楼宇群电能的优化调度策略&#xff0c;并强调了两个重要的方面&#xff1a;多重不确定性和潜在博弈。 楼宇群电能优化调度策略&#xff1a; 这指的是在一个涉及多个楼宇&#xff08;建筑物&#xff09;的群体中&#xff0c;对电能的使用进行优化调度的策略。这可…

矩阵代数概论

矩阵代数 共轭转置 对于矩阵 A [ a i j ] A[a_{ij}] A[aij​]&#xff0c;共轭矩阵被定义为 A ‾ [ a ‾ i j ] \overline{A}[\overline{a}_{ij}] A[aij​]&#xff0c;所以 A A A的共轭转置 A ‾ T A T ‾ \overline{A}^T\overline{A^T} ATAT&#xff0c;其中 A ‾ T \ov…

【Flink】核心概念:并行度与算子链

并行度&#xff08;Parallelism&#xff09; 当要处理的数据量非常大时&#xff0c;我们可以把一个算子操作&#xff0c;“复制”多份到多个节点&#xff0c;数据来了之后就可以到其中任意一个执行。这样一来&#xff0c;一个算子任务就被拆分成了多个并行的“子任务”&#x…

单图像3D重建AI算法综述【2023】

计算机视觉是人工智能的一个快速发展的领域&#xff0c;特别是在 3D 领域。 本概述将考虑一个应用任务&#xff1a;2D 和 3D 环境之间的转换。 在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编…

python趣味编程-5分钟实现一个蛇梯游戏(含源码、步骤讲解)

蛇梯游戏是用Python编程语言开发的,它是一个桌面应用程序。 这个Python蛇梯游戏可以免费下载开源代码,它是为想要学习Python的初学者创建的。 该项目系统使用了 Pygame 和 Random 模块。 Pygame 是一组跨平台的 Python 模块,专为编写视频游戏而设计。 此游戏包含 Python …

《洛谷深入浅出基础篇》P5266 学籍管理——map的应用

上链接&#xff1a;P5266 【深基17.例6】学籍管理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P5266#submit 题干&#xff1a; 题目描述 您要设计一个学籍管理系统&#xff0c;最开始学籍数据是空的&#xff0c;然后该系统能够支持下面的…

盼望许久的百度熊终于收到了

文|洪生鹏 我怀着激动的心情&#xff0c;终于收到了百度熊礼品。 在我想象中&#xff0c;这只熊应该很大&#xff0c;能够填满我的怀抱。 但当我打开礼盒的那一刻&#xff0c;我有些惊讶。 它居然这么小&#xff0c;与我预期的相差甚远。 不过&#xff0c;当我们仔细一看&#…

录制第一个jmeter性能测试脚本2(http协议)——webtour

我们手工编写了一个测试计划&#xff0c;现在我们通过录制的方式来实现那个测试计划。也就是说‘’测试计划目标和上一节类似&#xff1a;让5个用户在2s内登录webtour&#xff0c;然后进入 页面进行查看。 目录 欢迎访问我的免费课程 PPT、安装包、视频应有尽有&#xff01; …

图书管理系统(图文详解,附源码)

前言&#xff1a;本文旨在用面向对象的思想编程实现图书管理系统&#xff0c;功能包括增删查找&#xff0c;完整源码放在文末&#xff0c;大家有需自取 目录 一.整体框架 二.书籍和书架 书籍(Book) 书架(BookRack) 三.对书籍的相关操作 操作接口(IOperation) 新增图书(A…

数据结构【DS】栈

共享栈 共享栈的目的是什么&#xff1f; 目的:有效利用存储空间。 共享栈的存取数据时间复杂度为&#xff1f; 存取数据时间复杂度为O(1) 共享栈如何判空&#xff1f;如何判满&#xff1f; 两个栈的栈顶指针都指向栈顶元素&#xff0c;&#x1d461;&#x1d45c;&#x1d45d;…

【电路笔记】-欧姆定律

欧姆定律 文章目录 欧姆定律1、概述2、AC电路的等效性2.1 输入电阻2.2 输入电感2.3 输入电容 3、欧姆定律的局部形式3.1 介绍和定义3.2 德鲁德模型(Drude Model)3.3 局部形式表达式 4、电阻和宏观欧姆定律5、总结 电流、电压和电阻之间的基本关系被称为欧姆定律&#xff0c;可能…

C/C++高精度

个人主页&#xff1a;仍有未知等待探索_C语言疑难,数据结构,小项目-CSDN博客 专题分栏&#xff1a;算法_仍有未知等待探索的博客-CSDN博客 为什么需要高精度算法&#xff1f; 由于c不能进行位数过高的数据运算&#xff0c;所以要通过模拟数组来进行运算&#xff0c;首先是加法。…

参考文献格式

目录 期刊会议预印本&#xff08;如arxiv&#xff09; 期刊 找不到页码可以在文献中查看bibtex格式&#xff0c;其中有 外文期刊可在web of science中查找卷号、期号和所在页数&#xff1a; [1] ZHANG F, HU Z Q, FU Y K, et al. A New Identification Method for Surface …

【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)

目录 一、项目前置知识 二、使用vscode创建 三、vue介绍 四、局部使用vue 1、快速入门 1.1 需求 1.2 准备工作 1.3 操作 1.3.1 创建html 1.3.2 创建初始html代码 1.3.3 参照官网import vue 1.3.4 创建vue应用实例 1.3.5 准备div 1.3.6 准备用户数据 1.3.7 通过…

《许犁庭与柔性世界》第十六章 五大势力

“咱们伊拉斯蒂克学院的学生&#xff0c;大致分为五类&#xff0c;分别对应着弹性之城的五大势力。” “唔~” “第一类是极少数贵族家庭的孩子。他们背后是城主&#xff0c;秘书长与各大部长们&#xff0c;属于令老师们头疼&#xff0c;连院长都不敢管的角色。” “唔~” “第…

酷开会员丨酷开系统让居家K歌变得更简单!

音乐到底有着怎样的力量呢&#xff1f;一般的健身运动大多活动四肢和肌肉&#xff0c;而唱歌却能能按摩到内脏&#xff0c;促进脏腑健康。唱歌时&#xff0c;吸气与呼气间&#xff0c;横膈肌大幅度、频繁地上下移动&#xff0c;使胸腔、腹腔产生振动&#xff0c;这种震荡作用可…

[原创]解决老款AMD CPU在Win10/Win11无故重启的问题.

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XXQQ: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse、C Bui…

信息中心网络提出的背景、研究现状及研究内容

信息中心网络什么时候提出的&#xff1f;未来发展前景&#xff1f;有什么著名实验室在做&#xff1f; 1、提出背景&#xff1a; 互联网产生于上世纪60年代&#xff1a; &#xff08;1&#xff09;网络设备数量呈指数性增长 截至2022年底全球范围内预计将有超过280亿台终端设…
最新文章