インスタントコミュニケーションSDK IMSDK使用心得
imsdkは本当に便利で柔軟だと言わざるを得ませんが、愛萌提供サーバーは、与えられたsdkの方法はnewスレッドを呼び出す必要もなく、インポートするsoファイルもjarパッケージも特に少なく、Android Menefestにコンポーネントを追加する必要もなく、登録するときにパッケージ名をアップロードすればいいので、sha 1をアップロードする必要もありません.使用回数もほとんど制限されず、このようなsdkを見つけて花を咲かせた.そこでChatUtilパッケージのいくつかの一般的な方法を書きました
まずはactivityで初期化しておきます
次は一般的な方法のパッケージです
まずはactivityで初期化しておきます
IMSDK.init(getApplicationContext(), " appKey");
次は一般的な方法のパッケージです
import java.util.ArrayList;
import java.util.List;
import imsdk.data.IMMyself;
import imsdk.data.IMMyself.OnActionListener;
import imsdk.data.IMMyself.OnReceiveTextListener;
import imsdk.data.localchatmessagehistory.IMChatMessage;
import imsdk.data.localchatmessagehistory.IMMyselfLocalChatMessageHistory;
import imsdk.data.recentcontacts.IMMyselfRecentContacts;
public class ChatUtils {
/**
* , ,
* @param username
* @return
*/
public static void InitChat(String username){
// 、 , customUserID password
IMMyself.setCustomUserID(username);// app , app ,
IMMyself.setPassword("123456");
System.out.println(" ");
// 30
IMMyself.register(30, new OnActionListener() {
@Override
public void onSuccess() {
System.out.println(" ");
login();
}
@Override
public void onFailure(String error) {// , ,
if (error.equals("Timeout")) {
error = " ";
}
//error
System.out.println(" "+error);
login();// ,
}
});
}
/**
*
*/
public static void login(){
// 5
IMMyself.login(false, 5, new OnActionListener() {
@Override
public void onSuccess() {
System.out.println(" ");
long unreadMsgCount = IMMyselfRecentContacts.getUnreadChatMessageCount();
System.out.println(" "+unreadMsgCount);
//
IMMyself.setOnReceiveTextListener(new OnReceiveTextListener() {
//
@Override
public void onReceiveText(String text, String fromCustomUserID, long serverActionTime) {
System.out.println(" "+fromCustomUserID);
System.out.println(" "+text);
// ,
}
//
@Override
public void onReceiveSystemText(String text, long serverActionTime) {
System.out.println(" "+text);
}
});
/**
*
*/
}
@Override
public void onFailure(String arg0) {
// TODO Auto-generated method stub
System.out.println(" ");
/**
*
*/
}
});
}
/**
*
* @param receiver
* @param content
*/
public void sendMessage(String receiver,String content){
IMMyself.sendText(content, receiver, 2000, new OnActionListener() {
@Override
public void onSuccess() {
System.out.println(" ");
/**
*
*/
}
@Override
public void onFailure(String error) {
System.out.println(" ");
/**
*
*/
}
});
}
/**
*
* @param partner
* @return
*/
public static List<IMChatMessage> getHistory(String partner){
//
// index=0,
List<IMChatMessage> list = new ArrayList<IMChatMessage>();
IMChatMessage chatMsg = IMMyselfLocalChatMessageHistory.getChatMessage(partner, 0);
long count = IMMyselfLocalChatMessageHistory.getChatMessageCount(partner);
for (int i = 0; i < count; i++) {
list.add(IMMyselfLocalChatMessageHistory.getChatMessage(partner, i));
}
return list;
}
}