0
我已經能夠檢索某個點的所有數據,但我目前正在嘗試檢索日期範圍內的數據。我遇到指定範圍的問題。見下面的代碼。我認爲一切都很好,直到「dateRange.lowerEndpoint()= lowerDate;在這裏,我不確定我希望在得到這個理順任何幫助像你想範圍<Date>問題
public class GetDataAsync extends AsyncTask<String, Void, List> {
List<Value> dataValues = null;
@Override
protected List doInBackground(String... point) {
// Adjust these variables accordingly
final EmailAddress EMAIL_ADDRESS = CommonFactory.createEmailAddress("[email protected]");
final String ACCESS_KEY = "XXXX";
final UrlContainer INSTANCE_URL = UrlContainer.getInstance("XXXX.appspot.com");
Range<Date> dateRange = null;
Date lowerDate = new Date(1398297720);
Date upperDate = new Date(1395273970);
dateRange.lowerEndpoint() = lowerDate; // <---- I know this is wrong. Not sure of correct code.
dateRange.upperEndpoint() = upperDate; // <---- I know this is wrong. Not sure of correct code.
final Server SERVER = ServerFactory.getInstance(INSTANCE_URL);
String pointName[] = point;
PointHelper pointHelper = HelperFactory.getPointHelper(SERVER, EMAIL_ADDRESS, ACCESS_KEY);
boolean pointExists = pointHelper.pointExists(pointName[0]);
List<Value> recordedValues = null;
if (pointExists) {
ValueHelper valueHelper = HelperFactory.getValueHelper(SERVER, EMAIL_ADDRESS, ACCESS_KEY);
recordedValues = valueHelper.getSeries(pointName[0], dateRange);
}
return recordedValues; }
@Override
protected void onPostExecute(List result) {
dataValues = result;
Value currentValue;
Double currentDouble;
for (int i = 0; i < dataValues.size(); i++) {
Log.e("Log", String.valueOf(dataValues.get(i)));
Value mValue = dataValues.get(i);
Double mDouble = mValue.getDoubleValue();
Date mDate = mValue.getTimestamp();
Log.e("Double Value", String.valueOf(mDouble));
Log.e("Timestamp", String.valueOf(mDate));
currentValue = dataValues.get(0);
currentDouble = currentValue.getDoubleValue();
}
} }