Entwicklungsumgebung
Ide könnten eclipe intelli J IDEA und Android Studio
Hauptbestandteile sind Manifestdatei der Ordner mit dem Quellcode der Ressourcenordner und gradle Skripte
Debugger um Fehler zu finden
Testen mit virtuellen physischen Gerät instrumentierte Test
Und der Rest Unit Test
Android Studio
Offizielle ide 2013 basiert auf intelliJ IDEA von JetBrains
Zuvor wurde Fehlern durch Befehlteilentools ersetzt
Offizielle Website herunterladen
Man kan Apps entwickeln für verschiedene Android Version kompatibel sind
Was sind Hardwareanforderungen
Empfehlung
Arbeitsspeicher: Minimum 4GB Ram für flüssiges angenehmes 8GB
Speicherplatz 2 bis 4GB
Bildschirmauflösung: mindestens 1280x800
CPU: weniger als zwei Jahre alt ist ist ausreichend
macos linux Windows Chromeos
2.2 enthält java Development Kit JDK
Erstellen eines virtuellen Gerätes
Emulator kann getestet werden
Device Manager kann man gerät mit einer reihe von Funktionen zu erstellen das den individuellen Bedürfnissbe der Zielgruppe entspricht
Damit kann man HardwareKategorien wie Tv Smartphone wearable Tablet auswählen alle haben unterschiedliche Größe Auflösung Pixeldichte
Danach wählt man System-Image und bestimmt man Softwareeigenkschaften wie Android Version
Hardwarebeschleunigung
Emulator ist langsam weil komplettes os vorgetäuscht wird
Deswegen gibt es HAXM von google und intel, ist ein Hypervisor der Intel VT
Wird von Windows unterstützt wenn man Intel Prozessor integriert
Unter macos ist es automatisch installiert
Linux kann man KVM nutzen
Wichtige Konfigurationsoptionen
Name der App und Paket
=paketname damit das keine Konflikte zw verschiedene Apps mit dem selben Namen gibt
Sprache
Java oder Kotlin
Sdk-Version
Minimum sdk bestimmt die Version die von der App unterstützt wird
Ide Wichtigste teile
Menüleiste
=enthält wichtige Optionen und Funktionalitäten die die ide bietet, wichtigster Ort der Navigation
Projekt-Explorer
=alle Ordner
Editor-Fenster
=Enthält den Code
Emulator Fenster
=simuliert ein Android Gerät
Werkzeugkästen
=Möglichkeit wie Aktionen wie Speichern ausführen
Layoutdateien
Jede activity besteht aus zwei Dateien, Quellcode und Layout
Wichtige Elemente im Designmodus
Palette
=Komponenten die durch ziehen und ablegen auf der gui einer activity platziert werden kann
Design und blueprint Ansicht
=Design Sicht des Nutzers und blueprint nur Umrisse der View objects
Attribute
=ermöglicht Änderung der Eigenschaften View objects
Kategorien von Dateien
Manifestdateie
Xml steuert wichtige Parameter einer App zb Services
Inhalte
Namesapce und Paketdeklarationen
Name der Haupt-activity
Icon der App
Label
Quelldateien
Verhalten und Funkion
Java und Java generated
Ressourcen
In vier
Drawable:Bilder Diagramme Vektorgrafiken
Layout:
Mipmap:icon Dateien
Values:festen konstanten oder Konfiguration
Gradle Skripte
Konfiguration und einstellungsdateien
Build schritt alle Dateien zu einem Paket zusammen
Debugging was sind Fehler
Syntax Laufzeit logische Fehler
2: erst wenn die app läuft zb ungeprüft exceptions oder Fehler in der Programmierlogik Behandlung mit Try catch blocks oder throws Klausel
Was muss nach dem debbuging passieren
Unit tests und instrumentierte teste
Unit Mithilfe von JUnit
Methode assertEquals benötigt drei Parameter
Das erwartete Ergebnis:manuell berechnet
Tatsächlichen Produktionswert
Delta wert: wie stark sie sich unterscheiden können
Sollte jedes Projekt haben
Instrumentierte Tests
Beziehen sich auf verhalten auf der Android Plattform selbst
Mit Hilfe von espresso frameworks
App release
App Symbol
Paketname muss einzigartig sein
Sicherheitsmaßnahmen
-debugging deaktivieren Android:debuggable=”false”
-release key Stores signiert werden
-minifyEnabled muss gesetzt werden um Quellcode zu verbergen
-safetynet atteststion api muss implantieret werden um Integritätsprüfunh in der App zu ermöglichen
-Daten mit https verschlüsselt übertragen
-lokale Datenspeicherung sollte verschlüsselt sein (SQLChipher-Bibliothek )
-alle sensiblen Informationen müssen vor dem Release aus den Paketen entfernt werden
Berechtigung prüfen
App-Bundle erzeugen
Erstellen eines keystore path (Schlüsselspeicherpfads)
Last changed22 days ago