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 7.5

Book Description

• kompaktes Wissen zum Development auf dem WP7.5• Schneller Einstieg mit steiler Lernkurve• Viele Praxisbeispiele zum Nachschlagen• End-To-End Lösung zum Nachprogrammieren• Tutorials auf DVD

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort
  5. Danksagung
  6. Inhaltsverzeichnis
  7. 1. Einleitung
    1. 1.1 Microsofts Neustart mit Windows Phone 7
    2. 1.2 Metro und Hubs
      1. 1.2.1 Metro
      2. 1.2.2 Hubs
    3. 1.3 Apps entwickeln: Überblick über die Laufzeitumgebung, Silverlight und XNA
  8. 2. Die Werkzeugkiste – die Developer-Tools
    1. 2.1 Installation
    2. 2.2 Visual Studio for Windows Phone
      1. 2.2.1 Willkommen – der Startscreen
      2. 2.2.2 Explorer für Projektvorlagen
      3. 2.2.3 Anpassen Ihrer Arbeitsumgebung
      4. 2.2.4 Die Toolbox
      5. 2.2.5 Eigenschaftenfenster
      6. 2.2.6 Der Projektmappen-Explorer
      7. 2.2.7 Der Codeeditor
      8. 2.2.8 Erweiterungen – der Extension Manager
    3. 2.3 Expression Blend for Windows Phone
      1. 2.3.1 Arbeitsumgebung
      2. 2.3.2 Eigenschaftenfenster
    4. 2.4 Der Emulator
  9. 3. Grundlagen
    1. 3.1 Die erste App
      1. 3.1.1 Das erste Projekt anlegen
      2. 3.1.2 Die Projektstruktur erläutert
      3. 3.1.3 MainPage.xaml – die Standardseite
      4. 3.1.4 Eine Seite designen
      5. 3.1.5 Programmlogik hinzufügen
      6. 3.1.6 Anwendung ausführen und testen
      7. 3.1.7 Hoch- und Querformat unterstützen
    2. 3.2 Ändern der Startseite in einem Windows-Phone-Projekt
    3. 3.3 Controls als App-Bausteine
      1. 3.3.1 Layoutcontainer
        1. 3.3.1.1 Beispiel
      2. 3.3.2 Content-Controls
      3. 3.3.3 Items-Controls
      4. 3.3.4 Geometrische Formen
      5. 3.3.5 Controls kennenlernen mit MSDN
    4. 3.4 Touchgesten
      1. 3.4.1 Was sind Gesten?
      2. 3.4.2 Gesten in Silverlight
      3. 3.4.3 Ereignisbehandlung von Gesten in Silverlight
      4. 3.4.4 Verwenden von Gesten mit dem GestureService
    5. 3.5 Seitennavigation
      1. 3.5.1 Navigieren zwischen Seiten
        1. 3.5.1.1 Navigieren mit HyperlinkButton
        2. 3.5.1.2 Navigieren mit NavigationService
      2. 3.5.2 Lebenszyklus einer Seite
      3. 3.5.3 Datenübergabe zwischen Seiten
        1. 3.5.3.1 Datenübergabe mit QueryString
        2. 3.5.3.2 Selbst definierte Datenübergabe
      4. 3.5.4 Den Status einer Seite sichern
      5. 3.5.5 Beispiel BMI-Rechner
      6. 3.5.6 Zirkuläre Navigation
    6. 3.6 Überblick über den Lebenszyklus
      1. 3.6.1 Auf Statusänderungen einer App reagieren
      2. 3.6.2 App- und Seitenlebenszyklus verstehen
      3. 3.6.3 App-Statusinformationen sichern
  10. 4. Styles und Templates
    1. 4.1 Silverlight-Ressourcen
      1. 4.1.1 Ressourcen definieren
      2. 4.1.2 Ressourcen anwenden
      3. 4.1.3 Das Auflösen von Ressourcen
    2. 4.2 Styles
      1. 4.2.1 Styles definieren
      2. 4.2.2 Styles anwenden
      3. 4.2.3 Style-Hierarchien aufbauen
      4. 4.2.4 Implizite Styles
    3. 4.3 Templates
      1. 4.3.1 Ein einfaches Templates
      2. 4.3.2 Templates anwenden
      3. 4.3.3 Zustandsänderungen berücksichtigen
  11. 5. Das Erstellen eigener Steuerelemente
    1. 5.1 User-Controls
    2. 5.2 Custom-Controls
    3. 5.3 Fazit
  12. 6. Programmierung
    1. 6.1 Application Bar – Features unter Dach und Fach
      1. 6.1.1 Die Application Bar im Detail
      2. 6.1.2 Eine AppBar definieren
      3. 6.1.3 AppBar-Aktion definieren
      4. 6.1.4 AppBar und WP7 Themes
      5. 6.1.5 AppBar wiederverwenden
    2. 6.2 Dynamische Inhalte mittels DataBinding
      1. 6.2.1 Datenflüssse bei der Bindung von Daten
      2. 6.2.2 Datenbindungen aktualisieren
      3. 6.2.3 Arbeiten mit Templates
        1. 6.2.3.1 Implementierung des User-Control
        2. 6.2.3.2 Datenbindung für User-Controls ermöglichen
      4. 6.2.4 Das Model
      5. 6.2.5 Das ViewModel
      6. 6.2.6 Die View
      7. 6.2.7 Konvertierungen bei Datenbindungen
      8. 6.2.8 »Startet die Maschinen«
    3. 6.3 Choosers
      1. 6.3.1 Was ist ein Chooser?
      2. 6.3.2 Übersicht
      3. 6.3.3 Verwendung
      4. 6.3.4 Beispiel – CameraChooserTask
    4. 6.4 Launchers
      1. 6.4.1 Was ist ein Launcher?
      2. 6.4.2 Übersicht
      3. 6.4.3 Beispiel – integrierte soziale Dienste
    5. 6.5 Isolated Storage
      1. 6.5.1 App-Einstellungen sichern und laden
      2. 6.5.2 Dateien schreiben
      3. 6.5.3 Dateien lesen
      4. 6.5.4 Hinweise zum Isolated Storage
      5. 6.5.5 Objekte serialisieren
    6. 6.6 SQL Compact Server
      1. 6.6.1 Überblick
      2. 6.6.2 Am Beispiel erklärt – Der »MOVIE MANAGER«
      3. 6.6.3 Die Definition des Datenmodells
        1. 6.6.3.1 Datenklassen definieren
        2. 6.6.3.2 Datenkontext definieren
      4. 6.6.4 Ein erster Datenbankzugriff
      5. 6.6.5 Relationen modellieren
      6. 6.6.6 Verzögerte Ausführung
      7. 6.6.7 Best Practices
        1. 6.6.7.1 Optimieren durch Schnittstellenimplementierung
        2. 6.6.7.2 Verwenden einer Versionsspalte
        3. 6.6.7.3 Readonly-Szenarien optimieren
      8. 6.6.8 Datenbankschema versionieren
    7. 6.7 Keine Chance den Bugs! – Debugging
      1. 6.7.1 Hilfswerkzeug Nummer eins – der Debugger
        1. 6.7.1.1 Haltepunkte einsetzen
      2. 6.7.2 DataTips für eigene Objekte anpassen
      3. 6.7.3 Eigene Debug-Informationen
      4. 6.7.4 Bedingte Kompilierung
    8. 6.8 Programmierbare Sensoren
      1. 6.8.1 Von Breiten- und Längengraden
        1. 6.8.1.1 Überblick
        2. 6.8.1.2 Ortsinformationen abfragen
        3. 6.8.1.3 Location Data emulieren
        4. 6.8.1.4 Visualisierung von Geodaten
      2. 6.8.2 Accelerometer
      3. 6.8.3 Fühlbares Feedback durch Gerätevibration
      4. 6.8.4 Verwendung des FM-Radios
      5. 6.8.5 Orientierung behalten – der Kompass
      6. 6.8.6 Wie schnell drehst du dich? – Das Gyroskop
      7. 6.8.7 Combined Motion API
    9. 6.9 Push Notifications
      1. 6.9.1 Überblick
      2. 6.9.2 Tile Notifications
        1. 6.9.2.1 Aufbau der Verbindung
        2. 6.9.2.2 Push-Nachrichten an das Phone versenden
      3. 6.9.3 Toast Notifications
      4. 6.9.4 Raw Notifications
    10. 6.10 Apps mehrsprachig gestalten
      1. 6.10.1 Grundlagen
      2. 6.10.2 Internationalisierung durchführen
      3. 6.10.3 Lokalisierung
      4. 6.10.4 Zugriff auf Ressourcendateien mittels Binding
  13. 7. Fortgeschrittene Programmierung
    1. 7.1 Multitasking – das System macht mehr
      1. 7.1.1 Unabhängiges Arbeiten mit Agents
        1. 7.1.1.1 Einen Agent erstellen
        2. 7.1.1.2 Agent einbinden und steuern
      2. 7.1.2 Der eigene Musik-Player dank Background Audio Playback Agent
        1. 7.1.2.1 Überblick
        2. 7.1.2.2 Musik-Player-UI entwickeln
        3. 7.1.2.3 BAPA implementieren
      3. 7.1.3 HTTP-Operationen im Hintergrund: Background-Transfer
    2. 7.2 Integration und Erweiterung von Hubs
      1. 7.2.1 Integrationspunkte im Überblick
      2. 7.2.2 Den Musik+Video-Hub erweitern
        1. 7.2.2.1 App erstellen
        2. 7.2.2.2 App testen
      3. 7.2.3 Bilder-Hub erweitern
        1. 7.2.3.1 Bilder-App entwickeln
        2. 7.2.3.2 App in Bilder-Hub integrieren
      4. 7.2.4 Bing-Suche erweitern
    3. 7.3 Architektur als Grundlage komplexer Apps
      1. 7.3.1 Einführung
      2. 7.3.2 Eine App mit MVVM
        1. 7.3.2.1 Model – das Datenmodell
      3. 7.3.3 View Model – der »Kleber«
      4. 7.3.4 View – die Benutzeroberfläche
        1. 7.3.4.1 Datenbindung des ItemTemplate
        2. 7.3.4.2 Der Einsatz von Beispieldaten
      5. 7.3.5 Commands
      6. 7.3.6 Event-To-Command
      7. 7.3.7 Messages
      8. 7.3.8 Application Bar – Eine Besonderheit
    4. 7.4 Seitennavigation im View Model ausführen
    5. 7.5 Performance-Tuning
      1. 7.5.1 Performance hat viele Faktoren
      2. 7.5.2 Warum Apps ruckeln
      3. 7.5.3 Der Framerate-Counter
      4. 7.5.4 Arbeitsspeicherverbrauch messen und verstehen
      5. 7.5.5 Performance messen – der Profiler
      6. 7.5.6 Tipps für performantere Programme
        1. 7.5.6.1 Tipp #1: Niemals den UI-Thread blockieren
        2. 7.5.6.2 Tipp #2: Stringmanipulationen mit StringBuilder
        3. 7.5.6.3 Tipp #3: Bilder optimieren
        4. 7.5.6.4 Tipp #4: UI vereinfachen
        5. 7.5.6.5 Tipp #5: GPU-beschleunigte Animationen bevorzugen
  14. 8. XNA-Spieleentwicklung für das Windows Phone
    1. 8.1 Was ist denn so anders an XNA?
      1. 8.1.1 Gameloop
      2. 8.1.2 Konsequenzen
    2. 8.2 Das Projekt
      1. 8.2.1 Der erste Prototyp
      2. 8.2.2 Spielekomponenten
      3. 8.2.3 Spielmodell
    3. 8.3 Schematischer Start
      1. 8.3.1 Das Spielfeld-Setup
      2. 8.3.2 Grafische Akrobatik mit Pix
      3. 8.3.3 Inputs verarbeiten
      4. 8.3.4 Einfaches HUD
      5. 8.3.5 Künstliche Intelligenzen
    4. 8.4 Grafische und akustische Politur
      1. 8.4.1 Sounds
      2. 8.4.2 Musik
      3. 8.4.3 2D-Tuning
      4. 8.4.4 3D-Tuning
    5. 8.5 Silverlight-Integration
      1. 8.5.1 Wie funktionierts?
      2. 8.5.2 XNA-Ressourcen importieren
      3. 8.5.3 Das neue HUD
    6. 8.6 Multiplayer
      1. 8.6.1 Wie funktionierts?
      2. 8.6.2 Etwas Client/Server-Theorie
      3. 8.6.3 Ein eigenes Netzwerkprotokoll
      4. 8.6.4 Implementierung
        1. 8.6.4.1 Kommunkation
        2. 8.6.4.2 Game-Integration
        3. 8.6.4.3 User Interface
    7. 8.7 Zusammenfassung
  15. 9. Komplexes Beispiel
    1. 9.1 Planung
      1. 9.1.1 Die Vision – Epic
      2. 9.1.2 User Stories
      3. 9.1.3 Anforderungen mithilfe von Backlogs organisieren
    2. 9.2 Realisierung
      1. 9.2.1 App-Struktur
        1. 9.2.1.1 Aktienkurse
        2. 9.2.1.2 Aktienkurse.Controls
        3. 9.2.1.3 Aktienkurse.DataService
        4. 9.2.1.4 Phone.Helpers
    3. 9.3 Testen der App
      1. 9.3.1 Einführung
      2. 9.3.2 Das Testprojekt
      3. 9.3.3 Den ersten Test spezifizieren
      4. 9.3.4 Implementierung der Tests
      5. 9.3.5 Hürden meistern mittels Fakes
      6. 9.3.6 Erwartete Exceptions testen
  16. 10. Die Anwendung vertreiben – das App-Hub-Portal
    1. 10.1 Überblick über die Leistungen
    2. 10.2 Testgeräte
      1. 10.2.1 Testgerät registrieren
      2. 10.2.2 Testgeräte verwalten
    3. 10.3 Möglichkeiten der App-Vermarktung
    4. 10.4 Konsum für Sie! – Das Advertising SDK für Apps verwenden
      1. 10.4.1 Einsatz des AdControl
      2. 10.4.2 Richtlinien für Werbeanzeigen
    5. 10.5 Die App zertifizieren für die Veröffentlichung
      1. 10.5.1 Notwendige Ressourcen erstellen
      2. 10.5.2 Zertifizierungsrichtlinien überprüfen
      3. 10.5.3 Anwendung zur Zertifizierung einreichen
  17. 11. Schlusswort
  18. Quellenverzeichnis
  19. Index
  20. Fußnoten
    1. Vorwort
    2. Chapter 1
    3. Chapter 2
    4. Chapter 3
    5. Chapter 6
    6. Chapter 7