跳轉到主要內容

安裝

  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)