Browse Source

added Aufbau

Simon Hammer 3 years ago
parent
commit
16437073b7

BIN
maturText/media/AppStructureFull.png


BIN
maturText/media/Gimp/AppStructure.xcf


+ 4 - 4
maturText/revisioned.glo

@@ -34,8 +34,8 @@
 \glossaryentry{Liste?\glossentry{liste}|setentrycounter[]{page}\glsnumberformat}{6}
 \glossaryentry{View?\glossentry{view}|setentrycounter[]{page}\glsnumberformat}{6}
 \glossaryentry{User Interface?\glossentry{user interface}|setentrycounter[]{page}\glsnumberformat}{6}
-\glossaryentry{Free Software Foundation?\glossentry{fsf}|setentrycounter[]{page}\glsnumberformat}{14}
-\glossaryentry{Free Software?\glossentry{Freie Software}|setentrycounter[]{page}\glsnumberformat}{14}
-\glossaryentry{IDE?\glossentry{ide}|setentrycounter[]{page}\glsnumberformat}{15}
 \glossaryentry{Free Software Foundation?\glossentry{fsf}|setentrycounter[]{page}\glsnumberformat}{15}
-\glossaryentry{Version Control Systems?\glossentry{vcs}|setentrycounter[]{page}\glsnumberformat}{15}
+\glossaryentry{Free Software?\glossentry{Freie Software}|setentrycounter[]{page}\glsnumberformat}{15}
+\glossaryentry{IDE?\glossentry{ide}|setentrycounter[]{page}\glsnumberformat}{16}
+\glossaryentry{Free Software Foundation?\glossentry{fsf}|setentrycounter[]{page}\glsnumberformat}{16}
+\glossaryentry{Version Control Systems?\glossentry{vcs}|setentrycounter[]{page}\glsnumberformat}{16}

+ 27 - 4
maturText/revisioned.tex

@@ -681,8 +681,8 @@ Es ist grösstenteils der suckless-basierten Codingphilosophie zu verdanken, abe
 \subsubsection{Hauptziele}
 Gemäss den Zielen soll die App eine Verbindung mit einem Server erstellen können und mit ihm Interagieren können. Heisst sie soll die Informationen über einen Account, die der 
 Nutzer eingibt überprüfen können und weiter die Emails die ein Nutzer auf einem \gls{server} hat herunterladen. Ebenso soll die App Nachrichten weiter über einen Server verschicken können. 
-Um das zu realisieren, haben sich die Autoren nach passenden \glspl{library} für Java umgeschaut. Zu ihrem bedauern gibt es nur zwei libraries die in Frage kommen. 
-%TODO: noah schrib wurum mir die libraries ned gange sind und wurum mir uf python umgstiege sind.
+Um das zu realisieren, haben sich die Autoren nach passenden \glspl{library} für Java umgeschaut. Das Resultat dieser Suche waren zwei Libraries. 
+%TODO: noah schrib wurum mir die libraries ned gange sind und wurum mir uf python umgstiege sind. 
 
 Weil nach dem herunterladen der Nachrichten vom Server viele Daten gespeichert werden müssen, muss eine Möglichkeit her, wie diese Daten möglichst schnell, 
 und der Einfachheit halber mit einer gewissen Abstraktion, in einer sinnvollen Datenstruktur gespeichert werden können. Dazu taugte eine \gls{database}. Um dies zu erreichen 
@@ -694,15 +694,37 @@ weil es beim Compilen der App die SQL queries und \glspl{entity} überprüft. \c
 
 Um die heruntergeladenen und gespeicherten Nachrichten auch Anzeigen zu könne wird ein Interface benötigt. Dieses sollte so schlicht und ordentlich wie möglich gehalten werden. 
 Die \gls{recyclerview} Library ist eine optimale Möglichkeit Daten in Form von Nachrichten als eine Auflistung zu zeigen. Sie bringt einen Vorteil gegenüber einer \gls{liste} mit und zwar
-verwendet sie \glspl{view}, die Angezeigt wurden, wieder. Was dem Recyclerviewer einen Vorteil im Punkt Effizienz gegenüber der Liste bringt. \cite{recyclerViewRecycle}
+verwendet sie \glspl{view}, die Angezeigt wurden, wieder. Was dem Recyclerviewer einen Vorteil im Punkt Effizienz gegenüber der Liste bringt. \cite{recyclerViewRecycle} \\
 
 Neben der Recyclerview Library werden auch andere libraries gebraucht um das \gls{user interface} zu erstellen. Einer dieser libraries ist Material oder Material Design. 
 Den Autoren hat sie schlicht gefallen und sie ist nicht schwer zu benutzen, weshalb diese Library genutzt wurde. Sie ist nach ganz klaren Prinzipien aufgebaut 
 und von Google erstellt worden um hochwertige Designs zu kreieren. \cite{materialDesigne}
 
 
-%\subsubsection{Aufbau}
+\subsubsection{Aufbau}
 
+Die App kann grob in drei Teile unterteil werden. In \textit{User Interface}, in \textit{Database} und in \textit{Serververbindung}. 
+
+\begingroup
+\setlength{\intextsep}{7pt}
+\setlength{\columnsep}{15pt}
+
+\begin{wrapfigure}{r}{10cm}
+\centering
+    \includegraphics[scale=.52]{media/AppStructureFull.png}
+\caption{Grob Aufbau der App}
+\end{wrapfigure}
+
+\nohyphenation
+
+Diese drei Komponenten bilden zusammen die App, wobei der Teil der Serververbindung nicht immer aktiv ist. Er wird von dem User Interface
+aufgerufen, wenn zum Beispiel sich ein neuer Nutzer mit einem Emailaccount anmelden möchte. Dann werden die Accountdaten an de Server geschickt und überprüft.
+Wenn diese korrekt sind werden alle Nachrichten, die dieser Nutzer auf dem Server hat, heruntergeladen und weiter an die Database gegeben. Abgesehen von dem 
+Speichern der Nachrichten die frisch vom Server kommen, macht die Database nur noch zwei dinge. Sie kann, durch das Interface entstandene, Nachrichten so abspeichern, dass sie 
+vom \textit{User Interface} im Ordner \textit{Draft} angezeigt werden. Und die \textit{Database} kann weiter gespeicherte Nachrichten bearbeiten so, dass sie vom 
+\textit{User Interface} in eine anderen Ordner angezeigt werden.
+
+\endgroup
 
 \subsubsection{Interface}
 
@@ -719,6 +741,7 @@ Noah begann dann dieses Programm leicht auszubauen und fügte einige Interface I
 \end{wrapfigure}
 %I then made the app more functional, so that you have a base GUI with a drawer, a menu in the bottom and in the drawer navigation menu you can tap on the «Add Email» Button and a popup window will come up asking you for name, email and password. Even the save and cancel button work. Now we only need a functionality to save this information to a string somewhere in the main activity.\\
 
+
 Die App beinhaltete ein Hamburgermenü mit drei Ordnern und einem Knopf, welcher den Nutzer zu einem Popupwindow führte, in welchem es so aussah als würde es möglich sein sich anzumelden.  
 Die Basis für die App wurde gelegt und die beiden entschieden sich mit dem Interface anzufangen.