public class ClientCoreSDK
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
static boolean |
autoReLogin
是否在登陆成功后掉线时自动重新登陆线程中实质性发起登陆请求,true表示将在线程
运行周期中正常发起,否则不发起(即关闭实质性的重新登陆请求)。
|
static boolean |
DEBUG
true表示开启MobileIMSDK Debug信息在Logcat下的输出,否则关闭。
|
限定符和类型 | 方法和说明 |
---|---|
ChatBaseEvent |
getChatBaseEvent()
返回框架基础通信消息的回调事件通知实现对象(可能的通知
有:登陆成功事件通知、掉线事件通知)
|
ChatTransDataEvent |
getChatTransDataEvent()
返回通用数据通信消息的回调事件通知实现对象引用(可能的通知
有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。
|
java.lang.String |
getCurrentLoginExtra()
返回登陆信息成功发出后被设置的登陆额外信息(其是由调用者自行设置,不设置则为null)。
|
java.lang.String |
getCurrentLoginToken()
返回登陆信息成功发出后被设置的登陆token。
|
java.lang.String |
getCurrentLoginUserId()
返回提交到服务端的准一用户id,保证唯一就可以通信,可能是登陆用户名
、也可能是任意不重复的id等,具体意义由业务层决定。
|
static ClientCoreSDK |
getInstance()
取得本类实例的唯一公开方法。
|
MessageQoSEvent |
getMessageQoSEvent()
返回QoS质量保证机制的回调事件通知实现对象(可能的通知
有:消息未成功发送的通知、消息已被对方成功收到的通知等)。
|
void |
init(android.content.Context _context)
初始化核心库.
|
boolean |
isConnectedToServer()
是否已成功连接到服务器(当然,前提是已成功发起过登陆请求后).
|
boolean |
isInitialed()
MobileIMSDK_X的核心框架是否已经初始化.
|
boolean |
isLocalDeviceNetworkOk() |
boolean |
isLoginHasInit()
当且仅当用户从登陆界面成功登陆后设置本字段为true,
服务端反馈会话被注销或系统退出(登陆)时自动被设置为false。
|
void |
release()
释放MobileIMSDK框架资源统一方法。
|
void |
setChatBaseEvent(ChatBaseEvent chatBaseEvent)
设置框架基础通信消息的回调事件通知实现对象(可能的通知
有:登陆成功事件通知、掉线事件通知)
|
void |
setChatTransDataEvent(ChatTransDataEvent chatTransDataEvent)
设置通用数据通信消息的回调事件通知实现对象(可能的通知
有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。
|
void |
setConnectedToServer(boolean connectedToServer)
是否已成功连接到服务器(当然,前提是已成功发起过登陆请求后).
|
ClientCoreSDK |
setCurrentLoginExtra(java.lang.String currentLoginExtra)
登陆信息成功发出后就会设置本字段(即登陆额外信息,其是由调用者自行设置
,不设置则为null),登陆额外信息也将在掉线后自动重连时使用。
|
void |
setCurrentLoginToken(java.lang.String currentLoginToken)
登陆信息成功发出后就会设置本字段(即登陆token),登陆token也将
在掉线后自动重连时使用。
|
ClientCoreSDK |
setCurrentLoginUserId(java.lang.String currentLoginUserId)
登陆信息成功发出后就会设置本字段(即登陆uid),登陆uid也将
在掉线后自动重连时使用。
|
ClientCoreSDK |
setLoginHasInit(boolean loginHasInit)
当且仅当用户从登陆界面成功登陆后设置本字段为true,
服务端反馈会话被注销或系统退出(登陆)时自动被设置为false。
|
void |
setMessageQoSEvent(MessageQoSEvent messageQoSEvent)
设置QoS质量保证机制的回调事件通知实现对象(可能的通知
有:消息未成功发送的通知、消息已被对方成功收到的通知等)。
|
public static boolean DEBUG
public static boolean autoReLogin
什么样的场景下,需要设置本参数为false?比如:上层应用可以在自已的节电逻辑中控 制当网络长时断开时就不需要实质性发起登陆请求了,因为 网络请求是非常耗电的。
本参数的设置将实时生效。
public static ClientCoreSDK getInstance()
依据作者对MobileIMSDK API的设计理念,本类目前在整个框架运行中 是以单例的形式存活。
public void init(android.content.Context _context)
本方法被调用后, isInitialed()
将返回true,否则返回false。
注意:因Andriod系统在处理网络变动广播 事件的特殊性,本方法应在MobileIMSDK的登陆信息被发出前已被开发者调用完成。 且越早被调用越好(如放在Application的onCreate()方法中或者登陆Activity的 onCreate()方法中)。具体原因详见:LocalUDPDataSender.SendLoginDataAsync 中由Jack Jiang编写的技术要点备忘录。
net.openmob.mobileimsdk.android.core.LocalUDPDataSender.SendLoginDataAsync}
public void release()
本方法建议在退出登陆(或退出APP时)时调用。调用时将尝试关闭所有
MobileIMSDK框架的后台守护线程并同设置核心框架init=false、
loginHasInit
=false、connectedToServer
=false。
public java.lang.String getCurrentLoginUserId()
connectedToServer
==true 时才有意义.public ClientCoreSDK setCurrentLoginUserId(java.lang.String currentLoginUserId)
currentLoginUserId
- public java.lang.String getCurrentLoginToken()
connectedToServer
==true 时才有意义.public void setCurrentLoginToken(java.lang.String currentLoginToken)
currentLoginToken
- public java.lang.String getCurrentLoginExtra()
connectedToServer
==true 时才有意义.public ClientCoreSDK setCurrentLoginExtra(java.lang.String currentLoginExtra)
currentLoginExtra
- public boolean isLoginHasInit()
public ClientCoreSDK setLoginHasInit(boolean loginHasInit)
loginHasInit
- public boolean isConnectedToServer()
此“成功”意味着可以正常与服务端通信(可以近似理解为Socket正常建立)
,“不成功”意味着不能与服务端通信.
不成功的因素有很多:比如网络不可用、网络状况很差导致的掉线、心跳超时等.
本参数是整个MobileIMSDK框架中唯一可作为判断与MobileIMSDK服务器的通信是否正常的准确依据。
本参数将在收到服务端的登陆请求反馈后被设置为true,在与服务端的通信无法正常完成时被设置为false。
那么MobileIMSDK如何判断与服务端的通信是否正常呢? 判断方法如下:
public void setConnectedToServer(boolean connectedToServer)
connectedToServer
- public boolean isInitialed()
public boolean isLocalDeviceNetworkOk()
public void setChatBaseEvent(ChatBaseEvent chatBaseEvent)
chatBaseEvent
- 框架基础通信消息的回调事件通知实现对象引用public ChatBaseEvent getChatBaseEvent()
public void setChatTransDataEvent(ChatTransDataEvent chatTransDataEvent)
chatTransDataEvent
- 通用数据通信消息的回调事件通知实现对象引用public ChatTransDataEvent getChatTransDataEvent()
public void setMessageQoSEvent(MessageQoSEvent messageQoSEvent)
messageQoSEvent
- 通用数据通信消息的回调事件通知实现对象引用public MessageQoSEvent getMessageQoSEvent()