Windows Phone 7.5 (Mango)



Hasonló dokumentumok
Előszó Bevezetés a Windows Phone platform-ba... 13

Előszó A Windows alkalmazásfejlesztés rövid története A Windows életútja A Windows 8 paradigmaváltása... 16

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Eseményvezérelt és objektumorientált programozás


A szerzőkről... xix A műszaki szaklektorról... xiv Köszönetnyilvánítás... xiv A könyvről... xx

A Kiadó előszava... xvii. Köszönetnyilvánítás... xix. Bevezetés... xxi. I. rész: Bevezetés a Silverlight 3 programozásába

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

JavaScript Web AppBuilder használata

OOP és UML Áttekintés

Programozási környezetek

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

API tervezése mobil környezetbe. gyakorlat

Windows Phone fejlesztés lépésről lépésre

Microsoft SQL Server telepítése

UI megismerése, különböző felbontások támogatása, használati jogok kérése

SQLServer. SQLServer konfigurációk

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Web-fejlesztés NGM_IN002_1

Tisztelt Felhasználó!

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

Windows Phone 7 alapú szoftverfejlesztés ZH kérdések összefoglaló

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

KIRA. KIRA rendszer. Telepítési útmutató v1

JavaServer Pages (JSP) (folytatás)

Zimbra levelező rendszer

MVC. Model View Controller

Entity Framework alapú adatbáziselérés 2

Szoftver fő funkciói. Diszpécser rádió GPS nyomkövetés Adatátvitel és tárolás Telefonhívások kezelése 1 / 7

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Webshop készítése ASP.NET 3.5 ben I.

Tartalomjegyzék. Előszó... xiii Bevezetés... xv. 1. Ismerkedés a Windows 7-tel Integráció a Windows 7 tálcájával: az alapszolgáltatások...

Thermo1 Graph. Felhasználói segédlet

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

Dropbox - online fájltárolás és megosztás

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Access adatbázis elérése OLE DB-n keresztül

SAMSUNG SSM-8000 szoftvercsomag

Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával

BusEye online személyre szabott utastájékoztató mobil alkalmazás fejlesztése

Okostelefonok az idősek szolgálatában. Sulyok Tamás

Felhasználói útmutató CVR mobil kliens, ios rendszerhez.

SZÁMLA KONTROLL PUSH ÜZENET GYAKORI KÉRDÉSEK

NSR TAO rendszer használatához kiadott tanúsítvány megújításának lépései

Webleltár rendszer. Készítette: ABACOM Kft november. Abacom Kft.

OZEKI Phone System. 4 elengedhetetlen szolgáltatás a jövőbeli vállalati telefonos rendszerek számára. A jövő üzleti telefon rendszere SMS

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Adattárolás Szenzorok

Entity Framework alapú adatbáziselérés

Földmérési és Távérzékelési Intézet

TERC V.I.P. hardverkulcs regisztráció

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

SQLServer. Particionálás

Entity Framework alapú adatbáziselérés

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Google Maps használata OSM, mint alternatív térkép

UI megismerése - 2. rész Adattárolás

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Játékfejlesztés a Windows Phone 7 erejével

Használati utasítás.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

QLink Universal SOFTPHONE - TELEPÍTÉSI ÚTMUTATÓ

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

Mobil Informatikai Rendszerek

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Számla kontroll Push üzenet szolgáltatás Gyakori kérdések

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Protection Service for Business. Az első lépések Android-készülékeken

Tartalomjegyzék. Bevezetés. 1. A.NET 3.5-keretrendszer 1. A korszerű alkalmazások felépítésének kihívásai... 2

BIRDIE. Business Information Reporter and Datalyser. Előadó: Schneidler József

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

e-szignó Online e-kézbesítés Végrehajtási Rendszerekhez

Tegyünk nagyszerű dolgokat!

TKSTAR APPLIKÁCIÓ BEMUTATÁSA

Erőforrás gazdálkodás a bevetésirányításban

ANDROID ALKALMAZÁSFEJLESZTÉS

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Java és web programozás

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

Mobil Informatikai Rendszerek

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Hálózati betekint ő program telepítése mobil telefonra. Symbian. alarm shop. Windows mobile Android IPhone Blackberry

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

Vizuális programozás gyakorlat

Android Commander Felhasználói kézikönyv

ALKALMAZÁSOK ISMERTETÉSE

Felhasználói Útmutató. Center V2

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet Szedjük szét a számítógépet 2.

<Insert Picture Here> Migráció MS Access-ről Oracle Application Express-re

A mobil alkalmazás. Felhasználói útmutató - Android

Átírás:

Windows Phone 7.5 (Mango) Mobilalkalmazás fejlesztés lépésről lépésre Előadó: Barabás Péter Általános Informatikai Tanszék Miskolci Egyetem

Témák Windows Phone platorm Silverlight alapok MVVM modell MVVM Light Toolkit View Alapvető WP7 vezérlők Adatkötés Térképek Navigáció Figyelmeztetések, riasztások

Témák II. Telefonos funkciók Érintőképernyő használata Gyorsulásérzékelő Giroszkóp Iránytű Adatkezelés Lapkák Push Notifications

Windows Phone platform Előírások: Fizikai gombok: Back, Home, Search Kijelző: min. 800x480 Kapacitív Min. 4 pontos érintés Hálózati jellemzők: Mobil adathálózatok kezelése WiFi támogatás Memória: Min. 256MB operatív memória Adattárolásra: min 8GB flash egység Navigáció: assisted-gps Mozgásérzékelés: gyorsulásmérő

Windows Phone platform II. Opcionális hardverek: Iránytű Giroszkóp Hátsó kamera Előlapi kamera Részek: Futtatókörnyezet (Silverlight, XNA) Integráció felhővel Marketplace portál szolgáltatások Fejlesztőeszközök

Futtatókörnyezet felépítése

Integráció a felhővel Értesítések: push notifications Térképszolgáltatások Közösségi hálózatok Xbox Live szogáltatások

Marketplace portálszolgáltatások Regisztráció fejlesztőknek Alkalmazások közzététele

Fejlesztőeszközök Visual Studio 2010 Express for Windows Phone Windows Phone Emulator Expression Blend for Windows Phone Segédprogramok: Resharper 6 MVVM Light Toolkit

Silverlight, WPF, XAML Windows Forms korlátok WPF Silverlight: böngészők, WP7 XAML: deklaratív UI leírás <Button Content="Hello World"/> <Button> <Button.Content> <StackPanel> <Ellipse Fill="Red" Width="10" Height="10"/> <TextBlock Text="Hello World"/> </StackPanel> </Button.Content> </Button>

WP7 Projekt szerkezete Properties: Az alkalmazás tulajdonságait és beállításait tartalmazó állományok References: Hivatkozott egyéb könyvtárak App.xaml (App.xaml.cs): Az alkalmazást reprezentáló objektum és a mögöttes kódja ApplicationIcon.png: A lapkához tartozó kép Background.png: Az alkalmazás háttérképe MainPage.xaml (MainPage.xaml.cs): Az alkalmazás főoldala és a kapcsolódó mögöttes kód SplashScreenImage.png: Induláskor megjelenő, töltési idő alatt látható kép

WMAppManifest.xml Alapbeállítások Capabilities Mihez férjen hozzá az alkalmazás Induló oldal Leíró információk

MVVM modell

Panorama vezérlő

Pivot vezérlő Windos Phone saját Tab vezérlője Önálló, elkülönített nézetek egymás mellett navigációval Menüelem fejléc érintéssel Horizontális mozgatással Nem egy nagy téren helyezkednek el

Alapvető WP7 vezérlők Elrendezés-vezérlők: Grid, Convas, StackPanel Parancsvezérlők: Button, HyperlinkButton Checkbox, RadioButton, Szövegmegjelenítési vezérlők: TextBlock, RichTextBox Szövegbeviteli vezérlők: TextBox InputScope (virtuális billentyűzet) PasswordBox Listavezérlők ListBox

Adatkötés (Binding) Megvalósítások INotifyPropertyChanged interfész DependencyObject ősosztály DataContext megadás View ViewModel kötése Converterek UI Elemek közötti adatkötés StaticResource-ök

Adatmegjelenítés testreszabása Listbox esetén: Egyszerűbb esetben: DisplayMemberPath Összetett objektum megjelenítés esetén: ItemsSource kötése listához (ObservableCollection) ListBox.ItemTemplate megadása DataTemplate benne tetszőleges vezérlők

Témák használata Stílusok, alapbeállítások definiálása App.xaml-be tehetjük, vagy inkludálhatjuk Silverlight erőforrásként definiálja az alapbeállításokat Adatkötésben is szerepelhetnek Új project létrehozásánál template alapján a xaml-ben láthatóak ilyen erőforrások

Térképek kezelése Bing Maps Feliratkozás a szolgáltatásokra: https://www.bingmapsportal.com/ Live ID kell hozzá Szabályok: Nem írhatunk valós idejű navigációt megvalósító alkalmazást. A programunk nem működhet együtt más térképszolgáltatásokkal. A közlekedési adatok nem használhatók televízió, rádió, újság, azaz média esetében. Nem tárolhatunk közlekedési adatokat. Nem használhatunk pornográf pushpineket.

Térképek kezelése II. Map CredentialProvider: API key Center ZoomLevel, ZoomBarVisibility Mode: Road, Aerial PushPinek: POI, helyek Location Background, tetszőleges tartalom Rétegek: MapLayer ObservableCollection alkalmazása

Egyéb szolgáltatások Geocode service http://dev.virtualearth.net/webservices/v1/geo codeservice/geocodeservice.svc Route service http://dev.virtualearth.net/webservices/v1/rout eservice/routeservice.svc Search service http://dev.virtualearth.net/webservices/v1/sear chservice/searchservice.svc

Útvonaltervezés RouteOptions RoutePathType, Optimization, TrafficUsage, Mode Waypoint lista létrehozása RouteRequest Credentials + RouteOptions + Waypoints MapPolyline FELADAT: térkép készítése útvonallal

Navigáció HyperlinkButton NavigationService GoBack() Navigate(Uri) Navigating Navigated CurrentSource Source CanGoBack NavigationContext QueryString: kulcs-érték párok BackStack (history) RemoveBackEntry FELADAT: előző példa kiegészítése főmenü oldallal, paraméter átadás

Alkalmazás élteciklusa

Alkalmazás állapotok Mentés, helyreállítás Dormant Activated: nincs teendő IsApplicationInstancePreserved Nem dormant állapot esetén PhoneApplicationService: Dictionary<T> Deactived esetén automatikusan menti Végleges mentés: IsolatedStorage-ben DataContract, XML, SQLServer CE

IsolatedStorage IsolatedStorageFile Itt hozhatunk létre saját mappákat, fájlokat IsolatedStorageFileStream File.CreateFile, File.OpenFile DataContractSerializer

Figyelmeztetések, riasztások Alarm Content BeginTime ExpirationTime RecurrenceType Sound ScheduledActionService.Add ScheduledActionService.Find ScheduledActionService.Remove

Adatok letöltése a háttérben BackgroundTransferService BackgroundTransferRequest DownloadLocation TransferPreferences Allow cellular and battery Korlátok: Feltöltés: max 5MB Letöltés mobil csatornán: 20MB Letöltés WiFi-n: 100MB

Alapvető telefonos funkciók Launcher-ek EmailComposeTask : E-mail üzenet írása és küldése MediaPlayerLauncher: vmegadott média (video / audio) lejátszása PhoneCallTask: Telefonhívás indítása SmsComposeTask: SMS írása WebBrowserTask: Böngésző indítása SearchTask: Webes keresés MarketplaceDetailTask: Alkalmazás részleteinek mutatása a Marketplace kliensben MarketplaceHubTask: Marketplace kliens indítása MarketplaceReviewTask: Vélemény írása alkalmazásunkról a Marketplace-re MarketplaceSearchTask: Keresés indítása a Marketplace kliensben

Alapvető telefonos funkciók II. Chooserek: SavePhoneNumberTask: Telefonszám mentése a kapcsolatok tárába SaveContactTask: Új partner felvétele a kapcsolatlistára SaveEmailAddressTask: E-mail cím mentése a kapcsolatok tárába EmailAddressChooserTask: E-mail cím kiválasztása kapcsolatlistánkról AddressChooserTask: Cím kiválasztása kapcsolatlistánkról CameraCaptureTask: Kép készítése alkalmazásunk számára PhoneNumberChooserTask: Telefonszám kiválasztása kapcsolatlistánkról PhotoChooserTask: Fénykép kiválasztása a fényképtárból SaveRingtoneTask: Csengőhang mentése GameInviteTask: Több résztvevős játékokban a partnerek meghívását teszi lehetővé

Alapvető telefonos funkciók III.

Adatok megosztása alkalmazások között PhoneDataSharingContext Contacts Accounts, Addresses, Birthdays, Children, Companies, CompleteName, DisplayName, EmailAddresses, IsPinnedToStart, Notes, PhoneNumbers, SignificantOthers, Websites, GetPicture() Appointments Account, Attendies, Details, StartTime, EndTime, IsAllDayEvent, IsPrivate, Location, Organizer, Status, Subject

Érintőképernyő kezelése Tap DoubleTap Hold Multitouch manipulációk ManipulationStarted ManipulationDelta ManipulationCompleted Nyers adatok kezelése Touch.FrameReported TouchFrameEventArgs: SuspendMousePromotionUntilTouchUp GetPrimaryTouchPoints GetTouchPoints

Helymeghatározás GeoCoordinateWatcher PositionChanged: ha változik a koordináta Beállítások: MovementThreshold DesiredAccuracy: Default, High GeoCoordinate: Latitude, Longitude, Altitude Timestamp Horizontal-, VerticalAccuracy Course Speed Start, Stop

Helyzetmeghatározás Accelerometer IsSupported CurrentValueChanged SensorReadingEventArgs<AccelerometerReading> SensorReading TimeStamp Acceleration: X,Y,Z AccelerateGame feladat

Giroszkóp használata Gyroscope IsSupported TimeBetweenUpdates CurrentValueChanged SensorReadingEventArgs: GyroscopeReading Start, Stop

Iránytű használata Compass IsSupported CurrentValueChanged SensorReadingEventArgs: CompassReading MagneticHeading: mágneses északi sarkhoz képest TrueHeading: geográfiai északi sarkkal MagnetometerReading: Vector3 (X,Y, Z) tengelyeken mérhető microtesla HeadingAccuracy: mérés pontatlanság fokban Calibrate esemény Start, Stop

Adatkezelés IsolatedStorage ApplicationSettings File IO Lokális adatbázisok (SQL Server CE)

ApplicationSettings IsolatedStorageSettings.ApplicatioSettings Dictionary<Tkey, Tvalue> szótár Új érték létrehozása: Add Létező kulcs esetén: System.ArgumentException Indexer Létező kulcs esetén felülírás Érték lekérdezés: Indexer KeyNotFound nem létező kulcs esetén TryGetValue<T> Nincs hiba. Contains Save(), Remove(kulcsérték), Clear()

IsolatedStorageFileStream IsolatedStorageFile GetUserStoreForApplication StreamWriter StreamReader Tulajdonságok: AvailableFreeSpace, IsEnabled, Quota, UsedSize Metódusok: CopyFile, CreateDirectory, CreateFile, DeleteDirectory, DeleteFile, DirectoryExist, FileExist, GetCreationTime, GetDirectoryNames, GetFileNames, GetLastAccessTime, GetUserStoreForApplication, MoveDirectory, MoveFile, OpenFile, Remove Jegyzetkészítő feladat.

Lokális adatbázisok LINQ to SQL DataContext Table attribútum [Table(Name="Countries")] public class Country { }

Lokális adatbázisok II. Adatbázis létrehozása: using (CustomerDataContext db = new CustomerDataContext("isostore:/Customer.sdf")) { if (!db.databaseexists()) { db.createdatabase(); } } SQL Server Management Studio 2008 Express SQLMETAL Model generálása sdf-ből Csak olvasható: IsoStore-ba kell másolni, ha írni is akarjuk

INSERT Adatok felvitele Customer mycust = new Customer() { CustomerID = 1, CompanyName = ME", ContactName = Barabás Péter", City = "Budapest" }; db.customers.insertonsubmit(mycust); db.submitchanges();

SELECT Adatok lekérdezése var result = from c in db.customers select c; var result = db.customers.select(s => s); var result = from c in db.customers where c.city == "Budapest" select c; var result = db.customers.where(s => s.city == "Budapest"); var result = from c in db.customers orderby c.city select c; var result = db.customers.orderby(s => s.city);

UPDATE Adatok módosítása var result = from c in db.customers select c; foreach (var item in result) { item.city = "Seattle"; } db.submitchanges();

DELETE Adatok törlése var selecteditem = (from c in db.customers where c.customerid == 1 select c).first(); db.customers.deleteonsubmit(selecteditem); db.submitchanges();

Adatok biztonsága CustomerDataContext db = new CustomerDataContext("Data Source='isostore:/Customer.sdf'; Password='Pa$$word1'"); if (!db.databaseexists()) { } db.createdatabase();

Lapkák Statikus, dinamikus Kiszögezés Csak a felhasználó (elsődleges) Marketplace deploy során ellenőrzés Felépítés: Első felület: Háttérkép, Cím, Számláló Hátsó felület: Háttérkép, Cím, Tartalom Méret: 173x173 pixel

Lapkák II. Elsődleges lapkák Másodlagos lapkák Alkalmazásból kitűzhető Deep Linking (Uri query string) Uri-knak külünböznie kell ShellTile API ActiveTiles StandardTileData Update() Create()

Lapkák frissítése ShellTileSchedule Background Agent WP Scheduled Task Agent PeriodicTask 25s/30perc ResourceIntensiveTask 10perc folyamatos bizonyos feltételek mellett periodictask = new PeriodicTask(periodicTaskName); periodictask.description = "This is the Tile Updater sample."; try { ScheduledActionService.Add(periodicTask); } catch (Exception ex) { } MessageBox.Show(ex.Message);

Felugró értesítések Csak alkalmazáson kívül OnInvoke(): ShellToast toast = new ShellToast(); toast.title = "Értesítés"; toast.content = "Az üzenet tartalma"; toast.show();

Push Notifications 1. Alkalmazásunk jelzi a telefon felé, hogy szeretne push üzeneteket fogadni. 2. A telefon operációs rendszerének részét alkotó Push kliens az interneten át közli ezt a szándékot az MPNS-szel. Az MPNS egy publikus URL-t állít elő, és vállalja, hogy az ide érkező üzeneteket továbbítja a telefonnak. Ezt az URL-t pedig visszaküldi a Push kliensnek, aki visszaadja az alkalmazásuknak. 3. Alkalmazásunknak ezt az URL-t közölnie kell a szerverünkkel. Erre tetszőleges kommunikációs forma használható. Érdemes webszolgáltatásokkal megoldani, amikről a 9. fejezetben bővebben esik szó. 4. Ha szerverünk ezután bármikor üzenni szeretne a telefonnak, akkor erre az URL-re küldi el üzenetét. Ezt az MPNS kapja meg, és továbbítja a készülék felé.

Push Notifications II. Kérni kell a felületen Max. 30 csatorna/telefon Max. 1 csatorna/alkalmazás Max. 500 üzenet/nap/telefon (HTTP) Üzenettípusok: Lapkafrissítés Felugró értesítések Raw üzenet

Köszönöm a figyelmet!