编写 Activity 代码,实现如下功能: 在“保存”按钮的单击事件里,完成如下操作: (1)对输入的内容进行判断,比如是否为空,日期是否早于当前等,如果不满足条件进行适 当提醒。 (2)如果输入的内容符合要求,将输入的备忘内容,保存一个 SharedPref 文件中,文件名为 “姓名简称”,保存信息包括:考生姓名、备忘内容、备忘时间,是否提醒,对应 key 名称自 行命名。(并将生成文件导出到电脑,同项目压缩文件一同提交到考场指定的服务器上。 (3)保存后跳转到 Activity2。 在 Activity2 的 onCreate 方法中,读取 SharedPref 文件,并连接成一个字符串显示在 result 标 签上.
时间: 2024-03-02 10:48:44 浏览: 69
好的,以下是对应的 Activity 代码实现:
```
public class MemoActivity extends AppCompatActivity {
private EditText mNameEditText;
private EditText mMemoEditText;
private DatePicker mDatePicker;
private CheckBox mRemindCheckBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_memo);
// 初始化控件
mNameEditText = findViewById(R.id.edit_text_name);
mMemoEditText = findViewById(R.id.edit_text_memo);
mDatePicker = findViewById(R.id.date_picker);
mRemindCheckBox = findViewById(R.id.checkbox_remind);
// 设置保存按钮的点击事件
findViewById(R.id.button_save).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取输入的内容
String name = mNameEditText.getText().toString().trim();
String memo = mMemoEditText.getText().toString().trim();
int year = mDatePicker.getYear();
int month = mDatePicker.getMonth();
int day = mDatePicker.getDayOfMonth();
boolean remind = mRemindCheckBox.isChecked();
// 判断输入的内容是否符合要求
if (TextUtils.isEmpty(name)) {
Toast.makeText(MemoActivity.this, "请输入姓名", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(memo)) {
Toast.makeText(MemoActivity.this, "请输入备忘内容", Toast.LENGTH_SHORT).show();
return;
}
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
if (calendar.getTimeInMillis() < System.currentTimeMillis()) {
Toast.makeText(MemoActivity.this, "备忘日期不能早于当前日期", Toast.LENGTH_SHORT).show();
return;
}
// 保存备忘信息到 SharedPref 文件中
SharedPreferences sharedPreferences = getSharedPreferences(name + "_memo", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name", name);
editor.putString("memo", memo);
editor.putLong("time", calendar.getTimeInMillis());
editor.putBoolean("remind", remind);
editor.apply();
// 跳转到 Activity2
Intent intent = new Intent(MemoActivity.this, Activity2.class);
startActivity(intent);
}
});
}
}
```
在 Activity2 中读取 SharedPref 文件并显示备忘信息的代码如下:
```
public class Activity2 extends AppCompatActivity {
private TextView mResultTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
// 初始化控件
mResultTextView = findViewById(R.id.text_view_result);
// 读取 SharedPref 文件并显示备忘信息
SharedPreferences sharedPreferences = getSharedPreferences(getName() + "_memo", MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
String memo = sharedPreferences.getString("memo", "");
long time = sharedPreferences.getLong("time", 0);
boolean remind = sharedPreferences.getBoolean("remind", false);
String result = "考生姓名:" + name + "\n备忘内容:" + memo + "\n备忘时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time)) + "\n是否提醒:" + remind;
mResultTextView.setText(result);
}
}
```
记得在 AndroidManifest.xml 中将两个 Activity 注册。同时,需要在 AndroidManifest.xml 中添加访问外部存储的权限:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
阅读全文