123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- % standard
- \documentclass[a4paper,11pt]{article}
- \usepackage[utf8]{inputenc}
- \usepackage[ngerman]{babel}
- % geometry
- \usepackage{geometry}
- \geometry{ headsep=20pt,
- headheight=20pt,
- left=21mm,
- top=15mm,
- right=21mm,
- bottom=15mm,
- footskip=20pt,
- includeheadfoot}
- % header and footer
- \usepackage{datetime}
- \newdateformat{dmy}{%
- \THEDAY.~\monthname[\THEMONTH] \THEYEAR}
- \usepackage{fancyhdr}
- \pagestyle{fancy}
- \lhead{Noah Vogt \& Simon Hammer}
- \chead{}
- %\rhead{\dmy\today}
- \lfoot{}
- \cfoot{Gymnasium Kirschgarten}
- \rfoot{Seite \thepage}
- \renewcommand{\footrulewidth}{.4pt}
- % fix figure positioning
- \usepackage{float}
- % larger inner table margin
- \renewcommand{\arraystretch}{1.4}
- % no paragraph indent
- \setlength{\parindent}{0em}
- % graphics package
- \usepackage{graphicx}
- \usepackage{multicol}
- % use sans serif font
- \usepackage{tgheros}
- \usepackage{mathptmx}
- % don't even ask what this is for, I have no idea (noah)
- \usepackage{bm} %italic \bm{\mathit{•}}
- \usepackage[hang]{footmisc}
- \usepackage{siunitx}
- \usepackage[font={small,it}]{caption}
- \sisetup{locale = DE, per-mode = fraction, separate-uncertainty, exponent-to-prefix, prefixes-as-symbols = false, scientific-notation=false
- }
- \newcommand{\ns}[4]{(\num[scientific-notation=false]{#1}\pm\num[scientific-notation=false]{#2})\cdot\num[]{e#3}\si{#4}}
- % show isbn in bibliography
- \usepackage{natbib}
- \begin{document}
- \begin{titlepage}
- \vspace*{1cm}
- \centering
-
- {\huge\bfseries Eine Email-Client-App entwickeln \par}
- \vspace{0.5cm}
- {\Large Noah Vogt \& Simon Hammer\par}
- \vspace{17cm}
- {\large Geschrieben im Jahr 2021\par}
-
- \end{titlepage}
- \tableofcontents
- \pagebreak
- \section{Ideenfindung}
- \section{Werkzeuge}
- Aufgrund dessen, dass ein umfassendes Programm entstehen soll, wird auch Gebrauch von einigen anderen Programmen gemacht. In den nachfolgenden Seiten wird beschrieben welche Programme genutzt
- werden, wieso diese ausgewählt wurden und wie der Umgang mit Ihnen war.
- \subsection{Git/GitHub}
- Git und GitHub sind wohl die wichtigsten Programme die genutzt wurden. Sie sind Systeme, welche Fileordner (repository) verwalten können und sie für mehrere Computer zur verfügung stellen,
- wobei sie sehr viele praktische Funktionen mit sich bringen. Mit Git können repositorys local auf Computer oder Hardware geteilt werden, mit GitHub könne die repositorys auch
- über das Internet geteilt werden. Der einfachheitshalber wird nicht zwischen Git und GitHub unterschieden.
- \subsection{Open Source Programme}
- Beim Programmieren kann es sehr Hilfreich sein Programme zu haben welche, ähnliche Funktionen haben wie das Programm welches entstehen soll.
- Solche Vorlagen können beliebig getestet und verändert werden. Simon hatte zu beginn Schwierigkeiten Java zu nutzen, um Programme zu schreiben, da er noch nicht viel
- Erfahrung mit dem Programmieren hatte. Um sich mit der Art der Sprache und des Programmierens vertieft auseinander zu setzen, begann er Email-Apps, welche Open Source
- waren, genauer zu Betrachten. Im folgenden Text werden wir diese Programme aufführen und zeigen für was wir sie gebraucht haben.
- \subsubsection{RecyclerViewer}
- Der Recyclerviewer ist ein Behälter in welchen Daten gepackt werden. Er wird dem Layout hinzugefügt und hat eine grossen Vorteil gegenüber Listen.
- Eine Liste wird einmalig erstellt und komplett generiert. Das heisst es gibt Behälter, welche existieren, aber nicht auf dem Bildschirm angezeigt werden.
- Diese Behälter brauchen aber dennoch Speicherplatz, sind aber sinnlos. Hingegen der Recyclerviewer generiert nur so viele Behälter wie auf dem Bildschirm angezeigt werden können.
- Die Behälter, welche beim Scrollen am Bildschirm ende ankommen werden sogar wieder verwendet, mit neuen Information gespeist und am anderen Ende des Bildschirms angezeigt.
- Bild von RecycleView
- Ich (Simon) habe viel Zeit in einem template für den Recyclerviewer verbracht, da mir viele Internetseiten nicht helfen konnten. Es waren die ersten Schritte um
- richtig zu verstehen wie eine App funktioniert und wie sie Aufgebaut ist. Ich habe mich davor schon informiert jedoch wurde es mir dort richtig klar. Ich habe gelernt
- wie Behälter über einen Key von Java Files aufgerufen werden und mit Daten gespeist werden. Ebenso habe ich verstanden, weshalb in Programmen, basierend auf Java, viele
- Klassen erstellt erstellt werden müssen, weil jeweils nur einmal die Variablen, Funktionen und Konstruktor einer andere Klasse implementiert werden können. Das heisst,
- wenn eine Klasse zwei Funktionen aus zwei unterschiedlichen Klassen verwendet werden soll, muss eine der beiden Klassen die andere Klasse implementieren.
- \subsection{AndroidStudio}
- \subsection{Librarys}
- \end{document}
|