← ClaudeAtlas

bmob-database-androidlisted

Use when implementing Bmob NoSQL database CRUD in an Android Native project (Java or Kotlin). Triggers: io.github.bmob:android-sdk, Bmob.initialize(this, ...), BmobObject, BmobQuery, BmobUser, BmobInstallation, BmobFile, BmobRelation, BmobGeoPoint, BmobDate, SaveListener, UpdateListener, FindListener, QueryListener, BmobException, BmobContentProvider, AndroidManifest Bmob 配置. NOT for cross-platform JavaScript / WeChat Mini Program / Cocos Creator JS (use bmob-database-javascript), iOS / Swift (use bmob-database-ios), Flutter / Dart (use bmob-database-flutter), or raw HTTP from any other language (use bmob-database-restful). If Bmob MCP is configured, call get_project_tables via bmob-mcp before writing code.
bmob/agent-skills · ★ 3 · API & Backend · score 79
Install: claude install-skill bmob/agent-skills
# Bmob Database — Android Native SDK Bmob 为 Android 原生提供 Java/Kotlin SDK,发布在 Maven 仓库 `io.github.bmob:android-sdk`。模型层用 **继承 `BmobObject`** 的方式(一个 JavaBean 子类 = 一张表),CRUD 通过 SDK 提供的 Listener 回调返回。 ## 核心原则 **1. SDK 引入:** `app/build.gradle` 添加: ```gradle dependencies { implementation 'io.github.bmob:android-sdk:4.2.1' implementation 'io.reactivex.rxjava3:rxjava:3.1.9' implementation 'io.reactivex.rxjava3:rxandroid:3.0.2' implementation 'com.squareup.okhttp3:okhttp:4.8.1' implementation 'com.squareup.okio:okio:2.2.2' implementation 'com.google.code.gson:gson:2.8.5' } ``` **2. Application 子类初始化:** 一次性、必须在任何 Bmob 调用之前。 ```java public class BmobApp extends Application { @Override public void onCreate() { super.onCreate(); Bmob.initialize(this, "你的Application ID"); } } ``` `AndroidManifest.xml` 里指定 `android:name=".BmobApp"`。 **3. 必备权限与 ContentProvider:** 详见 [`references/manifest-and-deps.md`](references/manifest-and-deps.md)(INTERNET / ACCESS_NETWORK_STATE / READ_PHONE_STATE / `<provider>` 等)。 **4. JavaBean 继承 `BmobObject`:** 表名 = 类名,字段名 = 成员变量名。**不要**手动写 `objectId` / `createdAt` / `updatedAt` / `ACL`,BmobObject 已经提供 getter。 **5. Number 字段必须用封装类**(`Integer` / `Long` / `Double` 等),不要用原生 `int` / `long` / `double`,否则保存时无法区分默认值。 **6. Android 6.0+ 网络兼容**:见 [`references/manifest-and-deps.md`](references/manifest-and-deps.md) 的 `useLibrary 'org.apache.http.legacy'` 与 `network_security_config.xml`。 ## 安全清单 - [ ] **不要在 APK 中泄漏 Mast