【快速解决】实验四 对话框 《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"><Buttonandroid:id="@+id/btn_alert"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="显示AlertDialog"/><Buttonandroid:id="@+id/btn_progress"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="显示ProgressDialog" /><android.widget.Buttonandroid: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;@Overrideprotected 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() {@Overridepublic 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;@Overrideprotected 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() {@Overridepublic 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"><Buttonandroid:id="@+id/btn_date"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="显示DatePickerDialog"/><android.widget.Buttonandroid: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"><Buttonandroid:id="@+id/btn_time"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="显示TimePickerDialog"/><android.widget.Buttonandroid: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;@Overrideprotected 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() {@Overridepublic 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"><Buttonandroid:id="@+id/btn_alert"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="显示AlertDialog"/><Buttonandroid:id="@+id/btn_progress"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="显示ProgressDialog" /><android.widget.Buttonandroid: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.hqwc.cn/news/197434.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot上传文件后显示权限不足

前言&#xff1a; 最近一个老项目迁移&#xff0c;原本一直好好的&#xff0c;迁移后上传文件的功能使用不正常&#xff0c;显示文件没有可读取权限&#xff0c;这个项目并不是我们开发和配置的&#xff0c;由第三方开发的&#xff0c;我们只是接手一下。 前端通过api上传文件…

(亲测有效)VMware Windows虚拟机扩容

场景&#xff1a; VMware安装了一个windows系统&#xff0c;现在windows系统剩余空间不足&#xff0c;需要扩容。 解决步骤&#xff1a; 关闭虚拟机&#xff0c;状态如下&#xff1a; 2、点击编辑虚拟机设置-》扩展 3、输入最大磁盘大小-》点击扩展 4、等待成功后&#xff0c…

机器人制作开源方案 | 钻孔植树一体化沙漠车

作者&#xff1a;徐邦国、张博宇、刘露、李晶晶、吕洁秀单位&#xff1a;天津职业技术师范大学 机械工程学院指导老师&#xff1a;何永利 摘要&#xff1a;本项目旨在设计一种专用于沙漠植树的植树车&#xff0c;以沙漠自动化植树为研究对象&#xff0c;提出一种创新式钻…

企业微信机器人定时发送图文信息,后续无需人工操作

企业微信群机器人是企业微信的内置功能&#xff0c;可以理解为是一个群提醒通知工具&#xff0c;接收数据并自动发送信息到企业微信群中。 数环通实现打通定时器和企业微信机器人的对接&#xff0c;定时执行自动化流程&#xff0c;无需人工干预&#xff0c;实现工作流程自动化&…

不懂找伦敦银趋势?3个方法搞定

趋势是我们的朋友&#xff0c;但是这个朋友却很喜欢跟我们开玩笑&#xff0c;如果我们不留意&#xff0c;根本发觉不了它的存在。怎么找到趋势本体并且和它做个好朋友呢&#xff1f;下面我们就来介绍三个方法。 数波段的高点和低点。我们以当前的市场波动价格为轴&#xff0c;向…

python 自动化福音,30行代码手撸ddt模块

用 python 做过自动化的小伙伴&#xff0c;大多数都应该使用过 ddt 这个模块&#xff0c;不可否认 ddt 这个模块确实挺好用&#xff0c;可以自动根据用例数据&#xff0c;来生成测试用例&#xff0c;能够很方便的将测试数据和测试用例执行的逻辑进行分离。 接下来就带大家一起…

信驰达科技加入智慧车联产业生态联盟ICCE,共创智慧车联未来

图1 信驰达加入智慧车联产业生态联盟 信驰达拥有60余项专利认证及软件著作权&#xff0c;以及BQB、SRRC、FCC、IC、CE、RoHS、REACH、KCC等数百个权威产品认证&#xff0c;公司是车联网联盟(CCC)和智慧车联产业生态联盟&#xff08;ICCE&#xff09;会员&#xff0c;已通过ISO…

CRM系统定制开发价格

我们都知道&#xff0c;CRM系统对企业有着很大的帮助。但是市面上大多数CRM系统都是标准化的&#xff0c;无法满足那些产品线复杂&#xff0c;或者有着特殊需求的企业。这个时候&#xff0c;就需要对CRM系统进行二次开发。那么&#xff0c;CRM系统二次开发的价格是多少&#xf…

现货白银MACD实战分析例子

MACD这个技术指标的全称是平滑异同移动平均线&#xff0c;主要表示经过平滑处理后均线的差异程度&#xff0c;一般用来研判现货白银价格变化的方向、强度和趋势。MT4中的MACD指标&#xff0c;主要是由信号线、&#xff08;上升/下跌&#xff09;动能柱、0轴这三部分组成。 MACD…

Linux基础知识——(2)vim编辑器

目录 1 vi和vim简介2 vim三种模式3 vim命令模式3.1 光标移动3.2 复制操作3.3 剪切/删除3.4 撤销/恢复3.5 光标的快速移动 4 模式间的切换5 命令行模式5 编辑模式6 其他6.1 vim的配置文件6.2 异常退出6.3 退出方式“:x”6.4 vi编辑模式下Backspace无法退格删除6.5 修改只读【rea…

Matlab论文插图绘制模板第127期—进阶气泡矩阵/热图

​在之前的文章中&#xff0c;分享了Matlab散点图矩阵的绘制模板&#xff1a; 也分享过气泡矩阵图的绘制模板&#xff1a; 考虑到规范性和便捷性&#xff0c;再来分享一下进阶版的气泡矩阵/热图。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已…

深入Ansible

1.什么是ansible ansible是新出现的自动化运维工具&#xff0c;基于Python开发&#xff0c;集合了众多运维工具&#xff08;puppet、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于 paramiko 开发的…