O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Windows Phone 8

Book Description

• kompaktes Wissen zum Development auf dem WP8• Schneller Einstieg mit steiler Lernkurve• Viele Praxisbeispiele zum Nachschlagen• End-To-End Lösung zum Nachprogrammieren

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort
  5. Danksagung
  6. Inhaltsverzeichnis
  7. Teil I: Einführung
    1. 1 Einleitung
      1. 1.1 Microsofts Neustart mit Windows Phone
      2. 1.2 Modern-UI und Hubs
        1. 1.2.1 Modern-UI
        2. 1.2.2 Hubs
      3. 1.3 Apps entwickeln: Überblick über die Laufzeitumgebung, XAML und C++
    2. 2 Beispiele dieses Buches
      1. 2.1 Hosting auf GitHub
    3. 3 Der Werkzeugkasten – die Developer Tools
      1. 3.1 Installation
      2. 3.2 Visual Studio for Windows Phone
        1. 3.2.1 Willkommen – der Startscreen
        2. 3.2.2 Explorer für Projektvorlagen
        3. 3.2.3 Anpassen Ihrer Arbeitsumgebung
        4. 3.2.4 Der Werkzeugkasten
        5. 3.2.5 Eigenschaftenfenster
        6. 3.2.6 Der Projektmappen-Explorer
        7. 3.2.7 Der Codeeditor
        8. 3.2.8 Erweiterungen – der Extension Manager
      3. 3.3 Expression Blend for Windows Phone
        1. 3.3.1 Arbeitsumgebung
        2. 3.3.2 Eigenschaftenfenster
      4. 3.4 Der Emulator
    4. 4 Ihre erste App
      1. 4.1 Die Projektstruktur
      2. 4.2 MainPage.xaml – die Standardseite
      3. 4.3 Die Oberfläche einer Seite gestalten
      4. 4.4 Programmlogik hinzufügen
      5. 4.5 Anwendung ausführen und testen
      6. 4.6 Hoch- und Querformat unterstützen
      7. 4.7 WMAppManifest.xml – die erste Konfiguration
  8. Teil II: Grundlagen
    1. 5 Controls als App-Bausteine
      1. 5.1 Layoutcontainer
      2. 5.2 Content-Controls
      3. 5.3 Items-Controls
      4. 5.4 Geometrische Formen
      5. 5.5 Controls kennenlernen mit MSDN
      6. 5.6 Das Erstellen eigener Steuerelemente
        1. 5.6.1 User-Controls
        2. 5.6.2 Custom-Controls
        3. 5.6.3 Fazit
    2. 6 Seitennavigation
      1. 6.1 Navigieren zwischen Seiten
        1. 6.1.1 Navigieren mit HyperlinkButton
        2. 6.1.2 Navigieren mit NavigationService
      2. 6.2 Lebenszyklus einer Seite
      3. 6.3 Datenübergabe zwischen Seiten
        1. 6.3.1 Datenübergabe mit QueryString
          1. Auslesen des QueryString
          2. Limitierungen
        2. 6.3.2 Selbst definierte Datenübergabe
      4. 6.4 Den Status einer Seite sichern
      5. 6.5 Beispiel BMI-Rechner
      6. 6.6 Zirkuläre Navigation
    3. 7 Application Bar
      1. 7.1 Die Application Bar im Detail
      2. 7.2 Eine Application Bar deklarieren
      3. 7.3 Aktion deklarieren
      4. 7.4 WP8 Themes
      5. 7.5 Wiederverwendbarkeit
    4. 8 Data Binding
      1. 8.1 Datenflüsse bei der Bindung von Daten
      2. 8.2 Datenbindungen aktualisieren
      3. 8.3 Arbeiten mit Templates
        1. 8.3.1 Implementierung des User-Controls
        2. 8.3.2 Datenbindung für User-Controls ermöglichen
      4. 8.4 Das Model
      5. 8.5 Das View Model
      6. 8.6 Die View
      7. 8.7 Konvertierungen bei Datenbindungen
    5. 9 App-Lebenszyklus
      1. 9.1 Auf Statusänderungen einer App reagieren
      2. 9.2 App- und Seitenlebenszyklus verstehen
      3. 9.3 App-Statusinformationen sichern
    6. 10 Styles und Templates
      1. 10.1 Silverlight-Ressourcen
        1. 10.1.1 Ressourcen definieren
        2. 10.1.2 Ressourcen anwenden
        3. 10.1.3 Das Auflösen von Ressourcen
      2. 10.2 Styles
        1. 10.2.1 Styles definieren
        2. 10.2.2 Styles anwenden
        3. 10.2.3 Style-Hierarchien aufbauen
        4. 10.2.4 Implizite Styles
      3. 10.3 Templates
        1. 10.3.1 Ein einfaches Templates
        2. 10.3.2 Templates anwenden
        3. 10.3.3 Zustandsänderungen berücksichtigen
  9. Teil III: Interaktivität
    1. 11 Touchgesten
      1. 11.1 Was sind Gesten?
      2. 11.2 Gesten in Silverlight
      3. 11.3 Ereignisbehandlung von Gesten in Silverlight
    2. 12 Launchers
      1. 12.1 Was ist ein Launcher?
      2. 12.2 Übersicht
      3. 12.3 ShareLinkTask
    3. 13 Choosers
      1. 13.1 Was ist ein Chooser?
      2. 13.2 Übersicht
      3. 13.3 Verwendung
      4. 13.4 CameraChooserTask
    4. 14 Verwendung von ms-walk-to & ms-drive-to
    5. 15 Lokalisierung
      1. 15.1 Grundlagen
      2. 15.2 Internationalisierung durchführen
      3. 15.3 Lokalisierung
      4. 15.4 Zugriff auf Ressourcendateien mittels Binding
    6. 16 Sprachsteuerung
      1. 16.1 Möglichkeiten der Sprachsteuerung
      2. 16.2 Text-zu-Sprache
      3. 16.3 Sprache-zu-Text
      4. 16.4 Sprachkommandos
  10. Teil IV: Datenzugriff
    1. 17 Isolated Storage
      1. 17.1 App-Einstellungen sichern und laden
      2. 17.2 Dateien schreiben
      3. 17.3 Dateien lesen
      4. 17.4 Hinweise zum Isolated Storage
        1. 17.4.1 Objekte serialisieren
    2. 18 SQL Compact Server
      1. 18.1 Überblick
      2. 18.2 Am Beispiel erklärt – der »MOVIE MANAGER«
      3. 18.3 Die Definition des Datenmodells
        1. 18.3.1 Datenklassen definieren
        2. 18.3.2 Datenkontext definieren
      4. 18.4 Ein erster Datenbankzugriff
      5. 18.5 Relationen modellieren
      6. 18.6 Verzögerte Ausführung
      7. 18.7 Optimierung
        1. 18.7.1 Schnittstellen implementieren
        2. 18.7.2 Verwenden einer Versionsspalte
        3. 18.7.3 Readonly-Szenarien optimieren
      8. 18.8 Datenbankschema versionieren
    3. 19 Contact Store
      1. 19.1 Voraussetzungen
      2. 19.2 Überlegung
      3. 19.3 Initialisierung
      4. 19.4 Kontakt speichern
        1. 19.4.1 Eigenschaften
        2. 19.4.2 Erweiterte Eigenschaften
      5. 19.5 Verwendung der RemoteId
        1. 19.5.1 Vorbereitung des Contact Store
        2. 19.5.2 Tagging – das Erstellen der RemoteId
        3. 19.5.3 Den ursprünglichen Schlüssel zurückgewinnen
      6. 19.6 Kontakte laden
        1. 19.6.1 Abfrage-Optionen
        2. 19.6.2 Abfrage eines Kontaktes anhand der RemoteId
      7. 19.7 Kontakt bearbeiten
      8. 19.8 Kontakt löschen
      9. 19.9 View Models
        1. 19.9.1 Das StoredContactViewModel
        2. 19.9.2 Die StoredContactViewModelCollection
    4. 20 FileType-Associations
      1. 20.1 Dateitypen visualisieren
      2. 20.2 Eigenen Dateityp festlegen
      3. 20.3 Erweiterung aktivieren
      4. 20.4 URI-Mapper für eigene Dateitypen anpassen
      5. 20.5 Integration des URI-Mappers in die App
      6. 20.6 Verarbeitung der übergebenen Datei implementieren
      7. 20.7 Testen der FileType-Association im Emulator
    5. 21 URI-Associations
      1. 21.1 Erweiterung aktivieren
      2. 21.2 URI-Mapper für eigene URIs anpassen
      3. 21.3 Integration des URI-Mappers in die App
      4. 21.4 Verarbeitung der übergebenen URI implementieren
  11. Teil V: Debugging
    1. 22 Debugger
      1. 22.1 Haltepunkte einsetzen
      2. 22.2 DataTips für eigene Objekte anpassen
      3. 22.3 Eigene Debug-Informationen erstellen
      4. 22.4 Bedingte Kompilierung
    2. 23 Simulation Dashboard
  12. Teil VI: Sensoren
    1. 24 Location
      1. 24.1 Überblick
      2. 24.2 Ortsinformationen abfragen
      3. 24.3 Location Data emulieren
      4. 24.4 Visualisierung von Geodaten
      5. 24.5 Positionsdaten verfolgen, während die App im Hintergrund läuft
      6. 24.6 Weiterführende Ressourcen
    2. 25 Accelerometer
    3. 26 Vibration
    4. 27 Kompass
    5. 28 Gyroskop
    6. 29 Combined Motion API
  13. Teil VII: Tiles und Notifications
    1. 30 Tiles
      1. 30.1 Allgemeines
      2. 30.2 Erstellung eines Tiles
      3. 30.3 Flip-Tile
      4. 30.4 Iconic-Tile
      5. 30.5 Cycle-Tile
      6. 30.6 Tiles anhand ihrer URI aktualisieren
        1. 30.6.1 Exist-Erweiterung
      7. 30.7 Tiles löschen
      8. 30.8 Typisierung von Tiles
    2. 31 Lockscreen
      1. 31.1 Lockscreen-Nachrichten freischalten
      2. 31.2 Icon spezifizieren
      3. 31.3 Konfiguration des Windows Phone
      4. 31.4 Informationen verwalten
        1. 31.4.1 Erstellen
        2. 31.4.2 Löschen
      5. 31.5 Eigenes Hintergrundbild setzen
    3. 32 Push Notifications
      1. 32.1 Überblick
      2. 32.2 Tile Notifications
        1. 32.2.1 Aufbau der Verbindung
        2. 32.2.2 Push-Nachrichten an das Phone versenden
      3. 32.3 Toast Notifications
      4. 32.4 Raw Notifications
  14. Teil VIII: Agents
    1. 33 Multitasking
      1. 33.1 Unabhängiges Arbeiten mit Agents
      2. 33.2 Einen Agent erstellen
      3. 33.3 Agent einbinden und steuern
    2. 34 Background Audio
      1. 34.1 Musik-Player-UI entwickeln
      2. 34.2 BAPA implementieren
    3. 35 Background-Transfer
  15. Teil IX: Hubs
    1. 36 Den Musik+Video-Hub erweitern
      1. 36.1 App erstellen
      2. 36.2 App testen
    2. 37 Bilder-Hub erweitern
      1. 37.1 Integration in die Hub-Anwendungen-Sektion
      2. 37.2 Integrationspunkt »Versenden«
      3. 37.3 Integrationspunkt »Öffnen mit«
      4. 37.4 Integrationspunkt »Bearbeiten«
    3. 38 Lenses
      1. 38.1 Integration einer App in die Lenses-Auswahl
      2. 38.2 Bildaufnahme
        1. 38.2.1 Kamera initialisieren
        2. 38.2.2 Aufnahmesequenz initialisieren
        3. 38.2.3 Fokussieren
        4. 38.2.4 Bildaufnahme
        5. 38.2.5 Nutzung der Kamerataste
        6. 38.2.6 Sucherbild anzeigen
        7. 38.2.7 Aufgenommenes Bild anzeigen und abspeichern
      3. 38.3 Kameraeinstellungen auslesen und ändern
        1. 38.3.1 Allgemeine Funktionsweise
        2. 38.3.2 Kameraeinstellungen zentral verwalten
          1. Optionswerte kapseln
          2. Optionsarray kapseln
        3. 38.3.3 Gekapselte Kameraeinstellungen nutzen
        4. 38.3.4 Kameraeinstellungen verwenden
      4. 38.4 Weiterführende Informationen
    4. 39 Search Extensibility
  16. Teil X: Spieleentwicklung
    1. 40 DirectX-Spieleentwicklung für das Windows Phone
      1. 40.1 Was ist denn so anders an DirectX?
        1. 40.1.1 Gameloop
        2. 40.1.2 Konsequenzen
      2. 40.2 Das Projekt
        1. 40.2.1 Der erste Schritt
        2. 40.2.2 Das Grundgerüst
        3. 40.2.3 Das DirectX Toolkit
        4. 40.2.4 Texturen
      3. 40.3 Spielmodell
      4. 40.4 Schematischer Start
        1. 40.4.1 Das Spielfeld-Setup
        2. 40.4.2 Grafische Akrobatik mit Pix
        3. 40.4.3 Inputs verarbeiten
        4. 40.4.4 Einfaches HUD
        5. 40.4.5 Künstliche Intelligenzen
      5. 40.5 Grafische Politur
        1. 40.5.1 2D-Tuning
        2. 40.5.2 3D-Tuning
        3. 40.5.3 Das neue HUD
      6. 40.6 Zusammenfassung
  17. Teil XI: App-Architektur mit MVVM
    1. 41 Einführung
    2. 42 Eine App mit MVVM
      1. 42.1 Model – das Datenmodell
      2. 42.2 View Model – der »Kleber«
      3. 42.3 View – die Benutzeroberfläche
        1. 42.3.1 Datenbindung des ItemTemplate
        2. 42.3.2 Der Einsatz von Beispieldaten
    3. 43 Commands
      1. 43.1 Event-To-Command
      2. 43.2 Application Bar – eine Besonderheit
    4. 44 Messages
    5. 45 Seitennavigation im View Model ausführen
  18. Teil XII: Performance
    1. 46 Gründe für Performance-Optimierung
      1. 46.1 Warum Apps ruckeln
    2. 47 Asynchrone Programmierung
      1. 47.1 Asynchrone Programmierung vs. Threading
      2. 47.2 Anatomie der asynchronen Programmierung
      3. 47.3 Tasks und Multithreading
      4. 47.4 Reagieren auf Abschluss von asynchronen Methoden
      5. 47.5 Asynchrone Vorgänge abbrechen
    3. 48 Der Framerate-Counter
    4. 49 Arbeitsspeicherverbrauch messen und verstehen
    5. 50 Profiler
    6. 51 Tipps für schnelle Apps
      1. 51.1 Stringmanipulationen mit StringBuilder
      2. 51.2 Bilder optimieren
      3. 51.3 UI vereinfachen
      4. 51.4 GPU-beschleunigte Animationen bevorzugen
  19. Teil XIII: Gerätekommunikation
    1. 52 Sockets
      1. 52.1 Überblick über Sockets
        1. 52.1.1 Das TCP-Protokoll
        2. 52.1.2 Das UDP-Protokoll
      2. 52.2 TCP-Kommunikation
        1. 52.2.1 TCP-Server starten
        2. 52.2.2 Daten schreiben (Server-Beispiel)
        3. 52.2.3 Client starten
        4. 52.2.4 Daten lesen (Client-Beispiel)
    2. 53 Bluetooth
      1. 53.1 Überblick
      2. 53.2 Verbindungsbereitschaft signalisieren
      3. 53.3 Verbindungspartner auflisten
    3. 54 NFC
      1. 54.1 Überblick
      2. 54.2 Verbindung herstellen
  20. Teil XIV: Marketplace – App vertreiben
    1. 55 Überblick über die Leistungen
    2. 56 Testgeräte
      1. 56.1 Testgerät registrieren
      2. 56.2 Testgeräte verwalten
    3. 57 Möglichkeiten der App-Vermarktung
    4. 58 In-App-Purchase
      1. 58.1 Ablauf eines In-App-Kaufes
      2. 58.2 In-App-Produkte definieren
      3. 58.3 Produkte abrufen
      4. 58.4 Produktkauf durchführen
      5. 58.5 In-App-Käufe testen
        1. 58.5.1 In-App-API simulieren
        2. 58.5.2 Beta-App für Live-Test
      6. 58.6 Produkte wiederherstellen
    5. 59 Wallet
      1. 59.1 Mitgliedschaftskarten verwalten
        1. 59.1.1 Mitgliedschaftskarte anlegen
      2. 59.2 Mitgliedschaftskarte auslesen und aktualisieren
      3. 59.3 Deals verwalten
        1. 59.3.1 Deals hinzufügen zur Wallet
        2. 59.3.2 Arbeiten mit Deals
      4. 59.4 Weitere Nutzungsmöglichkeiten
    6. 60 Das Advertising SDK für Apps verwenden
      1. 60.1 Das AdControl
      2. 60.2 Richtlinien für Werbeanzeigen
    7. 61 Die App zertifizieren für die Veröffentlichung
      1. 61.1 Notwendige Ressourcen erstellen
      2. 61.2 Zertifizierungsrichtlinien überprüfen
      3. 61.3 Anwendung zur Zertifizierung einreichen
  21. Teil XV: Eine App zum Nachmachen
    1. 62 App zur Aktienverwaltung
      1. 62.1 Planung
        1. 62.1.1 Die Vision – Epic
        2. 62.1.2 User Stories
        3. 62.1.3 Anforderungen mithilfe von Backlogs organisieren
      2. 62.2 Realisierung
        1. 62.2.1 App-Struktur
          1. Aktienkurse
          2. Aktienkurse.Controls
          3. Aktienkurse.DataService
          4. Phone.Helpers
    2. 63 Unit Testing
      1. 63.1 Einführung
      2. 63.2 Das Testprojekt
      3. 63.3 Den ersten Test spezifizieren
      4. 63.4 Implementierung der Tests
      5. 63.5 Hürden meistern mittels Fakes
      6. 63.6 Erwartete Exceptions testen
  22. Quellenverzeichnis
  23. Index
  24. Fußnoten
    1. Vorwort
    2. Kapitel 3
    3. Kapitel 5
    4. Kapitel 6
    5. Kapitel 9
    6. Kapitel 15
    7. Kapitel 17
    8. Kapitel 22
    9. Kapitel 34
    10. Kapitel 40
    11. Kapitel 49