标签归档:BBSSDK1.5.0

1. 迁移说明

由于Mob的所有SDK的key全部统一。当您从BBSSDK 1.0.0 升级到1.5.0的时候,除了更新新的库文件,对应的初始化方法也需要有一些简单的修改,这样才能正常初始化新的BBSSDK1.5.0。

2. 在meta—data中声明key的迁移方法

如果您之前是通过在AndroidManifest.xml里面声明key的方式:

<meta-data
    android:name="Mob-AppKey"
    android:value="替换为mob官网申请的appkey"/>

初始化方式为:

MobSDK.init(context);
BBSSDK.registerSDK();

那么您需要把上面的值更新为在官网上新申请到的统一的key和secret:

<meta-data
     android:name="Mob-AppKey"
     android:value="替换为mob官方申请的appkey"/>
<meta-data
     android:name="Mob-AppSecret"
     android:value="替换为mob官方申请的appkey对应的appSecret"/>

并且对应的初始化方法修改为:

MobSDK.init(this);

2. 在代码中直接初始化key的方法

您也可以直接删除掉在AndroidManifest.xml里面的meta-data声明,而直接通过代码来初始化:

MobSDK.init(this, APP_KEY, APP_SECRET);

BBSSDKGUI提供了一些基础界面以及基础控件(附源码),用户可自己权衡修改和使用。下面说明其中主要的界面和控件:

(更详细的API说明请见下载的SDK中的BBSSDK for Android ApiDoc或者自行查看源码)

一、集成,初始化和配置sdk

集成,初始化和配置sdk请参考快速集成

二、View控件

使用方式:代码布局或者xml布局

    1.  TitleBar 标题栏
    2.  EmptyView 请求列表为空的View
    3.  ForumForumView 主页面置顶板块配置的View
    4.  ForumImageViewer 浏览图片的View
    5.  ForumThreadDetailView 帖子详情的View
    6.  ForumThreadListView 帖子列表的View
    7.  ForumThreadView 主页面主题帖子列表的View
    8.  IOSLoadingView 仿IOS风格的加载View
    9.  LoadingView 请求加载的View
    10.  MainView 论坛主页面的View
    11.  RequestLoadingView 请求加载的View
    12.  RichEditor 富文本编辑器的View
    13.  SelectForumView 论坛板块选择的View

三、Activity界面

使用上面控件组装的activity界面

使用方式:(以PageMain界面为例)

PageMain pageMain = new PageMain();
pageMain.show(context);
pageMain.showForResult(context, new FakeActivity(){
   public void onResult(HashMap<String, Object> data) {
   //TODO 界面返回回调
   }
});
    1.  PageMain 默认论坛首页界面
    2.  PageForumThread版块帖子列表界面
    3.  PageForumThreadDetail帖子详情界面
    4.  PageImageViewer浏览图片界面
    5.  PageSelectForum 板块选择界面。
    6.  PageWeb打开外链的界面
    7.  PageAttachmentViewer 默认下载和打开附件的界面
    8.  PageWriteThread 用户帖子编辑界面
    9.  PageEditProfile用户资料编辑界面
    10.  PageLogin用户登录界面
    11.  PageReactiveConfirm 用户再次发送激活邮件界面
    12.  PageRegister用户注册界面
    13.  PageRegisterConfirm用户注册确认界面
    14.  PageRetrievePassword用户找回密码界面
    15.  PageRetrievePasswordConfirm用户找回密码确认界面
    16.  PageSetUserProfile用户资料设置界面
    17.  PageUserProfile用户资料显示界面

一、集成,初始化和配置sdk

集成,初始化和配置sdk请参考快速集成

二、API调用

所有API调用均心APICallback接口回调的方式返回数据结果。

数据实体对象说明:

    • ForumForum 论坛版块
    • ForumThread 主题帖子
    • ForumPost 回帖
    • ForumThreadAttachment 主题帖子附件
    • User 用户信息
    • UserQuestion 用户登录安全问题

(更详细的字段说明请见下载的SDK中的BBSSDK for Android ApiDoc)

1) 论坛信息相关API

ForumAPI forumAPI = BBSSDK.getApi(ForumAPI.class);

其包含接口如下:

    • getForumList 获取所有版块或某版块子版块列表
    • getThreadListByForumId 获取某版块主题帖子列表
    • getThreadDetailsByThreadId 获取某主题帖子详情
    • getPostListByThreadId 获取某主题帖子回帖列表
    • createThread 创建主题帖子
    • createPost 创建回帖
    • uploadImage 上传图片(图片最大不能超过10M)

例如:
调用异步获取所有版块列表方式如下:

ForumAPI forumAPI = BBSSDK.getApi(ForumAPI.class);
forumAPI.getForumList(0, false, new APICallback<ArrayList<ForumForum>>() {
   public void onSuccess(API api, int action,
                    ArrayList<ForumForum> result) {
      //TODO 获取版块列表成功
   }
   public void onError(API api, int action, int errorCode, Throwable      details) {
      //TODO 获取失败
   }
});

2) 用户信息相关API

UserAPI userAPI = BBSSDK.getApi(UserAPI .class);

其包含接口如下:

    • register 注册
    • login 登录
    • forgotPwd 找回密码
    • sendAuthEmail 发送认证邮件
    • updateUserInfo 更新用户信息
    • getUserInfo 获取用户信息
    • logout 退出登录
    • getCurrentUser 获取当前缓存的用户信息

例如:
异步调用注册接口方式如下:

UserAPI userAPI = BBSSDK.getApi(UserAPI.class);
userAPI.register("userName", "password", "email", false, new APICallback<User>() {
   public void onSuccess(API api, int action, ArrayList<User> result) {
      //TODO 注册成功
   }
   public void onError(API api, int action, int errorCode, Throwable details) {
      //TODO 注册失败
   }
});

三、API错误码

API返回的错误码说明如下:(详见ErrorCode.java说明)

    • 200 成功
    • 500 服务器异常
    • 1000 网络超时,或者数据处理异常
    • 1001 appkey未配置
    • 1002 论坛尚未初始化成功
    • 1003 请求服务器端接口失败
    • 1004 论坛插件端返回数据异常,请检查插件是否正确安装和启用
    • 1100 论坛返回的错误提示信息(如发帖回帖失败等相关原因)
    • 1101 上传图片失败
    • 1200 用户登录信息过期,请重新登录
    • 1201 用户名或密码不正确或用户状态异常
    • 1202 当前不允许注册
    • 1203 用户名或密码或邮箱格式不正确或邮箱已存在
    • 1204 用户名或邮箱已被占用
    • 1205 必须提交正确安全问题答案才能登陆
    • 1206 用户未激活,请前往邮箱验证
    • 1207 邮件发送失败,可申请重新发送邮箱认证
    • 1208 信息提交还需人工审核,请联系管理员
    • 1209 找回密码失败,提交的邮箱和用户的邮箱不匹配
    • 1210 登录失败,用户名或邮箱不能同时为空

2. V1.5.0(2017-05-17)

 

1、新增完整用户系统相关API

2、新增发帖和回帖API

3、新增用户相关界面、版块管理界面、发帖回帖界面等新版本UI交互设计

1. V1.0.0(2017-03-15)

版本功能:

1. 新增获取论坛版块列表API

2. 新增获取论坛主题帖子列表API

3. 新增获取主题帖子回帖列表API

4. 新增论坛首页、帖子列表、帖子详情、附件下载、图片浏览、标题栏等控件及界面

介绍

按照快速集成文档,您可以很容易的把BBSSDK提供的功能集成到您的应用中,然后使用BBSSDK来做开发。

在集成前,您也可以先下载示例Sample的源码工程(包含应用内打开pdf\office等格式文件)。使用Android Studio打开后,编译出网站上提供的演示应用。

其github开源地址如下:

https://github.com/MobClub/BBSSDK-for-Android

一、获取AppKey

申请MobSDK的appkey流程

二、下载SDK

点击进入下载界面

三、导入SDK

解压下载的ZIP包,将其中BBSSDKGUI工程导入到新项目中,并添加项目依赖关系即可。

BBSDK包结构

 

四、配置AndroidManifest.xml

1. 添加权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

2. 在application标签内添加activity信息

<activity
    android:name="com.mob.tools.MobUIShell"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="stateHidden|adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

3. 在application标签内添加meta信息

<meta-data
     android:name="Mob-AppKey"
     android:value="替换为mob官方申请的appkey"/>
<meta-data
     android:name="Mob-AppSecret"
     android:value="替换为mob官方申请的appkey对应的appSecret"/>

五、初始化SDK

在您App的Application中继承MobApplication然后用如下方法进行初始化:

public class XXXApplication extends MobApplication {
   public void onCreate() {
      super.onCreate();
   }
}

如果您不能继承MobApplication,也可以通过如下方法进行初始化:

public class XXXApplication extends Application {
   public void onCreate() {
      super.onCreate();
      MobSDK.init(this);
   }
}

说明:您也可以通过不在AndroidManifest.xml的meta-data里面声明Mob-AppKey和Mob-AppSecret, 而直接在代码里声明的方式:

public class XXXApplication extends Application {
   public void onCreate() {
      super.onCreate();
      MobSDK.init(this, APP_KEY, APP_SECRET);
   }
}

六、添加论坛主界面

在您的界面中添加MainView,并调用loadData()方法加载数据:

MainView mainView = new MainView (context);
mainView.loadData();

七、代码混淆

请在项目主工程的proguard-rules.pro或者proguard-project.txt中添加如下信息:

-keep class com.mob.**{*;}