移动应用开发:实现简易调查问卷
文章目录
- 前言
- 一,创建SurveyActivity活动
- 二,设计UI
- 三,创建字符串资源文件
- 四,编写活动代码
- 五,更新 AndroidManifest.xml
- 六,运行测试
前言
在Android Studio中开发一个调查问卷界面思路解析:
-
创建布局文件
首先,在res/layout
目录下创建一个新的XML布局文件,activity_survey.xml
。在这个文件中,可以使用LinearLayout
来组织UI组件。
-
创建Activity类
在java
目录下创建一个新的Activity类,SurveyActivity.java
。 -
初始化Spinner和设置按钮监听器
在SurveyActivity
的onCreate
方法中,需要初始化Spinner(下拉框),并设置按钮的点击监听器。 -
验证数据并显示结果
在提交按钮的点击监听器中,需要验证所有字段是否都已填写。如果未填写,则显示一个Toast消息提示用户。如果已填写,则将结果显示在TextView
中。 -
退出应用程序
在退出按钮的点击监听器中,可以调用finish()
方法来关闭当前Activity,从而退出应用程序。
一,创建SurveyActivity活动
1,右击项目根目录——选择“New”——Activity——Empty Activity。
2,输入活动名:“SurveyActivity”,语言选择“Java”。
3,查看文件是否成功创建。
二,设计UI
1,打开activity_survey.xml文件,单击code,编写代码,设计UI。
2,源代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="16dp"tools:context=".SurveyActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textStyle="bold"android:layout_marginBottom="10dp"android:text="校园问卷调查表"android:textSize="38dp"/><!-- 姓名 --><EditTextandroid:id="@+id/editTextName"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="姓名"android:inputType="textPersonName" /><!-- 出生日期 --><EditTextandroid:id="@+id/editTextAge"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="出生日期 (yyyy-MM-dd)"android:inputType="date" /><!-- 性别 --><Spinnerandroid:id="@+id/spinnerGender"android:layout_width="match_parent"android:layout_height="wrap_content" /><!-- 院系 --><Spinnerandroid:id="@+id/spinnerDepartment"android:layout_width="match_parent"android:layout_height="wrap_content" /><!-- 电话号码 --><EditTextandroid:id="@+id/etPhoneNumber"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="电话号码"android:inputType="phone" /><!-- 对食堂是否满意 --><RadioGroupandroid:id="@+id/rgSatisfaction"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="食堂满意度:"android:textSize="18dp"/><RadioButtonandroid:id="@+id/rbSatisfied"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="满意" /><RadioButtonandroid:id="@+id/rbNotSatisfied"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="不满意" /></RadioGroup><!-- 建议 --><EditTextandroid:id="@+id/etSuggestion"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="建议"android:inputType="textMultiLine"android:minLines="3" /><!-- 按钮 --><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="center"><Buttonandroid:id="@+id/btnExit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="退出" /><Buttonandroid:id="@+id/btnSubmit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="提交"android:layout_marginStart="16dp" /></LinearLayout><!-- 结果显示 --><ScrollViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"><TextViewandroid:id="@+id/tvResult"android:layout_width="match_parent"android:layout_height="wrap_content"android:visibility="gone"android:padding="16dp"android:background="@android:color/holo_blue_light"android:textColor="@android:color/white" /></ScrollView></LinearLayout>
三,创建字符串资源文件
1,在 res/values/strings.xml 文件中添加以下数组资源。
2,源码。
<!-- Gender options -->
<string-array name="gender_options"> <item>男</item> <item>女</item> <item>其他</item>
</string-array> <!-- Department options -->
<string-array name="department_options"><item>计算机科学</item> <item>电子工程</item> <item>机械工程</item> <item>商业管理</item> <item>其他</item>
</string-array>
四,编写活动代码
1,打开并编写SurveyActivity.java代码,处理用户输入的数据以及按钮点击事件。
2,源码。
package com.example.mycontacts;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;/*** 功能:简易问卷调查* 日期:2024年11月9日* 作者:梁辰兴*/public class SurveyActivity extends AppCompatActivity {private EditText editTextName, editTextAge, etPhoneNumber, etSuggestion;private Spinner spinnerGender, spinnerDepartment;private RadioGroup rgSatisfaction;private RadioButton rbSatisfied, rbNotSatisfied;private Button btnExit, btnSubmit;private TextView tvResult;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_survey);// 初始化UI组件editTextName = findViewById(R.id.editTextName);editTextAge = findViewById(R.id.editTextAge);etPhoneNumber = findViewById(R.id.etPhoneNumber);etSuggestion = findViewById(R.id.etSuggestion);spinnerGender = findViewById(R.id.spinnerGender);spinnerDepartment = findViewById(R.id.spinnerDepartment);rgSatisfaction = findViewById(R.id.rgSatisfaction);rbSatisfied = findViewById(R.id.rbSatisfied);rbNotSatisfied = findViewById(R.id.rbNotSatisfied);btnExit = findViewById(R.id.btnExit);btnSubmit = findViewById(R.id.btnSubmit);tvResult = findViewById(R.id.tvResult);//用性别选项填充SpinnerArrayAdapter<CharSequence> genderAdapter = ArrayAdapter.createFromResource(this,R.array.gender_options, android.R.layout.simple_spinner_item);genderAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinnerGender.setAdapter(genderAdapter);// 用部门选项填充SpinnerArrayAdapter<CharSequence> departmentAdapter = ArrayAdapter.createFromResource(this,R.array.department_options, android.R.layout.simple_spinner_item);departmentAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinnerDepartment.setAdapter(departmentAdapter);// 设置按钮点击监听器btnExit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {finish();}});btnSubmit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name = editTextName.getText().toString();String age = editTextAge.getText().toString();String phone = etPhoneNumber.getText().toString();String suggestion = etSuggestion.getText().toString();String gender = (String) spinnerGender.getSelectedItem();String department = (String) spinnerDepartment.getSelectedItem();int satisfaction = rgSatisfaction.getCheckedRadioButtonId();String satisfactionStatus = (satisfaction == rbSatisfied.getId()) ? "满意" : "不满意";if (name.isEmpty() || age.isEmpty() || phone.isEmpty() || gender.isEmpty() || department.isEmpty()) {Toast.makeText(SurveyActivity.this, "请填写所有必填项", Toast.LENGTH_SHORT).show();} else {StringBuilder result = new StringBuilder();result.append("姓名: ").append(name).append("\n");result.append("出生日期: ").append(age).append("\n");result.append("性别: ").append(gender).append("\n");result.append("院系: ").append(department).append("\n");result.append("电话号码: ").append(phone).append("\n");result.append("食堂满意度: ").append(satisfactionStatus).append("\n");result.append("建议: ").append(suggestion).append("\n");tvResult.setText(result.toString());tvResult.setVisibility(View.VISIBLE);}}});}
}
五,更新 AndroidManifest.xml
确保在 AndroidManifest.xml 中声明了 SurveyActivity:
六,运行测试
1,选择SurveyActivity.java,右击,选择运行,或单击运行按钮,启动活动。
2,运行效果。