0

EDIT: теперь я получаю дату с помощью следующего кода, и я хочу, чтобы выбранная дата была в столбце даты анализа (переменная даты строки):Сохранение Android и получение даты на Parse.com с помощью выбора даты в Android.

private void setDateTimeField() { 
    deadlineDateEditText.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(final View v) { 
      datePickerDialog.show(); 
     } 
    }); 

    Calendar newCalendar = Calendar.getInstance(); 
    datePickerDialog = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() { 

     public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
      Calendar newDate = Calendar.getInstance(); 
      newDate.set(year, monthOfYear, dayOfMonth); 
      deadlineDateEditText.setText(dateFormatter.format(newDate.getTime())); 
      //get string version of date 
      date = dateFormatter.format(newDate.getTime()); 
     } 

    },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 
} 

Мой вопрос заключается в том, как добавить это в столбец Date в Parse без времени? Я еще не встречал никаких примеров для Android. Я также обеспокоен форматом, который требует Parse для типов дат.

Когда я пытаюсь ввести дату с помощью следующего кода, я получаю parse android expected date but got String. Код:

public void addModuleDeadline() 
{ 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("Module"); 
    query.whereEqualTo("moduleCode", moduleDeadlineSpinnerText); 
    query.getFirstInBackground(new GetCallback<ParseObject>() { 
     public void done(ParseObject object, ParseException e) { 
      if (e == null) 
      { 
       ParseObject deadlineObject = new ParseObject("ModuleDeadlines"); 
       deadlineObject.put("moduleCode", moduleDeadlineSpinnerText); 
       deadlineObject.put("createdBy", currentUser); 
       deadlineObject.put("deadlineTitle", deadlineTitleText); 
       deadlineObject.put("deadline", date); 
       deadlineObject.saveInBackground(new SaveCallback() { 
        @Override 
        public void done(ParseException e) { 
         if (e != null) { 
          Toast.makeText(getActivity(), "Error adding deadline: " + e.getMessage(), Toast.LENGTH_LONG).show(); 
         } else { 
          Toast.makeText(getActivity(), "Deadline added to '" + moduleDeadlineSpinnerText + "'", Toast.LENGTH_LONG).show(); 
         } 
        } 
       }); 
      } 
      else 
      { 
       Toast.makeText(getActivity(), "There was an issue adding the deadline", Toast.LENGTH_LONG).show(); 
      } 
     } 
    }); 
} 

Как я понимаю, вы можете использовать object.getDate("column name"), чтобы получить дату от разбора.

Любая помощь будет замечательной!

ответ

1

Удалось устранить это, просто изменив deadlineObject.put("deadline", date); на deadlineObject.put("deadline", newDate.getTime());, который передает объект даты, а не строку.

Надеюсь, это поможет кому угодно!