Quickstarters
CRUD Samples
如何使用 Kotlin 创建一个 CRUD 应用?
25 分
概述 在本教程中,您将发现如何使用kotlin开发一个简单的crud(创建、读取、更新、删除)应用程序。 我们将利用back4app作为我们的后端服务,它简化了数据管理。 本指南说明了crud系统的基本组件,包括设置back4app项目、设计灵活的数据架构以及使用kotlin应用程序执行crud操作。 我们首先配置一个名为 basic crud app kotlin 的back4app项目,提供可扩展的环境。您将手动创建数据模型或借助back4app的ai代理。 接下来,您将利用back4app管理界面——一个用户友好的拖放工具——轻松管理您的数据。 最后,您将使用parse java sdk(或在需要时使用api调用)将kotlin应用程序与back4app集成,同时确保安全的访问管理。 在本指南结束时,您将构建一个生产就绪的kotlin应用程序,能够执行标准的crud操作,并具备安全的用户身份验证和高效的数据处理。 主要见解 学习构建基于kotlin的crud应用程序,配备强大的后端。 了解如何架构可扩展的后端并将其与kotlin应用程序连接。 掌握使用back4app直观的管理界面进行简化crud任务。 熟悉使用docker对kotlin应用程序进行容器化,以实现顺利的部署过程。 前提条件 在开始之前,请确保您拥有: 一个活跃的 back4app 账户,并设置了一个新项目。 需要指导?请参见 开始使用 back4app https //www back4app com/docs/get started/new parse app 。 一个 kotlin 开发环境。 使用 intellij idea 等 ide,并确保安装了 kotlin 和 jdk 11(或更高版本)。 kotlin、面向对象编程和 rest api 的基本知识。 如有需要,请查阅 kotlin 文档 https //kotlinlang org/docs/home html 。 步骤 1 – 设置项目 创建一个新的 back4app 项目 登录到您的 back4app 账户。 点击仪表板上的“新应用”按钮 。 输入项目名称: basic crud app kotlin 并完成设置步骤。 创建新项目 项目创建后,它将出现在您的仪表板上,为您的后端配置奠定基础。 步骤 2 – 制定数据架构 定义您的数据结构 对于这个crud应用程序,您将在back4app项目中定义几个集合。以下是标准crud操作所需的示例类和字段。 1\ 项目集合 字段 数据类型 目的 id 对象id 系统生成的唯一标识符。 标题 字符串 物品名称。 描述 字符串 项目的简要描述。 创建于 日期 记录创建时间戳。 更新时间 日期 最新修改的时间戳。 2\ 用户收集 字段 数据类型 目的 id 对象id 自动生成的唯一标识符。 用户名 字符串 每个用户的唯一用户名。 电子邮件 字符串 独特的电子邮件地址。 密码哈希 字符串 安全加密的用户密码。 创建于 日期 账户创建时间戳。 更新时间 日期 账户修改的时间戳。 您可以通过 back4app 控制面板手动添加这些集合和字段。 创建新班级 您可以通过选择数据类型、命名字段、分配默认值和标记必填字段来定义字段。 创建列 利用 back4app ai 代理进行模式生成 back4app ai 代理通过根据您的描述自动生成数据模型来简化模式设置。这个高效的工具加快了项目初始化,并确保您的模式支持所有 crud 功能。 如何使用 ai 代理: 找到 ai 代理: 登录您的 back4app 控制面板,在项目设置中找到 ai 代理。 详细描述您的数据模式: 提供一个概述所需集合及其各自字段的提示。 审核并确认: 检查提议的模式并批准以实施更改。 示例提示 create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) 这个 ai 驱动的功能最小化了手动配置,并优化了您的数据模型以进行 crud 操作。 步骤 3 – 启用管理界面和管理 crud 操作 管理界面概述 back4app 管理界面是一个无代码解决方案,简化了后端数据管理。其直观的设计使您能够轻松创建、查看、修改和删除记录。 激活管理界面 前往您的 back4app 仪表板上的 “更多” 菜单 选择 “管理界面” 然后点击 “启用管理界面。” 配置您的管理员凭据 通过设置初始管理员帐户。这也建立了角色(例如, b4aadminuser ) 和系统集合。 启用管理员应用 激活后,登录管理界面以管理您的应用数据。 管理员应用仪表板 使用管理界面进行 crud 操作 在此界面中,您可以: 插入记录: 在集合(如项目)中使用 “添加记录” 选项输入新数据。 检查和修改记录: 点击记录以查看或更新其字段。 删除记录: 删除不再需要的记录。 这个用户友好的界面显著简化了数据管理。 步骤 4 – 将您的 kotlin 应用程序与 back4app 连接 在配置好您的后端后,下一步是将您的 kotlin 应用程序与 back4app 连接。需要注意的是,尽管我们使用的是 parse java sdk,但 kotlin 与 java 的无缝互操作性使您可以毫无问题地进行集成。 选项 a:利用 parse sdk for kotlin(通过 java) 包含 parse sdk 依赖项: 如果您使用 gradle,请将以下内容添加到您的 build gradle kts dependencies { implementation("com parse\ parse sdk 1 18 0") } 在您的 kotlin 应用程序中初始化 parse: 创建一个配置文件(例如, parseconfig kt ) // parseconfig kt import com parse parse object parseconfig { fun initialize() { parse initialize( parse configuration builder("your application id") clientkey("your kotlin key") server("https //parseapi back4app com") build() ) } } 在 kotlin 中实现 crud 方法: 例如,创建一个服务来管理项目: // itemsservice kt import com parse parseexception import com parse parseobject import com parse parsequery object itemsservice { fun getitems() list\<parseobject>? { return try { parsequery getquery\<parseobject>("items") find() } catch (e parseexception) { println("获取项目时出错 ${'$'}{e message}") null } } fun createitem(title string, description string) { val item = parseobject("items") item put("title", title) item put("description", description) try { item save() println("项目成功创建 ") } catch (e parseexception) { println("创建项目失败 ${'$'}{e message}") } } fun updateitem(objectid string, newtitle string, newdescription string) { val query = parsequery getquery\<parseobject>("items") try { val item = query get(objectid) item put("title", newtitle) item put("description", newdescription) item save() println("项目成功更新 ") } catch (e parseexception) { println("更新失败 ${'$'}{e message}") } } fun deleteitem(objectid string) { val query = parsequery getquery\<parseobject>("items") try { val item = query get(objectid) item delete() println("项目成功删除 ") } catch (e parseexception) { println("删除错误 ${'$'}{e message}") } } } 选项 b:使用 rest 或 graphql api 如果您不想使用 parse sdk,可以通过 rest 调用执行 crud 操作。例如,要使用 rest 检索项目: import java io bufferedreader import java io inputstreamreader import java net httpurlconnection import java net url object restclient { fun fetchitems() { try { val url = url("https //parseapi back4app com/classes/items") val connection = url openconnection() as httpurlconnection connection requestmethod = "get" connection setrequestproperty("x parse application id", "your application id") connection setrequestproperty("x parse rest api key", "your rest api key") bufferedreader(inputstreamreader(connection inputstream)) use { reader > val response = reader readtext() println("response $response") } } catch (e exception) { println("error fetching items ${'$'}{e message}") } } } 根据需要在您的 kotlin 类中集成这些 api 调用。 步骤 5 – 增强后端安全性 访问控制列表 (acls) 通过在对象上设置 acls 确保您的数据保持安全。例如,要创建一个仅由其所有者访问的项目: import com parse parseacl import com parse parseexception import com parse parseobject import com parse parseuser fun createprivateitem(title string, description string, owner parseuser) { val item = parseobject("items") item put("title", title) item put("description", description) val acl = parseacl() acl setreadaccess(owner, true) acl setwriteaccess(owner, true) acl setpublicreadaccess(false) acl setpublicwriteaccess(false) item acl = acl try { item save() println("private item created successfully ") } catch (e parseexception) { println("error saving private item ${'$'}{e message}") } } 类级权限 (clps) 通过 back4app 仪表板设置 clps,以强制执行默认访问策略,确保只有经过身份验证的用户才能与敏感集合进行交互。 步骤 6 – 实施用户身份验证 配置用户管理 back4app 利用 parse 的内置用户集合进行身份验证。在您的 kotlin 应用中,您可以按如下方式处理用户注册和登录: import com parse parseexception import com parse parseuser object authservice { fun signup(username string, password string, email string) { val user = parseuser() user username = username user setpassword(password) user email = email try { user signup() println("registration successful!") } catch (e parseexception) { println("sign up error ${'$'}{e message}") } } fun login(username string, password string) { try { val user = parseuser login(username, password) println("logged in as ${'$'}{user username}") } catch (e parseexception) { println("login failed ${'$'}{e message}") } } } 该结构可以扩展用于会话管理、密码重置和其他身份验证机制。 第7步 – 结论和未来的增强 恭喜!您成功构建了一个基于kotlin的crud应用程序,并与back4app集成。 在本指南中,您设置了一个名为 basic crud app kotlin , 定义了items和users的数据集合,并通过back4app管理界面管理您的数据。 此外,您通过parse sdk(或api调用)连接了您的kotlin应用程序,并实施了强大的安全实践。 下一步: 扩展应用程序: 集成额外功能,例如高级搜索功能、详细的项目视图或实时更新。 增强后端功能: 考虑探索云函数、第三方api集成或高级基于角色的访问控制。 深化您的专业知识: 访问 back4app文档 https //www back4app com/docs 以获取进一步的指导和高级教程。 祝您编码愉快,并祝您的kotlin crud应用程序好运!