예제 #1
0
    public void readData()
    {
        /*DateTime dateTime = DateTime.Now.ToUniversalTime ();
         * dateTime = dateTime.AddDays (-5.0f);
         * long startTime = (long)dateTime.Subtract (new DateTime (1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
         *
         * long endTime = (long)DateTime.Now.ToUniversalTime ().Subtract (new DateTime (1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
         *
         * SA.Fitness.ReadHistoryRequest.Builder builder = new SA.Fitness.ReadHistoryRequest.Builder ();
         * builder.SetTimeRange (startTime, endTime, SA.Fitness.TimeUnit.Milliseconds);
         * builder.Read (SA.Fitness.DataType.AGGREGATE_STEP_COUNT_DELTA);
         * SA.Fitness.ReadHistoryRequest request = builder.Build ();
         * request.OnReadFinished += Request_OnReadHistoryFinished;
         *
         * SA.Fitness.History.Instance.ReadData (request);*/

        DateTime dateTime = DateTime.Now.ToUniversalTime();

        dateTime = dateTime.AddDays(-7.0f);
        long startTime = (long)dateTime.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;

        long endTime = (long)DateTime.Now.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;

        SA.Fitness.ReadHistoryRequest.Builder builder = new SA.Fitness.ReadHistoryRequest.Builder();
        builder.SetTimeRange(startTime, endTime, SA.Fitness.TimeUnit.Milliseconds);
        builder.Aggregate(SA.Fitness.DataType.TYPE_STEP_COUNT_DELTA, SA.Fitness.DataType.AGGREGATE_STEP_COUNT_DELTA);
        builder.BucketByTime(1, SA.Fitness.TimeUnit.Days);
        SA.Fitness.ReadHistoryRequest request = builder.Build();
        request.OnReadFinished += Request_OnReadHistoryFinished;

        SA.Fitness.History.Instance.ReadData(request);
    }
        //--------------------------------------
        // PUBLIC API CALL METHODS
        //--------------------------------------

        public void ReadData(ReadHistoryRequest request)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append(request.Id);
            builder.Append(Connection.SEPARATOR1);
            builder.Append(request.StartTime.ToString());
            builder.Append(Connection.SEPARATOR1);
            builder.Append(request.EndTime.ToString());
            builder.Append(Connection.SEPARATOR1);
            builder.Append(request.TimeUnit.ToString());
            builder.Append(Connection.SEPARATOR1);
            builder.Append(request.Limit);
            builder.Append(Connection.SEPARATOR1);
            builder.Append(System.Convert.ToInt32(request.IsAggregated));
            builder.Append(Connection.SEPARATOR1);

            if (request.IsAggregated)
            {
                builder.Append(request.DataType.Value);
                builder.Append(Connection.SEPARATOR1);
                builder.Append(request.AggregateType.Value);
                builder.Append(Connection.SEPARATOR1);
                builder.Append((int)request.BucketingType);
                builder.Append(Connection.SEPARATOR1);
                builder.Append(request.MinDuration);
                builder.Append(Connection.SEPARATOR1);
                builder.Append(request.BucketUnit.ToString());
            }
            else
            {
                builder.Append(request.DataType.Value);
            }

            readRequests.Add(request.Id, request);
            Proxy.ReadData(builder.ToString());
        }