Readme für das Projekt Socretary der Vorlesung "Mobile Applications - Native Development"
The app SOCRETARY aims to connect you to your friends Version 0.01
- Lucas Schlemm
- Jascha Krueper
- Daniel Mueller
- Jakob Ruf
Die Steuerung der Benachrichtigungen geschieht über die Klasse NotificationHelper.java. Diese fungiert als BroadcastReciever und erlaubt so die zentrale Verwaltung der Benachrichtigungen.
Eine Benachrichtigung kann zur Anzeige gebracht werden, indem ein Broadcast losgeschickt wird. Dieser muss den passenden Intent haben ("de.lucasschlemm.CUSTOM_INTENT") und als Extra mindestens eine Aktion mitgeben. Mögliche Typen sind:
- "text" zum Anzeigen von Benachrichtigungen nach dem Versand einer automatischen SMS. Hier wird zusätzlich das Extra "recipient" benötigt. Dann kann der Empfänger der SMS in der Benachrichtigung angezeigt werden.
- "reminder" zum Anzeigen von Benachrichtigungen, dass man sich mal wieder bei einem Freund melden könnte. Hier werden als Extra ebenfalls der Name des Freundes ("contactName") und die Zeit seit dem letzten Kontakt ("timePassed") benötigt.
- "location" zum Anzeigen von Benachrichtigungen, dass man sich in der Nähe eines Freundes befindet. Hier wird auch "contactName" als Name des Freundes benötigt.
Bespiel wie Benachrichtigungen aus einem Fragment ausgelöst werden
#!Java
Intent intent = new Intent();
intent.setAction("de.lucasschlemm.CUSTOM_INTENT");
intent.putExtra("type", "text");
intent.putExtra("recipient", conName);
getActivity().getBaseContext().sendBroadcast(intent);
Sollen die Benachrichtigungen entfernt werden, so muss als Type lediglich "cancel_Notification" mitgegeben werden. Dieser Broadcast schließt alle Benachrichtigungen von Socretary
Notwendiger Codeschnippsel zum Beenden der Benachrichtigungen
#!Java
Intent intent = new Intent();
intent.setAction("de.lucasschlemm.CUSTOM_INTENT");
intent.putExtra("type", "cancel_Notification");
sendBroadcast(intent);
Das Teilen der eigenen Location wird über den Intent "de.lucasschlemm.de.SHARELOCATION" ausgelöst. Extras müssen keine hinzugefügt werden.
#!Java
Intent intent = new Intent();
intent.setAction("de.lucasschlemm.socretary.SHARELOCATION");
ApplicationContext.getContext().sendBroadcast(intent);
Damit nicht jeder Methode ein Context übergeben werden muss, wurde eine statische Klasse ApplicationContext erstellt. Diese wird in der onCreate der MainActivity initialisiert und liefert anschließend über die statischen Methoden getContext() und getActivity() die entsprechenden Context-Objekte zurück. Dadurch wurden viele Methoden um je einen Parameter reduziert
#!Java
Context myContext = ApplicationContext.getContext();
Es wurde das Singleton-Muster verwendet, um eine mehrfache Instanziierung und somit mehrfachen Zugriff auf die Datenbank zu verhinden. Der Zugriff auf den DB-Helper erfolgt wie folgt: Das "this" gibt hier den ApplicationContext an. Sollte diese Methode also in einem anderen Kontext (z.B. OnClickListener) aufgerufen werden, so muss hier "getApplicationContext()" verwendet werden.
#!Java
DatabaseHelper helper = DatabaseHelper.getInstance(this);
Alle Methoden verfügen auch über JavaDocs
- + long id: insertContact(Contact)
- + long id: insertEncounter(Encounter)
- + boolean success: updateContact(Contact) nicht getestet
- + boolean success: updateEncounter(Encounter) noch nicht implementiert
- + ArrayList contacts: getContactList()
- + Contact contact: getContact(long id)
- + ArrayList: getContactEncounterList(long id)
- + boolean success: deleteContact(long id)
- + boolean success: deleteEncounter(long id)
- + void: emptyTables()
Socretary bietet dir eine optimale Grundlage, um mit wichtigen Kontakten und Freunden in Verbindung zu bleiben. Dieses Tutorial soll dir einen Einstieg in socretary geben und dir den Umgang mit der App und den dazugehörigen Funktionen näher bringen.
Nach der Installation und dem ersten Starten der App, wird dich socretary nach deiner Handynummer fragen. Keine Angst, diese wird dazu benötigt, um beispielsweise deinen Freund, der dich in seiner socretary-Kontaktliste hat,
Nach der Eingabe der Handynummer bist du im Menü von socretary. Zu Beginn ist es am vorteilhaftesten, wenn du in die Übersicht navigierst.
In der Übersicht angelangt, kannst über die blaue Schaltfläche einen Kontakt deiner Smartphone-Kontaktliste hinzufügen. Ist dies geschehen, kannst du nun die folgenden Attribute deines aufgenommenen Kontaktes bestimmen:
-
Kontakthäufigkeit
-
Geburtsdatum
-
Adresse
Dir fällt spontan nicht die genaue Adresse deines Kontaktes ein? - Nicht schlimm, du kannst in socretary die Adressen deiner Kontakte ganz einfach später nachpflegen.
Ist der Kontakt erstellt, wird dieser in deiner socretary-Kontaktliste aufgeführt.
Der erste Kontakt ist in deiner socretary-Kontaktliste. Du kannst nun beliebig viele folgen lassen. Der erste Teil des Einstiegs ist damit abgeschlossen, im weiteren Verlauf erhältst du einen Überblick über die Funktionen und die Möglichkeiten von socretary.
Über das Menü gelangst du in die Einstellungen. Hier kannst du an verschiedenen Stellschrauben drehen. So ist es dir möglich, die Benachrichtigungen zu (de-)aktivieren, sowie den Umkreis um deine Freunde einzustellen. Dieser Umkreis hat die Bedeutung, dass wenn sich einer deiner Kontakte in diesem befindet, du eine Pushbenachrichtigung erhältst.
Außerdem hast du die Wahl, welche Kommunikation von socretary eingelesen werden soll. So werden durch die Betätigung von "Anrufe einlesen" und "Nachrichten einlesen" die Verläufe der jeweiligen Dinge ausgelesen und Einträge, die von deinen socretary-Kontakten stammen, verwendet und den socretary-Kontakten zugeordnet.
Über das Menü lässt sich über 'SMS-Vorlagen' ein Manager aufrufen, in dem du SMS-Vorlagen verwalten kannst, die du später einem socretary-Kontakt zuordnen kannst.
Über die (+)-Schaltfläche kannst du eine neue Nachricht hinzufügen.
Es erscheint ein Fenster, in dem du einen Nachrichtentext formulieren kannst. Dieser Text ist an keine Zeichenlänge gebunden. Wenn du den Text eingegeben hast, kannst du ihn durch die Fensterbestätigung zu deiner SMS-Vorlagen-Liste hinzufügen. Auch hier kannst du beliebig viele SMS-Vorlagen folgen lassen.
Möchtest du SMS-Vorlagen löschen? - Dies ist durch die Betätigung des Mülltonnensymbols möglich.
Beim Löschen der Vorlagen ist es möglich, eine Mehrfachauswahl zu treffen, das heißt du musst nicht jede Nachricht einzeln löschen.
Socretary bietet zwei Arten der Kontaktansicht, zum einen eine Art Schnellübersicht und eine Detailansicht.
Schnellübersicht:
Zur Schnellübersicht gelangst du durch das kurze antippen eines Kontaktes in deiner socretary-Kontaktliste. Darauf hin wird dir ein Fenster angezeigt, welches dir eine kurze Übersicht über den Kontakt anzeigt.
Im Fokus dieser Ansicht steht aber die Möglichkeit direkt mit dem Kontakt zu kommunizieren. Mit der Betätigung von "Anruf", rufst du den Kontakt direkt an. Ähnliches geschieht bei der Auswahl von "Nachricht". Du gelangst in deine Standard-SMS-App mit dem Kontakt als Empfänger.
Detailansicht:
Durch das lange Drücken eines Kontaktes gelangst du in die jeweilige Detailansicht. In der Detailansicht werden verschiedene Informationen zu dem Kontakt dargestellt. Unter dem Reiter 'Details' werden die Informationen über das Geburtsdatum, die Adresse, die SMS-Vorlagen und die Telefonnummer aufgeführt.
Die Detailseite dient aber nicht nur der reinen Darstellung von Informationen. Hier hast du die Möglichkeit deinem Kontakt SMS-Vorlagen aus deiner SMS-Vorlagen-Liste zuzuordnen und zu verwalten. Außerdem bietet dir socretary in der Detailansicht die Möglichkeit, die Adresse des Kontaktes nachträglich einzutragen. Die App zeigt automatisch die Eingabemaske an, wenn man den Detail-Reiter aufruft und die Adresse noch nicht vorhanden ist.
Der Reiter 'Verlauf' zeigt dir die Kommunikation mit dem ausgewählten Kontakt an. Hier siehst du (je nach dem ob Anrufe und/oder SMS eingelesen worden sind), in wie weit du mit dem Kontakt in der Vergangenheit kommuniziert hast. Anrufe und SMS werden angezeigt und unterschieden ob diese eingehend oder ausgehend waren.
Du hast aber hier die Möglichkeit auch einen Eintrag manuell hinzuzufügen. Dies ist möglich indem du das Kontaktmenü oben rechts öffnest und 'Eintrag hinzufügen' auswählst.
Über die Auswahl gelangst du zu folgendem Fenster. Hier hast du die Möglichkeit, die Art, das Medium, die Uhrzeit und das Datum der Kommunikation zu bestimmen.
Mit der Bestätigung wird der Eintrag nun im Verlauf gelistet. Über das Kontaktmenü hast du außerdem die Möglichkeit den ausgewählten Kontakt aus deiner socretary-Kontaktliste zu löschen.