Files
ai-proj-helper/skills-dev/dev-pda-plugin/skills/SKILL.md
John Qiu 3706d7f32d feat(skill): REQ-20260406-0004 技能三层分离重构(7主线+16插件)
批次1: req-prd 瘦身 + req-design 重定位 + dev-coding 聚焦
批次2: dev-review 新建 + review-checklist 插件
批次3: dev-integration 新建 + req-compare 拆出
批次4: 插件完善 (req-research/db-migration/dev-scaffold/deploy-rollback)
批次5: 平台拆分 (dev-ios/dev-android/dev-mcp/dev-pda) + dev 分组更新
批次6: marketplace.json 32→44 plugins

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:44:08 +09:30

1.1 KiB
Raw Permalink Blame History

name, description
name description
dev-pda PDA 应用开发插件。Android 原生 + 扫码枪集成 + 离线优先。当涉及 PDA/手持终端开发时按需加载。

PDA 应用开发插件 (dev-pda)

特点

  • Android 原生开发Kotlin
  • 扫码枪硬件集成
  • 离线优先(本地 Room DB + 同步队列)
  • 简洁 UI大按钮、大字体、适配小屏幕

扫码集成

class ScanReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val barcode = intent.getStringExtra("SCAN_BARCODE")
        // 处理扫码结果
    }
}

离线存储

@Entity(tableName = "inventory")
data class Inventory(
    @PrimaryKey val id: Long,
    val barcode: String,
    val quantity: Int,
    @ColumnInfo(name = "sync_status")
    val syncStatus: SyncStatus = SyncStatus.PENDING
)

enum class SyncStatus { PENDING, SYNCED, FAILED }

离线同步策略

操作 → 写入本地 DB (PENDING)
       ↓
网络可用 → 批量上传 → 成功 → 标记 SYNCED
                      ↓ 失败
                 标记 FAILED → 下次重试