Zeiterfassungsapp

  • 20 Antworten
  • Letztes Antwortdatum
A

adriax

Ambitioniertes Mitglied
0
Hallo Leute,

habe eine Frage un zwar will ich eine Zeiterfassungsapp schreiben, mit der man per Button klick hinterlegen kann wann man Feierabend hat.
Diese Informationen kann man dann gesammelt als Mail verschicken (nicht die Datei selbst sondern nur die Informationen --> z.B. "01.01.2013 - 15:00").

Bereits fertig ist das Layout etc. und der Mail versandt.

Nun meine Frage:
Ist es klüger hier eine Datenbank einzusetzten oder einfach die Daten in eine Textdatei schreiben und diese dann wieder auszulesen??
Könnt ihr mir hierzu vllt. Hilfestellung geben. :)

Mit freundlichen Grüßen
AdriaX
 
Kommt drauf an, was du mit den Angaben machen willst.

Du bist mit einer Datenbank natürlich flexibler, was vor allem die Verwendung/Weiterverarbeitung der Angaben betrifft. Wenn du bspw. irgendwelche Auswertungen machen willst, wäre eine Textdatei eher hinderlich, da die erst geparst werden müsste etc. - hier wäre eine Datenbank viel leichter zu handhaben.
 
Hmm, eigentlich kommt es nicht drauf an :)

Genau für sowas sind Datenbanken da :)

Gruß
 
Also, ich will eigentlich nur per Buttonklick, das aktuelle Systemdatum/Uhrzeit irgentwo hinterlegen. und dann per anderen Button mit zb. nach 5 Tagen Infos sammeln mir eine Email mit den Daten schicken.
 
Nur das Datum?!
Jede 5 Tage?!
Dann würde ich das sogar in Preference speichern...

Gruß
 
Dann eher eine Datenbank. Ist zwar ein Aufwand mit der Erstellung und alles aber später bist du dann froh, dass du alles so easy aus der DB auslesen kannst. vereinfacht das arbeiten schon sehr :)
 
also irgendwie könnt ihr euch nicht entscheiden:-D

also nochma um ein beispiel da zu stellen.

Montag klick ich auf den Button Zeitspeichern,
Dienstags nochma,
Mittwochs auch,
Donnerstags auch
und Freitags auch, und zudem ( weil ich heute ZUFÄLLIG meinen Stundennachweis mache ) auf den Button Daten an Mailaddr senden.
 
Ja, dafür ist eine DB wohl am besten.
 
und wie stell ich dies am besten an ;-)
in sachen Datenbank in Android bin ich neuling^^
 
Weil es eigentlich Geschmackssache ist.
Wenn du tatsächlich nur jeden Tag die Uhrzeit speichern willst, dann ist das Aufbauen einer DB, meiner Meinung nach, viel "zu aufwändig".

Ich würde, wie schon erwähnt, das ganze in SharedPreferences speichern.
"timeMo", "timeDi", "timeMi", "timeDo".
Freitag musst du nicht speichern, da beim erstellern der Mail das gleich mit gegeben weredn kann.

Das wären dann nämlich ca 10 Zeilen Code.
Bei einer Datenbank, wenn noch nicht damit gearbeitet, bräuchte man ca 30...

Gruß
 
mit den SharedPreferences kannst du allerdings dann nur die Daten für eine Woche speichern, dann werden diese überschrieben. Wenn das egal ist dann ist das die simpelste methode.
Wenn du die Daten über längeren Zeitraum speichern möchtest.... :)
 
Er möchte jeden Freitag eine Mail senden.
Mit diesen, schon gesendeten Daten, kann er dann weiter arbeiten.

Klar, bei SharedPreference werden die Daten nur jeweils für eine Woche gespeichert..

Gruß
 
um das nochma klar zu stellen:D

ich wollte damit nicht sagen das ich "jeden" freitag ne mail versenden möchte sondern dies nach belieben z.B. auch mal Dienstags weil ich da grade Zeit für den Stundennachweis habe.
Und das ich unter umständen auch mal mir Informationen von mehreren Tagen schicken lassen will ( auch Tage >5 ).
Also wenn ich mir das so überlege müsste ich schon auf ne Datenbank zurück greifen, da ich hier sogar die möglichkeit habe alle 28/30 oder 31 Tage zu hinterlegen ( auch mit mehreren Info's sprich Uhrzeit/Datum und zb auch Arbeit oder Schule...).

Jedoch wie stelle ich sowas am Simpelsten in einer Android Datenbank dar. Bzw. wie erstelle ich soeine in Android??
 
Code:
public class DictionaryOpenHelper extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 2;
    private static final String DICTIONARY_TABLE_NAME = "dictionary";
    private static final String DICTIONARY_TABLE_CREATE =
                "CREATE TABLE " + DICTIONARY_TABLE_NAME + " (" +
                KEY_WORD + " TEXT, " +
                KEY_DEFINITION + " TEXT);";

    DictionaryOpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DICTIONARY_TABLE_CREATE);
    }
}

ist das dann ein beispiel fürs erstellen einer Datenbank?
 
also irgentwie is das zuviel input :(
steig da nicht wirklich durch :(
 
Dann kann man dir wirklich nicht mehr helfen.

Gruß
 
also ich meinte damit, ich weiß jetzt nicht wirklich wie ich diese Sachen dann wieder abfragen kann.

habe Android SQLite Database Tutorial benutzt.

hier der Codeschnippsel
Code:
public Contact getContact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();
 
    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
            KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
            new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();
 
    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
            cursor.getString(1), cursor.getString(2));
    // return contact
    return contact;
}

also damit komm ich irgentwie nicht klar, da ich hier irgentwie meine sql abfrage vermisse:( so wie man sie normaler weise kennt-->select bla from bla where bla = bla; :(
 
Du sollst nicht nur den Code abschreiben sondern auch lesen und evt. mal weiter machen...
Denn genau in dem Tutorial kommen auch select abfragen iwann vor...

Gruß

Btw: Das ist ein schon wirklich umfangreiches Tutorial. Wenn du es kannst, versuch nur das wichtigste raus zu ziehen. Solltest du daran scheitern, dann such dir ein andere, wo wirklich nur die grundlegenden dinge abgearbeitet werden...

€dit2: http://developer.android.com/training/basics/data-storage/databases.html
 
Zuletzt bearbeitet:
Zurück
Oben Unten