在“保存”按钮的单击事件里,完成如下操作: (1)对输入的内容进行判断,比如是否为空,日期是否早于当前等,如果不满足条件进行适 当提醒。 (2)如果输入的内容符合要求,将输入的备忘内容,保存一个 SharedPref 文件中,文件名为 “姓名简称”,保存信息包括:考生姓名、备忘内容、备忘时间,是否提醒,对应 key 名称自 行命名。(并将生成文件导出到电脑,同项目压缩文件一同提交到考场指定的服务器上。 (3)保存后跳转到 Activity2。 在 Activity2 的 onCreate 方法中,读取 SharedPref 文件,并连接成一个字符串显示在 result 标 签上.
时间: 2024-03-02 16:48:57 浏览: 29
好的,根据您提供的需求,以下是一个可能的 Activity 代码实现:
```
public class MainActivity extends AppCompatActivity {
private EditText etName, etMemo, etDate;
private CheckBox cbRemind;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取界面控件
etName = findViewById(R.id.et_name);
etMemo = findViewById(R.id.et_memo);
etDate = findViewById(R.id.et_date);
cbRemind = findViewById(R.id.cb_remind);
// 设置保存按钮的点击事件
findViewById(R.id.btn_save).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 获取输入内容
String name = etName.getText().toString().trim();
String memo = etMemo.getText().toString().trim();
String dateStr = etDate.getText().toString().trim();
boolean remind = cbRemind.isChecked();
// 判断输入内容
if (TextUtils.isEmpty(name)) {
Toast.makeText(MainActivity.this, "请输入姓名", Toast.LENGTH_SHORT).show();
} else if (TextUtils.isEmpty(memo)) {
Toast.makeText(MainActivity.this, "请输入备忘内容", Toast.LENGTH_SHORT).show();
} else if (TextUtils.isEmpty(dateStr)) {
Toast.makeText(MainActivity.this, "请输入备忘时间", Toast.LENGTH_SHORT).show();
} else {
try {
// 解析日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateStr);
// 判断日期是否早于当前时间
if (date.before(new Date())) {
Toast.makeText(MainActivity.this, "备忘时间不能早于当前时间", Toast.LENGTH_SHORT).show();
} else {
// 保存备忘信息到 SharedPreferences
SharedPreferences sp = getSharedPreferences(getShortName(), MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("name", name);
editor.putString("memo", memo);
editor.putString("date", dateStr);
editor.putBoolean("remind", remind);
editor.apply();
// 导出文件到电脑
// TODO: 导出文件到电脑
// 跳转到 Activity2
Intent intent = new Intent(MainActivity.this, Activity2.class);
startActivity(intent);
}
} catch (ParseException e) {
Toast.makeText(MainActivity.this, "备忘时间格式不正确", Toast.LENGTH_SHORT).show();
}
}
}
});
}
// 获取姓名简称
private String getShortName() {
String name = etName.getText().toString().trim();
if (name.length() <= 2) {
return name;
} else {
return name.substring(0, 1) + name.substring(name.length() - 1);
}
}
}
```
其中,`activity_main.xml` 布局文件可以根据您的具体需求自行编写,这里不再给出。需要注意的是,该代码中的导出文件到电脑的功能尚未实现,需要您自行完成。另外,在 Activity2 中读取 SharedPreferences 文件并显示在 result 标签上的代码也未给出,需要您自行编写。