跳转到主要内容

安装

  1. Add InsForge dependencies to your project
build.gradle.kts:
  1. Initialize InsForge SDK
  1. Enable Logging (Optional)
For debugging, you can configure the SDK log level:
Log LevelDescription
NONENo logging (default, recommended for production)
ERROROnly errors
WARNWarnings and errors
INFOInformational messages
DEBUGDebug info (request method, URL, response status)
VERBOSEFull details (headers, request/response bodies)
Use NONE or ERROR in production to avoid exposing sensitive data in logs.

Android Initialization

  1. Add Chrome Custom Tabs dependency to your build.gradle.kts:
  1. Initialize InsForge SDK (With Chrome Custom Tabs and Session Storage)
  1. Use Jetpack DataStore for Session Storage (Optional)

insert()

将新记录插入表中。

示例


update()

更新表中的现有记录。

示例


delete()

从表中删除记录。

示例


select()

从表中查询记录。

示例


executeRaw()

执行 SELECT 查询并返回原始 JSON 数组。当您需要处理动态/无类型数据(例如返回嵌套对象的连接查询)时,请使用此方法。

示例


rpc()

调用 PostgreSQL 存储函数(RPC - 远程过程调用)。此方法允许您直接调用数据库中定义的 SQL 函数。

签名

参数

  • functionName (String) - 要调用的 PostgreSQL 函数的名称
  • args (Map\<String, Any?\>?, optional) - 传递给函数的参数

实现细节

  • 无参数:使用 GET 请求到 /api/database/rpc/{functionName}
  • 有参数:使用 POST 请求(JSON 正文)到 /api/database/rpc/{functionName}

示例

rpcRaw() 示例

当返回类型在编译时动态或未知时,使用 rpcRaw()

筛选器

筛选器说明示例
.eq(column, value)等于.eq("status", "active")
.neq(column, value)不等于.neq("status", "banned")
.gt(column, value)大于.gt("age", 18)
.gte(column, value)大于或等于.gte("price", 100)
.lt(column, value)小于.lt("stock", 10)
.lte(column, value)小于或等于.lte("priority", 3)
.like(column, pattern)区分大小写的模式.like("name", "%Widget%")
.ilike(column, pattern)不区分大小写的模式.ilike("email", "%@gmail.com")
.in(column, list)值在列表中.in("status", listOf("pending", "active"))
.isNull(column)是否为空.isNull("deleted_at")

修饰符

修饰符说明示例
.order(column, ascending)排序结果.order("created_at", ascending = false)
.limit(count)限制行数.limit(10)
.range(from, to)分页.range(0, 9)