Kii BLOG

使用 Kii 和 Xamarin 几分钟便能创建一个跨平台应用

标题

还在不同移动平台间的差异性和陷阱中挣扎?想要开发出跨平台且仍然能够保持原本(不是用 javascript / html)的应用?

现在,只需借助一个代码库和一个嵌入式后端服务便可节省无数的时间完成跨平台应用开发。

我要如何开始?

  • Xamarin Studio
  • Kii C# SDK
  • 一些 .NET 代码技术 (一点点 C#)

Xamarin Studio 是一款 IDE 格式的 Mono 开发环境(一个开源码的 .NET 栈)作为 .NET 专家,他们想出一个主意:能够提供一款基于 .NET IDE 并且允许编译和部署在多平台上,包括 Android、iOS以及 Windows Phone系统。系统会自动设置一个执行时间,允许.NET 程序集执行。 这样可以压缩特定平台的代码至最小化以及获得大量平台间通用的代码(并且是在同一个地方编码/维护)。

我需要做些什么?

先看一个由 Xamarin 出品并十分受欢迎的演示: Tasky。Tasky 是一个任务管理框架,作为展示如何创建一个多平台应用的示例再合适不过的。它包含一个提供所有共享代码(Tasky.Core)的项目,然后将其提供的平台特定代码放在单独的项目上(Tasky.DroidTasky.iOS等等)。此外,该示例很好地展示应用层(用户,数据,UI)的分工,这使得我们可以十分容易的将数据管理层替换成 Kii 数据管理服务(这正是我们将要在这里完成的事情)。

首先我们需要引用项目中的 Kii C# SDK 组件(你可以在此下载,选择 Unity SDK),下载并安装 Xamarin Studio,打开使用的项目并定位到 Tasky.Core,查找项目文件层结构的 References文件夹, 右击并选择 Edit References。这里需要定位到之前下载的组件:JsonOrg.dll 以及 KiiCloudStorageSDK.dll (重复以上步骤为每个特定平台的项目设置引用,如 Tasky.Droid)。

接下来,你需要将 Kii Cloud API 调用替换数据层中的数据管理调用。以修改后的 Task 项目为例:你不难发现主要的业务类叫做 Task, TaskManager 通过一个 TaskRepository / TaskDatabase 处理所有 Task的操作。该 TaskDatabase 建立在 SQLite.Net 上,代表一个特定的数据库,此例中为 Task DB。它包含了检索、保存、数据库创建等方法,这些都是基于底层 ORM 的。然而,该数据库是保存在本地文件的,所以你所有的 Task都在一台设备上的。当使用其他设备时,你需要从头开始。

有哪些优势?

作为Kii Cloud 的数据提供者,你的数据将存放在 Cloud 上,并且能够跨设备和平台间共享(只需使用同一用户登录),所以借助一个 IDE 和一个后端 SDK 来部署多平台应用,你不但获得了应用集成经验,而且还可以节省宝贵的开发时间。

一起来看看在代码中如何使用 Cloud 库(Kii Cloud)替换原有的 TaskRepository。为简单起见,我们硬编码( hard-coding)的用户名 / 密码,但是你需要提供一个界面,使同一用户的注册和登录,这样便能在不同设备和平台上管理相同的Task。正如你所看到的这一切都基于 Cloud 调用而不是依赖于本地存储!

哪里获得源代码?

相同的 Kii 代码库在 iOS 和 Android 上的运行效果:

2

 

你可以从 Git 库中下载该项目。

祝你生活愉快!

发表评论

电子邮件地址不会被公开。 必填项已用*标注