windows phone开发-windows azure mobile service使用入门
在使用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项目中

windows phone开发-windows azure mobile service使用入门的更多相关文章
- 如何使用新浪微博账户进行应用登录验证(基于Windows Azure Mobile Service 集成登录验证)
使用三方账号登录应用应该对大家来说已经不是什么新鲜事儿了,但是今天为什么还要在这里跟大家聊这个话题呢,原因很简单 Windows Azure Mobiles Service Authenticatio ...
- 第一篇 Windows 8 开发Windows Metro style app环境配置
半 饱问 题 到 我 这 里 为 止! 第一篇 Windows 8 开发Windows Metro style app环境配置 2012-09-24 08:24 by 半饱, 1289 阅读, 3 ...
- Azure Front Door(一)为基于.net core 开发的Azure App Service 提供流量转发
一,引言 之前我们讲解到使用 Azure Traffic Manager.Azure LoadBalancer.Azure Application Gateway,作为项目的负载均衡器来分发流量,转发 ...
- Unable to create Azure Mobile Service: Error 500
I had to go into my existing azure sql database server and under the configuration tab select " ...
- Windows内核开发-Windows内部概述-2-
Windows内部概述-2- 线程: 执行代码的实体是线程.一个线程的包含在进程里面的,线程使用进程提供的资源来运行代码. 一个线程拥有以下的内容: 1:明确的运行模式,用户态或者内核态. 2:执行的 ...
- C语言Windows程序开发—Windows窗口样式与常用控件样式【第04天】
(一)Windows窗口(MDICLIENT)样式介绍 /* Windows窗口样式 */ WS_BORDER //带有边框的窗口 WS_CAPTION //带有标题栏的窗口 WS_CHILD //子 ...
- Windows内核开发-Windows内部概述-1-
Windows内部概述-1- 进程: 进程是一个程序的运行实例的控制和管理对象.一般的程序员所说进程运行,这样的说法是不对的,因为进程不能运行程序,进程只能管理该程序运行.线程才是真正的执行代码的东西 ...
- Windows Azure之Mobile Service
我建个android app和Windows Azure的Mobile Service配合,以实现会员注册的功能,实际十分简单,微软家的东西真心好用 首先新建个Mobile Service New-& ...
- Windows Azure Cloud Service (11) PaaS之Web Role, Worker Role(上)
<Windows Azure Platform 系列文章目录> 本文是对Windows Azure Platform (六) Windows Azure应用程序运行环境内容的补充. 我们知 ...
随机推荐
- RESTful API格式 图片验证码接口
之前公司写图片验证码时用的是session 后来写接口时也想用session存验证码 不过领导说RESTful API 写接口 没有session这一说 于是就用了redis 存验证码 还有就是接口 ...
- oracle可重复执行脚本(添加字段)
--添加债券期限字段 declare cn integer; begin cn := 0; select count(*) into cn from user_tab_cols t where t.t ...
- Moment.js 基本用法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 36 【kubernetes】coredns
CoreDNS是k8s中,master节点和从节点及其pods之间通信的接口. 但是上个博客中遇到一个问题dns一直处于crush的状态. https://www.cnblogs.com/helww/ ...
- Django HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR
使用django来获取用户访问的IP地址,如果用户是正常情况下 request.META['REMOTE_ADDR'] 可以获得用户的IP地址.但是有些网站服务器会使用ngix等代理http,或者是该 ...
- 使用手势对UIImageView进行缩放、旋转和移动
// 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecognizer ...
- pyinstaller spec
pyinstaller options..script.py pyi-makespec options script.py [other scripts ...] pyinstaller option ...
- 远程连接centos6.5
安装上传下载工具: 直接yum -y install lrzsz 下载数据到本地下载目录:sz filename1 filename2 … 上传数据到远程:执行rz –be 命令,客户端会弹出上传窗口 ...
- ABP框架系列之二十:(Dependency-Injection-依赖注入)
What is Dependency Injection If you already know Dependency Injection concept, Constructor and Prope ...
- mongoDB实现MapReduce
一.MongoDB Map Reduce Map-Reduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE).MongoDB提供的Ma ...