【快速解决】实验三 简单注册的实现《Android程序设计》实验报告

目录

前言

实验要求

[实验三 简单注册的实现](#实验三 简单注册的实现)

实验目的:

实验内容:

[实验提示: 无](#实验提示: 无)

三、遇到的问题总结(如果有问题,请总结。如果没问题请写"无")

正文开始

第一步建立项目

[第二步选择empty views activity点击next](#第二步选择empty views activity点击next)

​编辑

第三步起名字,点击finish

[第四步对 activity _main.xml文件操作进行布局](#第四步对 activity _main.xml文件操作进行布局)

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

LoadingActivity.java中的代码

ResultActivity.java中的代码

activity_loading.xml代码

[activity result.xml代码](#activity result.xml代码)

MainActivity.java代码

结语


前言

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

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

实验要求

实验三 简单注册的实现

实验环境:Android Studio

实验目的:
  1. 熟悉Android常见界面控件的使用,能够熟练掌握至少七种常见控件。
  2. 在自己搭建的开发环境完成一个注册页面的效果。
实验内容:

请按照以下要求完成操作,要求如下:

  1. 通过简单控件实现一个类似注册界面的效果;本界面为参考页面样式。

最少实现七种控件,其中涉及至少2个页面:

  1. 文本必选:TextView、EditText
  2. 图片二选一:ImageView、ImageButton
  3. 按钮必选:Button、RadioButton、CheckBox
  4. 可选:togglebutton
  5. 进度条三选一:ProgressBar、SeekBar、RatingBar

实验提示: 无
  • 程序源代码(只贴 .java和对应的.xml程序)

  • 运行结果界面

三、遇到的问题总结(如果有问题,请总结。如果没问题请写"无")

++注意:++

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

正文开始

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

第一步建立项目
第二步选择empty views activity点击next
第三步起名字,点击finish

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

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

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

我知道大家肯定不会对页面进行布局,那我们就废话不多说,这里直接复制我帮大家写好的布局即可。

++下面展示一下我的布局++

activity _main.xml中的代码如下,直接复制即可

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"
    android:padding="10dp"
    android:background="@drawable/bk">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="50dp">

        <ImageButton
            android:id="@+id/weixin"
            android:layout_width="0dp"
            android:layout_height="91dp"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/qq"
            android:contentDescription="微信注册" />

        <ImageButton
            android:id="@+id/qq"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_marginLeft="15dp"
            android:layout_weight="1"
            android:background="@drawable/weixin"
            android:contentDescription="QQ注册" />

    </LinearLayout>

    <Button
        android:id="@+id/dianzi"
        android:layout_width="378dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/bg_username"
        android:text="使用电子邮箱注册"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:layout_marginTop="5dp"/>

    <EditText
        android:id="@+id/et_username"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="用户名"
        android:textColor="#00FFA1"
        android:textSize="16sp"
        android:maxLines="1"
        android:padding="10dp"
        android:layout_marginTop="30dp"
        android:background="@drawable/bg_transparent"/>

    <EditText
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="密码"
        android:textColor="#00FFA1"
        android:textSize="16sp"
        android:maxLines="1"
        android:padding="10dp"
        android:inputType="textPassword"
        android:background="@drawable/bg_transparent"
        android:layout_marginTop="25dp"/>

    <RadioGroup
        android:id="@+id/rg_gender"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="50dp">

        <TextView
            android:id="@+id/tv_gender"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="性别:"
            android:textColor="#FFFFFF"
            android:textSize="20sp"/>

        <RadioButton
            android:id="@+id/rb_male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="男"
            android:textColor="#FFFFFF"/>

        <RadioButton
            android:id="@+id/rb_female"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女"
            android:textColor="#FFFFFF"/>

    </RadioGroup>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="5dp">

        <TextView
            android:id="@+id/tv_hobby"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="兴趣爱好:"
            android:textColor="#FFFFFF"
            android:textSize="20sp"/>

        <CheckBox
            android:id="@+id/checkbox_sing"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="唱歌"
            android:textColor="#FFFFFF"/>

        <CheckBox
            android:id="@+id/checkbox_dance"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="跳舞"
            android:textColor="#FFFFFF"/>

        <CheckBox
            android:id="@+id/checkbox_read"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="读书"
            android:textColor="#FFFFFF"/>

    </LinearLayout>

    <Button
        android:id="@+id/btn_submit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/but_1"
        android:text="提交"
        android:textColor="#FFFFFF"
        android:textSize="18sp"/>

</LinearLayout>

然后你们看到的就会是这个结果,不要怕,小光会带你们解决

问题就算这样子,没有图片,还有红色报错。没关系,小光下来教大家快速解决。

这里大家先按照下面的操作来做

(1)对着图片新建立xml文件

最终建立好后的样子是这样的,这里注意文件名一定要一模一样

这里建立好文件就行了,(为了方便大家)文件里面什么都不用写。这样activity _main.xml就可以找到我们代码中的文件了。

这样要是大家相加布局文件中的内容我会把内容放在最后,大家直接复制就行。

然后加入背景图片(背景图片加入自己的背景图)

这里主要是文件名字要一样,这样就可以直接用了。

这里我们加一些输入框的背景(不然都看不清了)

对应代码如下:

XML 复制代码
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#80CCCCCC" />
    <corners android:radius="8dp" />
</shape>

效果展示

这样我们的布局就做完了。下面的内容就非常简单了,写到这里我已经写累了,相信大家也看累了,那么下来我们就直接我能复制,加快我们的速度吧,gogogo(●'◡'●)

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

第一个LoadingActivity

第二个ResultActivity

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

LoadingActivity.java中的代码
java 复制代码
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.os.Handler;
import android.widget.TextView;
import android.content.Intent;

public class LoadingActivity extends AppCompatActivity {

    private ProgressBar progressBar;

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

        // 获取MainActivity传递的数据
        Intent intent = getIntent();
        if (intent != null) {
            String username = intent.getStringExtra("USERNAME");
            String password = intent.getStringExtra("PASSWORD");
            String gender = intent.getStringExtra("GENDER");
            String hobbies = intent.getStringExtra("HOBBIES");

            // 在这里可以根据需要使用这些数据

            // 显示ProgressBar
            progressBar = findViewById(R.id.progress_bar);

            // 在onCreate中添加
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    // 跳转到ResultActivity并传递数据
                    Intent resultIntent = new Intent(LoadingActivity.this, ResultActivity.class);
                    resultIntent.putExtra("USERNAME", username);
                    resultIntent.putExtra("PASSWORD", password);
                    resultIntent.putExtra("GENDER", gender);
                    resultIntent.putExtra("HOBBIES", hobbies);
                    startActivity(resultIntent);

                    // 关闭当前Loading页面
                    finish();
                }
            }, 3000); // 延迟3秒
        }
    }
}

复制完后会看见这样子

ResultActivity.java中的代码
java 复制代码
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.TextView;
import android.content.Intent;

public class ResultActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);

        // 获取传递的数据
        Intent intent = getIntent();
        if (intent != null) {
            String username = intent.getStringExtra("USERNAME");
            String password = intent.getStringExtra("PASSWORD");
            String gender = intent.getStringExtra("GENDER");
            String hobbies = intent.getStringExtra("HOBBIES");

            // 将数据显示在 TextView 中
            TextView textUsername = findViewById(R.id.text_username);
            TextView textPassword = findViewById(R.id.text_password);
            TextView textGender = findViewById(R.id.text_gender);
            TextView textHobbies = findViewById(R.id.text_hobbies);

            textUsername.setText("Username: " + username);
            textPassword.setText("Password: " + password);
            textGender.setText("Gender: " + gender);
            textHobbies.setText("Hobbies: " + hobbies);
        }
    }
}
activity_loading.xml代码
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"
    android:gravity="center">

    <ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="加载中..."/>

</LinearLayout>
activity result.xml代码
XML 复制代码
<!-- activity_result.xml -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/text_username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Username: "
        android:textSize="18sp"
        android:textColor="#000000"/>

    <TextView
        android:id="@+id/text_password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Password: "
        android:textSize="18sp"
        android:textColor="#000000"/>

    <TextView
        android:id="@+id/text_gender"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Gender: "
        android:textSize="18sp"
        android:textColor="#000000"/>

    <TextView
        android:id="@+id/text_hobbies"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hobbies: "
        android:textSize="18sp"
        android:textColor="#000000"/>
</LinearLayout>
MainActivity.java代码
java 复制代码
package com.example.myapplication;

import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.RadioButton;
import android.widget.Toast;
import android.widget.CheckBox;
import android.widget.ImageButton;
import android.os.SystemClock;

public class MainActivity extends AppCompatActivity {
    private EditText etUsername, etPassword;
    private RadioGroup rgGender;
    private RadioButton rbMale, rbFemale;
    private CheckBox checkboxSing, checkboxDance, checkboxRead;

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

        // 初始化视图
        etUsername = findViewById(R.id.et_username);
        etPassword = findViewById(R.id.et_password);
        rgGender = findViewById(R.id.rg_gender);
        rbMale = findViewById(R.id.rb_male);
        rbFemale = findViewById(R.id.rb_female);
        checkboxSing = findViewById(R.id.checkbox_sing);
        checkboxDance = findViewById(R.id.checkbox_dance);
        checkboxRead = findViewById(R.id.checkbox_read);

        // 假设有一个按钮点击事件触发传递数据到 ResultActivity
        Button submitButton = findViewById(R.id.btn_submit);
        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 获取输入的文本
                String username = etUsername.getText().toString();
                String password = etPassword.getText().toString();

                // 获取选中的性别
                String gender = "";
                int selectedId = rgGender.getCheckedRadioButtonId();
                if (selectedId == R.id.rb_male) {
                    gender = "男";
                } else if (selectedId == R.id.rb_female) {
                    gender = "女";
                }

                // 获取选中的兴趣爱好
                StringBuilder hobbies = new StringBuilder();
                if (checkboxSing.isChecked()) {
                    hobbies.append("唱歌 ");
                }
                if (checkboxDance.isChecked()) {
                    hobbies.append("跳舞 ");
                }
                if (checkboxRead.isChecked()) {
                    hobbies.append("读书");
                }

                // 创建一个Intent传递数据到ResultActivity
                Intent intent = new Intent(MainActivity.this, LoadingActivity.class);
                intent.putExtra("USERNAME", username);
                intent.putExtra("PASSWORD", password);
                intent.putExtra("GENDER", gender);
                intent.putExtra("HOBBIES", hobbies.toString());

                // 启动 ResultActivity
                startActivity(intent);
            }
        });
    }
}

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

点击运行

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

结语

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

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

相关推荐
做网站建设制作设计小程序推广9 小时前
如何建购物网站提升用户体验
经验分享
帅得不敢出门10 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
程思扬10 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
白狐欧莱雅11 小时前
使用python中的pygame简单实现飞机大战游戏
经验分享·python·游戏·pygame
棱角~~11 小时前
盘点和嗨格式一样好用的10款数据恢复!!
数据库·经验分享·安全·电脑·学习方法
我又来搬代码了11 小时前
【Android】使用productFlavors构建多个变体
android
德育处主任13 小时前
Mac和安卓手机互传文件(ADB)
android·macos
芦半山13 小时前
Android“引用们”的底层原理
android·java
迃-幵14 小时前
力扣:225 用队列实现栈
android·javascript·leetcode
大风起兮云飞扬丶14 小时前
Android——从相机/相册获取图片
android