windows phone開發-windows azure mobile service使用入門

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   檔案   io   資料   

在使用azure之前,我一直只能做本地app,或者使用第三方提供的api,儘管大多數情況下夠用,但是仍不能隨心所欲操縱資料,這種感覺不是特別好。於是在azure發布後,我就嘗試使用azure來做為個人資料中心,可選的方式有很多,但今天我給大家介紹的是azure mobile service。

1.建立Mobile Service

   Azure中建立Mobile Service很簡單,與建立其他項目類似,流程如下:

i.

ii.

iii.

ii

 

這裡我使用的是Windows Azure國際版,經過簡單的流程就能建立一個Mobile Service,需要注意,當前服務還是空的,需要我們部署相應的Web API Service。

2.部署Web API服務

   建立後的空Mobile Service儀表板如下:

 

    我們在選擇平台那一塊欄目,選擇Windows Phone,這時可以看到入門指南,大家可以任意挑選一種,這裡我們挑選“串連至現有Windows Phone應用程式”。

接下來需要建立並發布一個ASP.NET Web API項目至我們的Mobile Service,這裡大家有兩種選擇:

    1.從Visual Studio中全新建立,選擇Web API或者Azure Mobile Service模板均可

 

2.或者從Azure儀表板中下載一個標準Azure Mobile Service項目工程,解壓至本地編輯

 

以上兩種方法最終都會得到一樣的結果,一個ASP.NET Web API項目,如下:

 

如果大家對ASP.NET Web API項目熟悉的話,可以直接在Controller檔案夾下找到核心控制器代碼,在其中進行一系列的修改,產生自己的方法,如下:

在控制器類中可以看到相關API,大家可以自行嘗試效果,預設返回的是Json格式資料。

GET /tables/todoitem

  

結果:

[{"id":"1","complete":false,"text":"First item"},{"id":"2","complete":false,"text":"Second item"}]

  

下面我們簡單運行產生項目後,將其發布至Azure Mobile Service,如下:

發布完成後,我們來看運行效果,如下:

 

3.在Windows Phone項目中使用Mobile Service

開啟我們的windows phone項目,使用NuGet安裝WindowsAzure.MobileServices SDK。這裡要特別注意:Windows Azure Mobile Service SDK支援WinRT& Silverlight架構,所以基於WinRT的WP8.1項目完全可以使用。

建立資料類TodoItem,結構應與Web API項目中定義的一致,如下:

public class TodoItem {    public string Id { get; set; }    public string Text { get; set; }    public bool Complete { get; set; }}

  在App.xaml.cs中建立MobileServiceClient執行個體,初始化參數分別為applicationUri和applicationKey,參數你們替換為自己的即可如下

public static MobileServiceClient mobileService = new MobileServiceClient("https://azuretestmobileservice.azure-mobile.net/",“{applicationKey}”);

  下面我們就可以對雲端資料進行擷取,上傳,增刪改等操作,並將結果呈現到用戶端UI中,我們可以簡單操作一下,如下:

MainPage.xaml

<StackPanel>            <ListView x:Name="TestDataList">                <ListView.ItemTemplate>                    <DataTemplate>                        <StackPanel Orientation="Horizontal">                            <CheckBox IsChecked="{Binding Complete}"/>                            <TextBlock TextWrapping="Wrap" FontSize="30" Text="{Binding Text}"/>                        </StackPanel>                    </DataTemplate>                </ListView.ItemTemplate>            </ListView>            <Button x:Name="insertButton" Click="insertButton_Click">插入記錄</Button>            <TextBox x:Name="inputTextBox" ></TextBox>        </StackPanel>

 

  MainPage.xaml.cs

 protected async override void OnNavigatedTo(NavigationEventArgs e)        {            await loadAzureData();        }        private async void insertButton_Click(object sender, RoutedEventArgs e)        {            if (inputTextBox.Text.Trim() != null && inputTextBox.Text.Trim() != "")            {                TodoItem newItem = new TodoItem { Complete = false, Text = inputTextBox.Text.Trim() };                await App.mobileService.GetTable<TodoItem>().InsertAsync(newItem);            }            await loadAzureData();        }        private  async Task loadAzureData()        {            if (todoItems == null)                todoItems = new List<TodoItem>();            todoItems = await App.mobileService.GetTable<TodoItem>().ToListAsync();            TestDataList.ItemsSource = todoItems;        }

最後效果,至此我們就順利部署了一個Azure Mobile Service執行個體,並整合到windows phone 8&8.1項目中

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.