【发布时间】:2017-02-25 18:40:27
【问题描述】:
我正在开发一个 Android 应用,该应用每 3 秒识别一次用户所做的活动(设计上必须如此频繁)(例如静态、步行、跑步)。我的数据库中有一个 Activity 表,它增加了以下值:
private int activeTime;
private int longestInactivityInterval;
private int currentInactivityInterval;
private int averageInactInterval;
这些以片段的形式呈现。目前,它非常“敏感”。例如,如果用户是静止的(即躺在他们的床上)并且他们将手机从口袋里拿出来,它会识别出像“走路”这样的活动。公认活动的历史如下所示:
static
static
walking
static
static
如何确保这种偶然的“步行”识别活动被识别为“静态”。有什么办法可以纠正吗?
这是进行活动监控的类(根据识别的活动增加值。
public class ActivityMonitor implements Observer, IActivityMonitor {
private User mUser;
private IActivityDataManager mDataManager;
public ActivityMonitor(IActivityDataManager dataManager) {
mDataManager = dataManager;
}
@Override
public void update(Observable observable, Object activity) {
monitorActivity(activity);
}
private void monitorActivity(Object activityClass) {
switch ((int) activityClass) {
case 0:
//activity = "walking";
case 1:
//activity = "running";
case 3:
//activity = "cycling";
mDataManager.incActiveTime();
mDataManager.clearCurrentInacInterval();
break;
case 2:
//activity = "static";
mDataManager.incCurrentInacInterval();
break;
}
}
【问题讨论】:
标签: android weka activity-recognition