Android实验:Activity界面基础

目录

前言

我们都知道,activity是Android中最重要的组件之一,关于activity的具体内容在这里就不多赘述,主打的就是一个主次分明,想具体了解可以阅读笔者前面的文章或者这篇文章,笔者认为描述的很详细
linkhttp://t.csdnimg.cn/YXOph

实验目的

1、 掌握Activity的基本功能;

2、 掌握preference的基本功能;

3、 掌握断点的设置,调试程序;

实验内容

任务1:通过intent实现跳转,完成Activity之间的跳转;

任务2:intent数据的传递;

任务3:采用用preference实现随数据的存储;

任务4:掌握在虚拟机和真机环境下,对程序的调试;

实验要求

1、实现Android界面,并通过intent实现跳转,界面显示学生的姓名,学号,email.

2、要求intent的实现传递姓名,学号,email等数据,到第二个activity;

3、同时要求可以在虚拟机及手机上运行结果;

4、采用preference实现对如上数据的存储,存储及读取。

5、学会如何设置断点,并学会debug模式下,调试程序。

代码实现

mainActivity

java 复制代码
//mainActivity
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class mainActivity extends Activity {
    //定义控件变量
    private EditText etName;//姓名输入框
    private EditText etNumber; // 学号输入框
    private EditText etEmail; // email输入框
    private Button btnSubmit; // 提交按钮

    @SuppressLint({"WrongViewCast", "MissingInflatedId"})
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初始化控件变量
        etName = findViewById(R.id.et_name);
        etNumber = findViewById(R.id.et_number);
        etEmail = findViewById(R.id.et_email);
        btnSubmit = findViewById(R.id.btn_submit);

        // 设置按钮的点击事件监听器
        btnSubmit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 获取输入框中的数据
                String name = etName.getText().toString();
                String number = etNumber.getText().toString();
                String email = etEmail.getText().toString();

                // 创建一个intent对象,用于跳转到ResultActivity
                Intent intent = new Intent(mainActivity.this, ResultActivity.class);

                // 将数据放入intent中,使用键值对的形式
                intent.putExtra("name", name);
                intent.putExtra("number", number);
                intent.putExtra("email", email);

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

ResultActivity

java 复制代码
// ResultActivity.java
// 这个类是程序的第二个界面,用于显示从MainActivity传递过来的数据
// 采用preference实现对数据的存储和读取


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

public class ResultActivity extends mainActivity {

    // 定义控件变量
    private TextView tvName; // 姓名显示框
    private TextView tvNumber; // 学号显示框
    private TextView tvEmail; // email显示框

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

        // 初始化控件变量
        tvName = findViewById(R.id.tv_name);
        tvNumber = findViewById(R.id.tv_number);
        tvEmail = findViewById(R.id.tv_email);

        // 获取从MainActivity传递过来的intent对象
        Intent intent = getIntent();

        // 从intent中获取数据,使用相同的键名
        String name = intent.getStringExtra("name");
        String number = intent.getStringExtra("number");
        String email = intent.getStringExtra("email");

        // 将数据显示在控件上
        tvName.setText("姓名:" + name);
        tvNumber.setText("学号:" + number);
        tvEmail.setText("邮箱:" + email);

        // 获取一个SharedPreferences对象,用于存储数据
        SharedPreferences sp = getSharedPreferences("student_info", MODE_PRIVATE);

        // 获取一个SharedPreferences.Editor对象,用于编辑数据
        SharedPreferences.Editor editor = sp.edit();

        // 将数据写入SharedPreferences中,使用相同的键名
        editor.putString("name", name);
        editor.putString("number", number);
        editor.putString("email", email);

        // 提交数据的修改
        editor.apply();

        // 调用show方法,从SharedPreferences中读取并打印数据
        show();
    }

    public void show() {
        // 获取一个SharedPreferences对象,用于读取数据
        SharedPreferences sp = getSharedPreferences("student_info", MODE_PRIVATE);

        // 从SharedPreferences中获取数据,使用相同的键名,如果没有找到,则使用默认值""
        String name = sp.getString("name", "");
        String number = sp.getString("number", "");
        String email = sp.getString("email", "");

        // 打印数据到控制台上,方便调试
        System.out.println("姓名:" + name);
        System.out.println("学号:" + number);
        System.out.println("邮箱:" + email);
    }
}

activity_main

java 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- 姓名输入框 -->
    <EditText
        android:id="@+id/et_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入姓名" />

    <!-- 学号输入框 -->
    <EditText
        android:id="@+id/et_number"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:hint="请输入学号" />

    <!-- email输入框 -->
    <EditText
        android:id="@+id/et_email"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:hint="请输入邮箱" />

    <!-- 提交按钮 -->
    <Button
        android:id="@+id/btn_submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="提交" />
</LinearLayout>

activity_result

java 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:ignore="ExtraText">
    android:orientation="vertical"
    android:padding="16dp">

    <!-- 姓名显示框 -->
    <TextView
        android:id="@+id/tv_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <!-- 学号显示框 -->
    <TextView
        android:id="@+id/tv_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <!-- email显示框 -->
    <TextView
        android:id="@+id/tv_email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

当然别忘记在mainifest中注册自己写好的页面,不然识别不到哦

结果展示




相关推荐
波诺波42 分钟前
5-SOFA可变形的3D物体 5-elasticity.scn
android
2501_915909062 小时前
iOS应用性能优化:十大策略提升用户体验与开发效率
android·ios·小程序·https·uni-app·iphone·webview
sun0077002 小时前
打通android全链路,网卡驱动, 内核 , 到上层hal, framework
android
awu的Android笔记3 小时前
Android VpnService:如何把所有流量导入用户态
android
plainGeekDev3 小时前
AlertDialog → DialogFragment
android·java·kotlin
流星白龙3 小时前
【MySQL高阶】13.其他存储引擎
android·数据库·mysql
Lyyaoo.3 小时前
【MySQL】SQL优化
android·sql·mysql
ImTryCatchException3 小时前
Android 性能优化实战手册:从理论到落地的完整方法论
android·性能优化
sun0077004 小时前
qnx网络相关模块,全链路,硬件网卡 → 用户态驱动 (.so) → io‑pkt/io‑sock(用户态 TCP/IP + 转发 + 控制)
android
赏金术士4 小时前
Android app 项目:模块打包 AAR 教程
android·热修复·tinker·aar打包