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中注册自己写好的页面,不然识别不到哦

结果展示




相关推荐
黄林晴1 小时前
如何判断手机是否是纯血鸿蒙系统
android
火柴就是我2 小时前
flutter 之真手势冲突处理
android·flutter
法的空间2 小时前
Flutter JsonToDart 支持 JsonSchema
android·flutter·ios
循环不息优化不止2 小时前
深入解析安卓 Handle 机制
android
恋猫de小郭2 小时前
Android 将强制应用使用主题图标,你怎么看?
android·前端·flutter
jctech2 小时前
这才是2025年的插件化!ComboLite 2.0:为Compose开发者带来极致“爽”感
android·开源
用户2018792831672 小时前
为何Handler的postDelayed不适合精准定时任务?
android
叽哥3 小时前
Kotlin学习第 8 课:Kotlin 进阶特性:简化代码与提升效率
android·java·kotlin
Cui晨3 小时前
Android RecyclerView展示List<View> Adapter的数据源使用View
android
氦客3 小时前
Android Doze低电耗休眠模式 与 WorkManager
android·suspend·休眠模式·workmanager·doze·低功耗模式·state_doze