零、前言

Xamarin 已经为用 C#开发 iOS 和 Android 应用构建了出色的产品:Xamarin Studio,这是 Visual Studio、Xamarin.iOS 和 Xamarin.Android 的一个插件。Xamarin 让您可以直接访问每个平台上的本机 API,并可以灵活地共享 C#代码。与 Java 或 Objective-C 相比,使用 Xamarin 和 C#可以获得更高的工作效率,并且与 HTML 或 JavaScript 解决方案相比,仍能保持出色的性能。

在本书中,我们将开发一个真实世界的示例应用来演示您可以使用 Xamarin 技术做什么,并基于 iOS 和安卓的核心平台概念进行构建。我们还将涵盖高级主题,如推送通知、检索联系人、使用相机和全球定位系统定位。在 Xamarin 3 中,引入了一个名为 Xamarin.Forms 的新框架。表单以及如何将其应用于跨平台开发。最后,我们将演练如何将您的应用提交到苹果应用商店和 GooglePlay。

这本书涵盖了什么

第 1 章Xamarin 设置,是安装合适的 Xamarin 软件和本地 SDK 进行跨平台开发的指南。指导 Windows 用户如何连接到本地网络上的 Mac,以便在 Visual Studio 中进行 iOS 开发。

第二章大家好,平台们!,是在 iOS 和 Android 上创建一个简单计算器应用的演练,也涵盖了每个平台上的一些基本概念。

第 3 章iOS 和 Android 之间的代码共享,介绍了可与 Xamarin 一起使用的代码共享技术和项目设置策略。

第 4 章xamsap-一个跨平台的应用,是我们将在整本书中构建的一个示例应用的介绍。在本章中,我们将编写应用的所有共享代码,并完成单元测试。

第 5 章iOS 的 xamsap,向我们展示了如何实现 xamsap 的 iOS 用户界面,涵盖了各种 iOS 开发理念。

第六章安卓 xamsap,向我们展示了如何实现安卓版本的 xamsap,并介绍了安卓特有的开发理念。

第 7 章在设备上部署和测试,是一个演练,讲述了将您的第一个应用部署到设备的痛苦过程。我们还介绍了为什么总是在真实设备上测试应用很重要。

第 8 章联系人、摄像头和位置,介绍了库 Xamarin。移动,作为一种跨平台的方式来访问用户的联系人、相机和全球定位系统位置,并将这些功能添加到我们的 XamSnap 应用中。

第 9 章带有推送通知的 web 服务,向我们展示了如何使用 Windows Azure 利用 Azure 功能和 Azure 通知中心实现 XamSnap 的真实后端 Web 服务。

第 10 章第三方库,介绍了使用 Xamarin 的第三方库的各种选项,以及如何利用原生 Java 和 Objective-C 库。

第十一章Xamarin。表单,帮助我们发现 Xamarin 最新的框架,Xamarin。表单,以及如何利用它来构建跨平台应用。

第 12 章应用商店提交,将带我们走完将你的应用提交到苹果应用商店和谷歌 Play 的过程。

这本书你需要什么

为了这本书,你需要一台至少运行 OS X 10.10 的苹果电脑。苹果要求 iOS 应用在 Mac 上编译,所以 Xamarin 也有同样的要求。您可以使用 Xamarin Studio(最适合 Mac)或 Visual Studio(最适合 Windows)作为 IDE。Windows 上的开发人员可以在 Visual Studio 中通过连接到本地网络上的 Mac 来处理 iOS 应用。访问https://xamarin.com/downloadhttps://visualstudio.com/download下载相应软件。

这本书是给谁的

这本书是为已经熟悉 C#并想用 Xamarin 学习移动开发的开发人员准备的。如果你曾在 ASP.NET、WPF、WinRT、Windows Phone 或 UWP 工作过,那么你会像在家一样使用这本书来开发原生的 iOS 和 Android 应用。

惯例

在这本书里,你会发现许多区分不同种类信息的文本样式。以下是这些风格的一些例子和对它们的意义的解释。

文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“使用await关键字在 C#中运行异步代码。”

代码块设置如下:

class ChuckNorris
{
    void DropKick()
    {
        Console.WriteLine("Dropkick!");
    }
}

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

class ChuckNorris
{
    void DropKick()
    {
        Console.WriteLine("Dropkick!");
    }
}

任何命令行输入或输出都编写如下:

# xbuild MyProject.csproj

新名词重要词语以粗体显示。你在屏幕上看到的单词,例如菜单或对话框中的单词,出现在这样的文本中:“为了下载新模块,我们将转到文件 | 设置 | 项目名称 | 项目解释器

警告或重要提示会出现在这样的框中。

类型

提示和技巧是这样出现的。

读者反馈

我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢什么。读者反馈对我们来说很重要,因为它有助于我们开发出你真正能从中获益的标题。要向我们发送一般反馈,只需给 feedback@packtpub.com 发电子邮件,并在邮件主题中提及书名。如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参见我们位于www.packtpub.com/authors的作者指南。

客户支持

现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。

下载示例代码

你可以从你在http://www.packtpub.com的账户下载这本书的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。

您可以按照以下步骤下载代码文件:

  1. 使用您的电子邮件地址和密码登录或注册我们的网站。
  2. 将鼠标指针悬停在顶部的 SUPPORT 选项卡上。
  3. 点击代码下载&勘误表
  4. 搜索框中输入图书名称。
  5. 选择要下载代码文件的书籍。
  6. 从您购买这本书的下拉菜单中选择。
  7. 点击代码下载

下载文件后,请确保使用最新版本的解压缩文件夹:

  • 视窗系统的 WinRAR / 7-Zip
  • zipeg/izp/un ARX for MAC
  • 适用于 Linux 的 7-Zip / PeaZip

这本书的代码包也托管在 GitHub 上https://github.com/PacktPublishing/Xamarin 4x-跨平台-应用-开发-第三版。我们还有来自丰富的图书和视频目录的其他代码包,可在https://github.com/PacktPublishing/获得。看看他们!

下载本书的彩色图片

我们还为您提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色图像。彩色图像将帮助您更好地理解输出中的变化。您可以从https://www . packtpub . com/sites/default/files/downloads/xamarin4xcrosslatformapplicationdevelopmentthirdidition _ color images . pdf下载此文件。

勘误表

尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现一个错误,也许是文本或代码中的错误,如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表提交表链接,并输入您的勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请前往https://www.packtpub.com/books/content/support并在搜索栏中输入图书名称。所需信息将出现在勘误表部分。

盗版

互联网上版权材质的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。

请联系我们在 copyright@packtpub.com 的链接到可疑的盗版材质。

我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果你对这本书的任何方面有问题,你可以联系我们在 questions@packtpub.com,我们将尽最大努力解决这个问题。