浏览代码

started writting Umsetzung

Simon Hammer 3 年之前
父节点
当前提交
ac0d21870a
共有 3 个文件被更改,包括 85 次插入7 次删除
  1. 二进制
      maturText/matur.pdf
  2. 85 7
      maturText/matur.tex
  3. 二进制
      maturText/media/drawer.png

二进制
maturText/matur.pdf


+ 85 - 7
maturText/matur.tex

@@ -24,6 +24,9 @@ bottom=15mm,
 footskip=20pt,
 includeheadfoot}
 
+% for using wrapfigures
+\usepackage{wrapfig}
+
 % header and footer
 \usepackage{datetime}
 \newdateformat{dmy}{%
@@ -109,12 +112,40 @@ dass sich auch in den letzten zehn Jahren - nämlich seit dem Aufkommen der mass
 
 \section{Konzept der Arbeit}
 
-\subsection{Funktionsweise}
+\subsection{Ziele der Funktionen}
+
+Wir kennen alle die Funktionen eines Email-Clients und unsere App soll auch nicht viel mehr können als die meistens Apps. \\
+
+Die App soll die Basisfunktionen eines klassischen Email-Clients erfüllen. Dazu gehören das lesen und schreiben von Emails,
+öffnen und Anfügen von Anlagen, die Setzung einer Email-Signatur und das Erstellen und Speichern von Entwürfen. Ebenso soll es viele verschiedene Ordner geben, 
+solche wie Spam/Junk oder ein Archiv Ordner. Dazu soll es möglich sein E-Mails verwalten zu können, zum beispiel indem die Ordner nach 
+Datum des Empfangs oder dem Absender sortiert werden können. E-Mails könne markiert, gelöscht und weitergeleitet werden. Es soll eine Suchfunktion für jeden Ordner geben. \\
+
+Ebenso soll es einen Account Manager geben, was voraus setzt, dass es möglich ist sich mit verschiedenen 
+Accounts anzumelden und diese bei bedarf zu wechseln. Beim Anmelden einer E-Mail soll es dem Nutzer leicht gemacht werden mit eingebauten Konfigurationen für beliebte 
+Emailprovider in der Schweiz. Darunter diese Anbieter: stud.edubs.ch, gmail.com, gmx.ch, outlook.com, yahoo.com, icloud.com, hotmail.com, web.de. \\
+
+Ein Element, welches fast jede App Heutzutage hat, sind Pushnachrichten, welche auch eingebaut werden sollen. Dabei wird die Nachricht mit dem Absender und der Beginn der 
+E-Mail angezeigt. 
+Eine Funktion die nicht jeder Email-Client hat ist, dass die Gesprächsverläufe in der Struktur wie auf Reddit oder Thunderbird gezeigt werden. 
+Dies wird ein weiteres Feature der App sein.
+Wie es für leichte Email-Clients oft üblich ist, werden Bilder erst angezeigt, sobald es der Nutzer ausdrücklich möchte. Für dies 
+wird eine Funktion in den Einstellungen  einfügen. Eine sehr praktische Funktion soll sein, dass E-Mail-Adressen gespeichert werden und 
+beim schreiben einer neuen E-Mail direkt verfügbar sind und ausgewählt werden können. \\
+
+Das letzte Feature ist, dass Links direkt in einem Browser geöffnet werden können. Die Einstellungen sollen das Farblayout der App ändern können, 
+die Synchronisationsintervalle ändern können, Einstellungen an den Pushnachrichten ändern können, Kontaktlisten verwalten und Einstellungen zu Privatsphäre beinhalten. 
 
-\subsubsection{Vergleich mit Konkurrenz}
+Ein Pluginmanager soll auch eingebaut werden, um weitere Funktionen, welche das Programm verlangsamen würden oder nicht für jedermann geeignet ist, hinzuzufügen können. 
+Es gibt uns auch die Möglichkeit nach dieser Arbeit die App zu verbessern und auf uns an zu passen. \\ 
+
+Wir haben uns viele Ziele gesetzt und dachten, dass wir auch mehr schaffen können. Weshalb dies nicht der Fall ist wird noch genauer betrachtet. 
+
+
+
+\subsection{Vergleich mit Konkurrenz}
 Disclamier/Note: Da bei dieser App einen Wert auf Sicherheit und Endnutzer-Freiheit gesetzt wird, wird sie dementsprechend nur mit Apps verglichen, welche auch Freie Software sind, nach Definition [der FSF??]. Somit fallen jegliche Proprietäre Produkte raus, da sie unseren Grundanforderungen eines Email Clients nicht entsprechen.\\
 
-Unsere App soll die Basisfunktionen eines klassischen Email Clients erfüllen. Dazu gehören das lesen und schreiben von Emails, öffnen und Anfügen von Anlagen, die Setzung einer Email-Signatur und das Erstellen von Entwürfen.
 
 Wenn wir die meisten anderen quelloffenen, noch maintainten Open Source Email Clients anschauen fällt sofort auf, 
 dass diese unglaublich überladen (bloated) sind. Selbst wenn im Internet nach einem möglichst simplen Email Client für Android gesucht wird, 
@@ -148,7 +179,6 @@ To provide such protection of the user freedoms in future forks, there needs to
 This is where the ``suckless philosophy'' comes in place: It aims at making software with simplicity in mind: Less source lines of code to not render the project unmaintainable in similar way as mentioned above. This way of programming is a lot more difficult, but the struggle is most of the time worth it. This coding philosophy also incentives (quality) code rewrites - which happens a lot less with bloated software counterparts - that gives the user more alternatives to choose from.
 
 \subsubsection{Hintergründe, Technologisch, UNIX, KISS}
-<<<<<<< HEAD
 \subsection{Lizensierung}
 %The differences of different source code models and their licenses have been already discussed in this paper (?). The reason the GNU General Public License Version 3 (short: GPL v3) was chosen because it is one of the most popular and strongest copyleft licenses that suits the application.
 
@@ -158,7 +188,7 @@ wurde, ist dass sie eine der bekanntesten und stärksten copyleft Lizenz ist.
 
 \subsubsection{Hintergründe, philosophisch, technologisch}
 
-\section{Arbeitsprozess}
+\section{Hilfsmittel}
 
 \subsection{Hardware}
 
@@ -197,6 +227,7 @@ This is our remote git server. But is is more than just a git server, it is a po
 
 \paragraph{IDE}
 IDE stands for ``Integrated Development Environment''. This means a program where the coder edits, debugs the code. It provides more features than just editing text, but also advanced autocompletion features and warnings/suggestions that the programmer should do something differently because of various reasons of bad programming practice. These programs have a lot of great features, but are often buggy, resource hungry and slow, like our choice of IDE: Android Studio.
+
 \paragraph{Texteditor}
 Text editors to have less ``advanced'' coding-related features, so they are not optimal for big projects with lots of files and graphical content.
 
@@ -277,8 +308,55 @@ This is thanks to the suckless nature of our coding philosophy, but also our exe
 
 \section{Umsetzung}
 
-\subsection{neutraler Bericht}
-verweis texdiary
+\subsection{Informationsbeschaffung}
+
+Zu beginn der Arbeit konnten Noah und Simon noch kein Java. Noah kannte sich gut aus mit Programmiersprachen und konnte es deshalb mit Java ruhig angehen.
+Simon hingegen wusste, dass er noch viel zu lernen hatte. Er erhoffte sich die Grundlagen im Informatik Unterricht zu lernen. 
+Simon lernte auch einige dinge, jedoch ging ihm das zu langsam und er schaute sich nach anderen Lernmöglichkeiten um. 
+Zu diesem Zeitpunkt konnten einige Schüler an einem Programm mitmachen, bei welchem sie in die Uni gingen und gewisse 
+Vorlesungen besuchen konnten. Ein Klassenkamerad von Simon konnte von diesem Programm profitieren und besuchte Informatik. 
+Dort lernte er in einem unglaublichen Tempo Java, weshalb Simon seinen Klassenkameraden fragte ob er seine Unterlagen ausleihen konnte. 
+Sein Klassenkamerad war so freundlich und übermittelte ihm die Unterlagen. So konnte Simon auf effektive weise Java lernen. \\
+
+\textbf{ Noah wie hesch du Java glernt?}<++>
+
+Als nächstes ging es darum wie eine App aufgebaut ist und wie zwei Personen Zweitgleich an einem 
+Programm arbeiten konnten. Dafür musste sich Simon über Git/Github informieren. Noah hatte ihm ein Video empfohlen, welches 
+Simon studieren soll und er soll kleine Übungen mit Git ausprobieren um ein Gefühl dafür zu bekommen. Die beiden Informierten 
+sich über verschiedene Plattformen wie eine App funktioniert und wie sie aufgebaut ist. \\ 
+
+Es ging langsam voran und die beiden begannen mit technischen Einstellungen. Als erstes 
+wurde Android Studio  und eine ADB installiert. Noah hat sogar eine Anleitung zur Installation von ADB geschrieben. 
+Um diese auszuprobieren und die Grundlage zu schaffen auf welcher Simon und Noah die nächsten paar Monaten arbeiten werden, haben sie ein
+Testprogramm erstellt namens "Hello World". Es war ein ganz simples Programm das nur zum Testen der Infrastruktur diente. 
+Sie haben ein Gradle.build file erstellt, dies dauerte erstaunlich lange. Später erkannten sie das diese Verhalten sehr üblich für 
+Gradle ist. Nach einiger Zeit haben es beide geschafft ein apk file zu besitzen, welches erfolgreich die "Hello World" app beinhaltete und ausführt. 
+Anschliessend erstellte Noah ein GitHub repository in welchem die beiden das Programm teilen werden. \\
+
+\textbf{ https://www.youtube.com/watch?v=2sjqTHE0zok} nur um später zu makieren.
+
+\subsection{Interface}
+
+Noah begann dann dieses Programm leicht auszubauen und fügte einige Interface Inhalte hinzu. 
+
+\begingroup
+\setlength{\intextsep}{10pt}
+\setlength{\columnsep}{15pt}
+
+\begin{wrapfigure}{r}{8cm}
+\centering
+\includegraphics[scale=.15]{media/drawer.png}
+\caption{Drawer Navigation Menu}
+\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 Burgermenü 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. Für Simon ein guter Anfang sich mit dem 
+richtigen Programmieren zu befassen und sich einleben zu können. 
+Simon begann mit dem RecyclerViewer
+
+
+
 \subsection{Beispiele aus der Umsetzung}
 \subsubsection{Bugs}
 Erklärung woher, warum falsch, wie gelöst

二进制
maturText/media/drawer.png