Quickstarters
CRUD Samples
如何使用 Xamarin 创建 CRUD 应用?
27 分
概述 本指南将引导您创建一个完整的 crud(创建、读取、更新、删除)应用程序,使用 xamarin。 我们将利用 back4app 作为我们的后端服务,以轻松管理您的数据。在本教程中,您将看到如何配置 back4app 项目,设置灵活的数据架构,并在 xamarin 应用程序中实现 crud 操作。 最初,您将配置一个名为 basic crud app xamarin 的 back4app 项目。该项目将作为您应用程序的强大后端。您将通过 back4app 仪表板手动定义数据结构,或利用内置的 ai 代理。 接下来,您将利用直观的 back4app 管理应用程序,通过拖放功能轻松管理您的数据。 最后,您将使用与 xamarin 完全兼容的 parse net sdk 将您的 xamarin 应用程序与 back4app 集成,确保安全和高效的数据操作。 在本教程结束时,您将开发出一个生产就绪的 xamarin 应用程序,能够执行基本的 crud 操作,并具备安全的用户身份验证和数据管理功能。 关键见解 学习如何构建一个基于 xamarin 的 crud 应用程序,并与强大的非关系型后端集成。 了解如何设计可扩展的后端,并与您的 xamarin 应用程序无缝连接。 发现如何使用 back4app 管理应用程序管理 crud 操作。 探索使用 acl 和 clp 进行安全用户管理和后端安全的选项。 前提条件 在开始之前,请确保您拥有: 一个配置好的 back4app 账户。 如需帮助,请参考 开始使用 back4app https //www back4app com/docs/get started/new parse app 。 一个 xamarin 开发环境。 安装支持 xamarin 的 visual studio,并确保您拥有最新的 net sdk。 对 c#、面向对象编程和 rest api 的基本理解。 如有需要,您可以查看 microsoft c# 文档 https //docs microsoft com/en us/dotnet/csharp/ 。 步骤 1 – 配置您的 back4app 项目 在 back4app 上创建新项目 登录到您的 back4app 账户。 点击仪表板上的 “新应用” 按钮 。 为您的项目命名: basic crud app xamarin 并按照屏幕上的说明完成设置。 创建新项目 在您的项目成功创建后,它将出现在您的仪表板上,准备进行进一步的后端配置。 步骤 2 – 制定数据架构 定义您的数据结构 对于这个 crud 应用程序,您需要在您的 back4app 项目中设置几个类(集合)。以下是您将创建的主要类及其各自字段的示例。 1\ 项目类 字段 数据类型 描述 id 对象id 自动生成的唯一标识符。 标题 字符串 项目名称。 描述 字符串 该项目的简要总结。 创建于 日期 时间戳标记创建。 更新时间 日期 标记最后更新的时间戳。 2\ 用户类别 字段 数据类型 描述 id 对象id 自动生成的唯一id。 用户名 字符串 用户的唯一用户名。 电子邮件 字符串 用于账户联系的唯一电子邮件地址。 密码哈希 字符串 为了安全而加密的密码。 创建于 日期 账户创建时间戳。 更新时间 日期 上次账户更新的时间戳。 您可以通过 back4app 控制面板手动添加这些类和字段。 创建新班级 您可以通过选择数据类型、输入字段名称、设置默认值和标记必填字段来定义每个字段。 创建列 利用 back4app ai 代理进行模式生成 您在 back4app 仪表板中集成的 ai 代理可以根据描述自动生成数据模式。此工具简化了设置过程,并确保您的数据模型针对 crud 操作进行了优化。 如何使用 ai 代理: 访问 ai 代理: 打开您的 back4app 仪表板,并在项目设置中找到 ai 代理。 描述您的模式: 提供您所需的类和字段的详细大纲。 审查并实施: ai 代理将提出一个模式。检查建议的配置并批准以应用更改。 示例提示: create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) 这种 ai 辅助的方法节省了时间,并确保了一致的、优化的数据结构。 步骤 3 – 启用管理应用程序和管理 crud 操作 管理应用程序概述 back4app 管理应用程序提供了一个无代码界面,便于轻松管理后端数据。其拖放界面简化了 crud 操作,例如创建、读取、更新和删除记录。 启用管理应用程序 打开 “更多” 菜单 在您的 back4app 控制面板上。 选择 “管理应用程序” 然后点击 “启用管理应用程序。” 设置您的管理员凭据 通过创建初始管理员帐户。此过程还建立了预定义角色(例如, b4aadminuser ) 和系统类。 启用管理应用程序 一旦激活,登录管理应用程序以开始管理您应用程序的数据。 管理应用程序仪表板 使用管理应用程序执行 crud 操作 在管理应用程序中,您可以: 插入新数据: 在任何类(例如,项目)中使用 “添加记录” 功能以创建新条目。 查看和编辑记录: 选择一条记录以检查详细信息或修改字段。 删除记录: 删除不再需要的数据条目。 这个用户友好的界面简化了管理后端的过程。 步骤 4 – 将您的 xamarin 应用连接到 back4app 在您的后端准备好后,下一步是将您的 xamarin 应用程序链接到 back4app。 选项 a:在 xamarin 中使用 parse net sdk 添加 parse net sdk 依赖项: 对于 xamarin 项目,通过 nuget 包含 parse net sdk。打开您的 nuget 包管理器并安装: install package parse 在您的 xamarin 应用中初始化 parse: 创建一个初始化文件(例如, parseinitializer cs ) 并按如下方式配置它: // parseinitializer cs using parse; public static class parseinitializer { public static void initialize() { parseclient initialize(new parseclient configuration { applicationid = "your application id", windowskey = "your xamarin key", server = "https //parseapi back4app com" }); } } 3\ implement crud operations for example, create a service class to manage items ```csharp // itemsservice cs using parse; using system; using system collections generic; using system threading tasks; public class itemsservice { public async task\<list\<parseobject>> getitemsasync() { var query = new parsequery\<parseobject>("items"); try { return await query findasync(); } catch (exception ex) { console writeline($"error fetching items {ex message}"); return null; } } public async task createitemasync(string title, string description) { var item = new parseobject("items"); item\["title"] = title; item\["description"] = description; try { await item saveasync(); console writeline("item created successfully "); } catch (exception ex) { console writeline($"error creating item {ex message}"); } } public async task updateitemasync(string objectid, string newtitle, string newdescription) { var query = new parsequery\<parseobject>("items"); try { var item = await query getasync(objectid); item\["title"] = newtitle; item\["description"] = newdescription; await item saveasync(); console writeline("item updated successfully "); } catch (exception ex) { console writeline($"error updating item {ex message}"); } } public async task deleteitemasync(string objectid) { var query = new parsequery\<parseobject>("items"); try { var item = await query getasync(objectid); await item deleteasync(); console writeline("item deleted successfully "); } catch (exception ex) { console writeline($"error deleting item {ex message}"); } } } 选项 b:使用 rest 或 graphql 如果不喜欢使用 parse net sdk,可以通过 rest 调用实现 crud 操作。例如,在 xamarin 应用中使用 rest 获取项目: using system; using system io; using system net http; using system threading tasks; public class restclient { private static readonly httpclient client = new httpclient(); public async task fetchitemsasync() { try { var request = new httprequestmessage(httpmethod get, "https //parseapi back4app com/classes/items"); request headers add("x parse application id", "your application id"); request headers add("x parse rest api key", "your rest api key"); var response = await client sendasync(request); response ensuresuccessstatuscode(); var responsebody = await response content readasstringasync(); console writeline($"response {responsebody}"); } catch (exception ex) { console writeline($"error fetching items {ex message}"); } } } 根据需要在您的 xamarin 项目中集成这些 api 调用。 步骤 5 – 增强后端安全性 配置访问控制列表 (acls) 通过在对象上设置 acl 来保护您的数据。例如,要创建一个仅所有者可访问的项目: using parse; using system; public async task createprivateitemasync(string title, string description, parseuser owner) { var item = new parseobject("items"); item\["title"] = title; item\["description"] = description; var acl = new parseacl(owner); acl publicreadaccess = false; acl publicwriteaccess = false; item acl = acl; try { await item saveasync(); console writeline("private item created successfully "); } catch (exception ex) { console writeline($"error saving private item {ex message}"); } } 设置类级权限 (clps) 在您的 back4app 控制面板中,配置 clps 以建立默认访问规则。这确保只有经过身份验证的用户才能与特定类进行交互。 步骤 6 – 在 xamarin 中实现用户身份验证 管理用户账户 back4app利用内置的parse用户类进行身份验证。在您的xamarin应用程序中,管理用户注册和登录,如下所示: using parse; using system; public class authservice { public async task signupasync(string username, string password, string email) { var user = new parseuser { username = username, password = password, email = email }; try { await user signupasync(); console writeline("user registered successfully!"); } catch (exception ex) { console writeline($"error during sign up {ex message}"); } } public async task loginasync(string username, string password) { try { var user = await parseuser loginasync(username, password); console writeline($"user logged in {user username}"); } catch (exception ex) { console writeline($"login failed {ex message}"); } } } 这种方法可以扩展以包括会话管理、密码恢复和其他与身份验证相关的功能。 第7步 – 结论和未来方向 干得好!您已经成功开发了一个基于xamarin的crud应用程序,并与back4app集成。在本教程中,您: 配置了一个名为 basic crud app xamarin 的back4app项目。 设计了items和users所需的数据结构。 利用back4app管理应用程序来管理您的数据。 通过parse net sdk(或rest/graphql)连接您的xamarin应用程序以执行crud操作。 实施了包括acl和clp在内的强大安全措施。 设置用户身份验证以管理帐户创建和登录。 下一步: 扩展应用程序功能: 考虑添加高级过滤、详细项目视图或实时数据更新等功能。 增强后端能力: 探索云功能、第三方集成和基于角色的访问控制。 进一步学习: 访问 back4app文档 https //www back4app com/docs 和其他资源,以优化和扩展您的应用程序。 祝您编码愉快,并祝您的xamarin crud应用程序好运!