集成环信实现聊天

首先,登上环信官网,申请注册,


注册成功之后,登录环信,登录成功之后,找到“我的应用”中的“创建应用”,


点开--“创建应用”,进行填写,(应用名称,产品名称,注册模式······),填写完毕之后,点击----确定。


创建成功之后,会显示一个界面,其中---“应用标识(AppKey)”所对应的值,记下来,后面项目中会用到。


成功之后,可以点击——“IM用户”   注册一个IM用户:填写用户名和密码,用于项目中登录环信。


那么,我们想从网上下载开发包,

https://github.com/easemob/easeui

https://github.com/easemob/sdkdemoapp3.0_android

然后把下载后,开发包中的EaseUI导入到eclipse中

导入之后,我们会发现,他们是依附好的两个项目:

EaseUI和EaseUISimpleDemo

============================================================================================================================

我们创建一个自己的项目MyDemo,并把EaseUI依附到此项目中,依附后,他会报错,

把MyDemo中自动生成的V4包移除,查看EaseUI中的V4包是否能用,如果不能用,则要换一个V4包来用了,如果还报错,如下改正:


找到相应报错的地方把swipeRefreshLayout.setColorSchemeResources改成swipeRefreshLayout.setColorSchemeViewCompat.getX改成new ViewCompat().getX,然后重新 build 即可。


或者,把 v4 包的版本号加大,譬如 compile 'com.android.support:support-v4:23.1.1'。



创建MyApplication,继承Application,并重写oncreat方法,写入一行代码


EMOptions options = new EMOptions();
// 默认添加好友时,是不需要验证的,改成需要验证
options.setAcceptInvitationAlways(false);
...
EaseUI.getInstance().init(applicationContext, options);


然后,不要忘记在清MyApplication进行配置,


<application
        android:name="com.bawei.makingfriends.MyApplication"


并添加一些权限,如下:


<uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />


并在<application></application>节点中,添加一些设置,把你在环信中获得的APPKey值,替代Your Key


 <!-- 设置环信应用的AppKey -->
        <meta-data android:name="EASEMOB_APPKEY"  android:value="Your Key" />
        <!-- 声明SDK所需的service SDK核心功能-->
        <service android:name="com.hyphenate.chat.EMChatService" android:exported="true"/>
        <!-- 声明SDK所需的receiver -->
        <receiver android:name="com.hyphenate.chat.EMMonitorReceiver">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_REMOVED"/>
                <data android:scheme="package"/>
            </intent-filter>
            <!-- 可选filter -->
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>


在MainActivity的布局中,进行布局,当然,你也可以用其他布局


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".Base.Email.dialog.MessageActivity">
    
   <FrameLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/fl_message_frame"
       ></FrameLayout>
   
</LinearLayout>



最后在MainActivity中写入如下代码:

 //new出EaseChatFragment或其子类的实例
 EaseChatFragment chatFragment = new EaseChatFragment();
 //传入参数
 Bundle args = new Bundle();
 args.putInt(EaseConstant.EXTRA_CHAT_TYPE, EaseConstant.CHATTYPE_GROUP);
 args.putString(EaseConstant.EXTRA_USER_ID, "zw123");
 chatFragment.setArguments(args);
 getSupportFragmentManager().beginTransaction().add(R.id.container, chatFragment).commit();

最后就可以运行了!!!!!!!!





阅读更多
文章标签: 集成环信实现聊天
个人分类: 第三方类
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

集成环信实现聊天

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭