Windows Phone-apper som bruker levende fliser, autentiserer brukere med enkelt pålogging og deling av data mellom enheter og brukere bruker vanligvis skygtjenester. De fleste skyplattformer tilbyr generelle formål å lagre data og utføre kode, men du må legge til mye infrastruktur kode for å lim disse evnene sammen. Azure Mobile Services lar deg legge til skygtjenester i appen din på få minutter.
Denne opplæringen viser hvordan du legger til en backend-tjeneste til en Windows Phone-app ved hjelp av Azure Mobile Services. Du vil opprette en ny mobiltjeneste og en enkel å gjøre app som lagrer dataene i skyen ved hjelp av den nye mobiltjenesten. I denne opplæringen lærer du hvordan du:
For å følge med meg, trenger du en Windows Azure-konto. Du kan registrere deg for en Windows Azure-prøve hvis du ikke har en konto enda.
Vi må først opprette en ny mobiltjeneste som kan brukes av Windows Phone-appen. Mobiltjenesten du vil opprette i denne opplæringen, er en JavaScript-backend-mobiltjeneste. Det lar deg bruke JavaScript for server-side forretningslogikk. Følg disse trinnene for å opprette en ny mobiltjeneste ved hjelp av Azure Management Portal.
Logg inn på Azure Management Portal og klikk på NY knappen i navigeringslinjen. Utvide Beregn> Mobil tjeneste og klikk Skape.
I Ny mobil tjeneste veiviseren, velg en gratis 20 MB SQL-database eller bruk en av dine eksisterende databaser. Å velge Javascript fra Baksiden menyen og skriv inn et underdomene for den nye mobiltjenesten i URL tekstboks.
Merk at navnet på mobiltjenesten må være unikt. En feil vises ved siden av URL når navnet / underdomenet du skrev inn ikke er tilgjengelig.
Når du oppretter en ny mobiltjeneste, blir den automatisk knyttet til en SQL-database. Bakgrunnen for Azure Mobile Services gir deretter innebygd støtte for at fjernapper kan lagre og hente data fra den uten å måtte skrive eller distribuere en egendefinert serverkode.
For å konfigurere databasen, skriv inn navnet på databasen i Navn felt. Deretter skriver du inn Server påloggingsnavn og Server innloggingspassord for å få tilgang til SQL databaseserveren.
Klikk avkrysset nederst til høyre for å fullføre prosessen. Du har nå opprettet en ny mobiltjeneste som kan brukes av mobilappene dine. Før du kan begynne å lagre data, må du først opprette et bord som kan lagre programmets data.
Merk at bruk av en database i en annen region ikke anbefales på grunn av ekstra båndbreddekostnader og høyere ventetider.
I dette trinnet legger vi til et bord som heter ToDoItem til mobiltjenesten, som vil bli brukt av klientapplikasjonen for å lagre brukerens gjøremål.
Fra Data fanen i Azure Management Portal, klikk Skape å legge til et nytt bord i mobiltjenesten. Navngi tabellen ToDoItem og sett et tillatelsesnivå mot hver operasjon. For ToDoItem tabell, har jeg brukt standard tillatelsesinnstillingene.
Klikk avkrysset nederst til høyre for å fullføre tabelloppsettprosessen. På bare noen få sekunder har du lagt til ToDoItem bord til mobiltjenesten.
De ToDoItem Tabellen inneholder allerede et antall kolonner for lagring av id, opprettelsesdato, slettet status, oppdatert dato og versjoninformasjon. For å gjøre tabellen nyttig for applikasjonen vår, må vi legge til ytterligere to kolonner, en for å lagre teksten i oppgaveposten og en for å lagre oppgavelementets status.
For å legge til de ekstra kolonnene, klikk Legg til kolonne fra kolonner fanen av ToDoItem bord. De tekst kolonnen er av typen string og fullført kolonnen er av typen boolean.
Dette er kolonnene til ToDoItem bord.
Nå som vi har satt opp vår mobiltjeneste og lagt til et bord på det, har du to alternativer: Opprett en ny app eller koble en eksisterende app til mobiltjenesten. I denne veiledningen vil vi endre en eksisterende Windows Phone app for å bruke mobiltjenesten.Appen må konfigureres riktig for å kunne bruke mobiltjenesten. Du må legge til kode for å koble appen din til mobiltjenesten og lagre data i skyen.
Høyreklikk på prosjektnavnet i Solution Explorer og velg Legg til > Tilkoblet tjeneste fra menyen. I Legg til tilkoblet tjeneste dialogboksen som vises, velg Azure Mobile Services og klikk Konfigurer.
Velg deretter den mobiltjenesten du opprettet tidligere fra listen over eksisterende tjenester i kontoen din. Du må oppgi legitimasjonene dine for å koble til og oppgi mobiltjenestene i Windows Azure-kontoen din.
Velg mobiltjenesten vi opprettet og klikk på Legg til for å fullføre prosessen. Veiviseren vil da legge til alle nødvendige referanser til prosjektet ditt. Referansene kan også legges til manuelt ved å installere den nødvendige pakken med nuget. Høyreklikk på klientprosjektet, velg Administrer NuGet-pakker, søk etter WindowsAzure.MobileServices pakke, og legg til en referanse for pakken.
Veiviseren installerer den nødvendige nuget pakker, legger til en referanse for mobiltjenestens klientbibliotek til prosjektet, og oppdaterer prosjektkildekoden. Veiviseren legger også til et nytt statisk felt til app
klassen som ser slik ut:
offentlig statisk Microsoft.WindowsAzure.MobileServices.MobileServiceClient todolistClient = ny Microsoft.WindowsAzure.MobileServices.MobileServiceClient ("https://todolist.azure-mobile.net/", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
Denne koden gir tilgang til din nye mobiltjeneste i appen din ved hjelp av en forekomst av MobileServiceClient
klasse. Klienten er opprettet ved å levere URI og programnøkkelen til den nye mobiltjenesten. Dette statiske feltet er tilgjengelig for alle sidene i appen din. Du må legge til denne koden manuelt til App.xaml.cs hvis du ikke bruker veiviseren.
Du må oppdatere Windows Phone-appen din for å kunne bruke mobiltjenesten som backend-tjeneste. Du trenger bare å gjøre endringer i MainPage.cs prosjektfil.
ToDoItem
Klasse DefinisjonLegg til en ny modellklasse, ToDoItem
, til prosjektet ditt. Modellklassen inneholder egenskaper som tilsvarer kolonnene i ToDoItem bordet vi opprettet tidligere.
offentlig klasse ToDoItem public string Id get; sett; [Newtonsoft.Json.JsonProperty (PropertyName = "text")] offentlig streng Tekst get; sett; [Newtonsoft.Json.JsonProperty (PropertyName = "complete")] offentlig bool Fullfør get; sett; offentlige ToDoItem () offentlige ToDoItem (streng tekst, bool status = false) Text = text; Fullfør = status;
De JsonPropertyAttribute
Metoden brukes til å definere kartlegging mellom eiendomsnavn i klientapp og kolonnenavn i den tilsvarende tabellen. En referanse til Newtonsoft.Json Pakken må legges til prosjektet for å gjøre dette arbeidet.
Legg til følgende ved hjelp av
uttalelse til MainPage.xaml.cs:
bruker Microsoft.WindowsAzure.MobileServices;
Legg til følgende linjer øverst på MainPage.xaml.cs å opprette en mobiltjenester-bevisst bindende samling og proxy klasse for databasetabellen.
privat MobileServiceCollectioneks; privat IMobileServiceTable todoTable = App.tutsplusdemoClient.GetTable ();
Deretter oppretter du en InsertToDoItem
Metode for å sette inn et nytt element i tabellen. Legg til async
modifier til metoden og legg til følgende kode for å sette inn et element.
offentlig async Oppgave InsertToDoItem (ToDoItem toDoItem) avvente todoTable.InsertAsync (toDoItem); items.Add (toDoItem);
Denne koden fungerer hvis bordet ditt har tillatelser satt til Alle med en applikasjonsnøkkel. Hvis du endrer tillatelsene for å sikre mobiltjenesten din, må du legge til brukergodkjenningsstøtte. Se Legge til godkjenning ved hjelp av Azure Mobile Services.
Lage en RefreshTodoItems
metode som setter bindingen til samlingen av elementer i ToDoItem bord, som inneholder alle ToDoItem
gjenstander returnert fra mobiltjenesten. Vi viser en meldingskasse hvis det oppstår et problem mens du utfører spørringen.
privat async Oppgave RefreshTodoItems () MobileServiceInvalidOperationException exception = null; prøv // Query som returnerer alle elementer. elementer = avvente todoTable.ToCollectionAsync (); fangst (MobileServiceInvalidOperationException e) unntak = e; hvis (unntak! = null) avvente ny MessageDialog (unntak.Message, "Feil innlasting av elementer"). ShowAsync (); ellers ListItems.ItemsSource = items; this.ButtonSave.IsEnabled = true;
Vi må nå oppdatere MainPage.xaml for å vise gjøremål og legge til evnen til å legge til gjøremål. Nedenfor er hva XAML-koden kan se ut som et enkelt brukergrensesnitt som inneholder en Tekstboks å sette inn elementer og a Listevisning for å vise gjøremål.
De InsertToDoItem
Metoden kalles når Lagre knappen er tappet, som legger opp oppgavene i bordet.
privat async void ButtonSave_Click (objekt sender, RoutedEventArgs e) var todoItem = new TodoItem Text = TextInput.Text; avvente InsertTodoItem (todoItem);
De RefreshToDoItems
Metoden er påkalt når Forfriske knappen er tappet. I denne metoden henter vi alle elementene i tabellen.
privat async void ButtonRefresh_Click (objekt sender, RoutedEventArgs e) ButtonRefresh.IsEnabled = false; // venter SyncAsync (); // offline synkronisering venter på RefreshTodoItems (); ButtonRefresh.IsEnabled = true;
Det siste trinnet i denne opplæringen er å gjennomgå dataene som er lagret i mobiltjenesten. I Windows Azures klassiske portal klikker du på ToDoItem bord under Data fanen til mobiltjenesten din. Under Søk fanen, kan du se alle elementene i tabellen.
Denne opplæringen demonstrerer grunnleggende om å bruke Azure Mobile Services som en backend for en Windows Phone-app. Å lage en mobil tjeneste og bruke den i appen til å lagre data i skyen, er enkel å implementere.
Mer komplekse scenarier involverer støtte frakoblet datasynkronisering. Du kan også legge til frakoblet datasynkroniseringsstøtte til appen etter denne opplæringen. Du kan begrense tabelltillatelser slik at kun godkjente brukere kan oppdatere tabellen etter denne Envato Tuts + -artikkelen.
Du er velkommen til å laste ned opplærings kildefiler for referanse. Husk å konfigurere appen til å bruke Azure Mobile Services før du distribuerer den.