即时通讯(一)--集成Bmob和融云(Android)

开头

最近正好再写一个即时通讯的项目,所有就来总结一下关于即时通讯的内容。

关于Bmob和融云

Bmob是提供了数据服务平台,我们可以将我们的数据全部存储在云端,完全消除我们编写服务器代码以及维护服务器的操作。后面我们项目中的好友信息全部都是存储在Bmob中

融云:做过Android开发的人应该都不陌生吧,在我们的项目中,主要是实现聊天和音视频通讯

废话不多说,直接开始我们项目的开发吧

集成Bmob

如果还没注册过的Bmob的朋友们,先去Bmob的官网去注册一个
Bmob官网地址

注册完成之后的朋友们,点击后台管理应->点击创建应用
在这里插入图片描述
接下来就在AS中导入Bmob,我们使用的自动导入

在 Project 的 build.gradle 文件中添加 Bmob的maven仓库地址:

 buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.2.3'
        }
    }

    allprojects {
        repositories {
            jcenter()
            //Bmob的maven仓库地址--必填
            maven {url 'https://dl.bintray.com/chaozhouzhang/maven' }
        }
    }

在app的build.gradle文件中添加依赖文件:

android {
    useLibrary 'org.apache.http.legacy'
}
dependencies {
    implementation 'cn.bmob.android:bmob-sdk:3.7.8'
    implementation "io.reactivex.rxjava2:rxjava:2.2.8"
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
    implementation 'com.squareup.okhttp3:okhttp:3.14.1'
    implementation 'com.squareup.okio:okio:2.2.2'
    implementation 'com.google.code.gson:gson:2.8.5'
    }

每一个的AS可能导入不一样(当初我导入就费了一番功夫),具体的去Bmob官网查看

配置AndroidManifest.xml

<!--允许联网 --> 
<uses-permission android:name="android.permission.INTERNET" /> 
<!--获取GSM(2g)、WCDMA(联通3g)等网络状态的信息  --> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<!--获取wifi网络状态的信息 --> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<!--保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<!--获取sd卡写的权限,用于文件上传和下载-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许读取手机状态 用于创建BmobInstallation--> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="cn.bmob.example"
        android:versionCode="1"
        android:versionName="1.0">

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name="cn.bmob.example.MainActivity"
            android:screenOrientation="portrait"
            android:label="@string/app_name">

                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>

    </application>
</manifest>

配置ContentProvider

<application>
···
<provider
    android:name="cn.bmob.v3.util.BmobContentProvider"
    android:authorities="你的应用包名.BmobContentProvider">
</provider>
···
</application>

应用包名可以在Project的config.gradle里面找到(applicationId对应的就是) 比如我的就是 com.example.meet

基本上就配置完成了。 后面我们再来具体的使用

集成融云

没有注册过融云的朋友门,选取融云的官网注册一个账号
融云的官网

注册成功后->点击开发者后台->服务管理->创建应用
在这里插入图片描述
创建成功后,接下来就是AS导入融云SDK
在工程根目录下的 build.gradle 配置脚本的 allprojects 中添加 SDK 的 Maven 仓库地址, 如下:

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven {url  "https://dl.bintray.com/rongcloud/maven"}
    }
}

在项目主工程中的 build.gradle 添加远程依赖, 如下:

dependencies {
    api 'cn.rongcloud.sdk:im_lib:4.0.0.1'
    api 'cn.rongcloud.sdk:im_kit:4.0.0.1'
}

基本上 到这里,集成Bmob和融云已经成功了,接下来就是开始我们的项目发开吧.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值