基于安卓系统的智能健康管理应用相关代码
时间: 2023-12-07 17:05:20 浏览: 126
基于android健康管理系统的设计与实现
5星 · 资源好评率100%
以下是一个基于安卓系统的智能健康管理应用的相关代码示例,其中包括了提醒老人吃药的功能和紧急联系人的功能:
```java
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
private Button mBtnTakeMedicine;
private Button mBtnEmergencyCall;
private EditText mEditTextMedicineTime;
private EditText mEditTextEmergencyContact;
private AlarmManager mAlarmManager;
private PendingIntent mPendingIntent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.text_view);
mBtnTakeMedicine = findViewById(R.id.btn_take_medicine);
mBtnEmergencyCall = findViewById(R.id.btn_emergency_call);
mEditTextMedicineTime = findViewById(R.id.edit_text_medicine_time);
mEditTextEmergencyContact = findViewById(R.id.edit_text_emergency_contact);
// 设置点击事件
mBtnTakeMedicine.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 获取用户设置的吃药时间
String medicineTime = mEditTextMedicineTime.getText().toString();
// 设置提醒
setAlarm(medicineTime);
}
});
mBtnEmergencyCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 获取用户设置的紧急联系人
String emergencyContact = mEditTextEmergencyContact.getText().toString();
// 拨打紧急电话
makeEmergencyCall(emergencyContact);
}
});
}
// 设置定时提醒
private void setAlarm(String time) {
mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
mPendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
// 解析时间字符串
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
try {
Date date = sdf.parse(time);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
long triggerAtTime = calendar.getTimeInMillis();
// 设置闹钟
mAlarmManager.setExact(AlarmManager.RTC_WAKEUP, triggerAtTime, mPendingIntent);
// 提示用户设置成功
Toast.makeText(this, "设置成功", Toast.LENGTH_SHORT).show();
} catch (ParseException e) {
e.printStackTrace();
Toast.makeText(this, "时间格式不正确", Toast.LENGTH_SHORT).show();
}
}
// 拨打紧急电话
private void makeEmergencyCall(String number) {
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + number));
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
// 申请拨打电话的权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, 1);
return;
}
startActivity(intent);
}
}
```
上述代码中,我们通过点击“吃药提醒”按钮,获取用户设置的吃药时间,并通过AlarmManager来设置闹钟提醒老人吃药。同时,我们还通过点击“紧急呼叫”按钮,获取用户设置的紧急联系人号码,并通过Intent.ACTION_CALL来拨打电话。为了实现闹钟提醒功能,我们还需编写一个AlarmReceiver类,如下所示:
```java
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 显示提醒信息
Toast.makeText(context, "该吃药啦!", Toast.LENGTH_LONG).show();
}
}
```
在应用中添加必要的权限声明,如下所示:
```xml
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
```
以上是一个简单的实现方式,具体开发的过程中还需要考虑很多细节问题,比如界面设计、数据存储、用户隐私保护等等。
阅读全文