2012-12-13

Android Code Snippet: DatePicker

In diesem Post greife ich die Frage eines Android-Entwicklers auf. Er hatte folgendes Anliegen:

[..] Ich habe in meiner App einen DatePicker und möchte das Datum anschließend als String weiterleiten um es in einer externen Datenbank abzuspeichern.
Zur übermittlung der Daten verwende ich ein JSONObjekt. [..]

Ohne viel Vorrede ein Codefragment:

public class MainActivity extends Activity implements OnDateChangedListener {

  Calendar cal;
  DateFormat df;
  DatePicker dp;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    cal = Calendar.getInstance();
    df = new SimpleDateFormat("yyyy-MM-dd");

    dp = (DatePicker) findViewById(R.id.dp);
    dp.init(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
        cal.get(Calendar.DAY_OF_MONTH), this);
  }

  @Override
  public void onDateChanged(DatePicker view, int year, int monthOfYear,
      int dayOfMonth) {
    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, monthOfYear);
    cal.set(Calendar.DAY_OF_MONTH, dayOfMonth);

    JSONObject object = new JSONObject();
    try {
      object.put("datum", df.format(cal.getTime()));
    } catch (JSONException e) {
      e.printStackTrace();
    }
    System.out.println(object);
  }
}
Java2html

DatePicker können über Benutzerinteraktionen berichten. Ein entsprechender Listener wird durch Aufruf der Methode init() gesetzt. Das Zusammenbauen von Jahr, Monat und Tag zu einem String ist dann Handwerk. Viel Spaß beim coden…

No comments:

Post a Comment