• Stars
    star
    2,259
  • Rank 20,387 (Top 0.5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。

使用方式

1. 依赖im_lib库,implementation project(':im_lib')
2. 自定义IMSEventListener,实现OnEventListener,重写对应的方法配置参数
3. 自定义IMSConnectStatusListener,实现IMSConnectStatusCallback,重现对应的方法监听ims连接状态
4. 调用IMSClientInterface.init(Vector<String> serverUrlList, OnEventListener listener, IMSConnectStatusCallback callback)方法,把服务器地址列表、IMSEventListener、IMSConnectStatusListener三个参数传入即可。
5. 发送消息:调用IMSClientInterface.sendMsg(MessageProtobuf.Msg msg)即可发送
6. 接收消息:收到消息会回调IMSEventListener.dispatchMsg(MessageProtobuf.Msg msg)方法。

注:由于jcenter账号一直申请不了,所以目前可以先通过下载源码方式进行依赖,后续会发布到jcenter上,以gradle方式进行依赖。

项目博客地址:

掘金 简书 CSDN

使用过程中,如果有任何疑问,请联系我。

如果该项目对你有用,麻烦star一下哈。。。

QQ交流群:1015178804,目前是Android IM技术交流群,后续写的文章,也会用此群进行交流。

目前准备写的文章如下:

1.《开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现》
2.《开源一个自用的Android IM库,基于Netty+WebSocket+Protobuf实现》
3.《开源一个自用的Android IM库,基于Netty+UDP+Protobuf实现》
4.《开源一个自用的Android网络请求库,基于Rxjava+Retrofit实现》
5.《开源一个自用的Android线程池,基于ThreadPoolExecutor实现》
6.《开源一个自用的Android IM UI界面,包含文本、图片、语音、表情、红包等实现》
7.《开源一个自用的Android图片加载库,基于Glide实现》
8.《开源一个自用的Android视频压缩库,基于MediaCodec实现》
9.《开源一个自用的Android视频压缩库,基于ffmpeg实现》
10.《开源一个自用的Android事件分发中心库,基于对象池实现》

以上文章没有先后顺序,想到哪就写到哪吧。

最新新开了一个微信公众号,方便后续KulaChat发布一些系列文章,同时也是为了激励自己写作。主要发布一些原创的Android IM相关的文章(也会包含其它方向),不定时更新。感兴趣的同学可以关注一下,谢谢。PS:感觉鸿洋大神提供的公众号文章排版方式,感激不尽~~

FreddyChen的微信公众号

License

Copyright 2019, chenshichao       

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at 

   http://www.apache.org/licenses/LICENSE-2.0 

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

KulaKeyboard

Kotlin
252
star
2

Silhouette

封装的Android常用控件,比如:SleTextButton、SleImageButton、SleConstraintLayout、SleFrameLayout、SleLinearLayout、SleRelativeLayout等。使控件具备Shape、Selector等功能,省去编写shape或selector文件的繁琐步骤。另外支持N种颜色渐变,弥补原生shape文件只支持三种颜色(startColor/centerColor/endColor)的不足等。
Kotlin
131
star
3

CEventCenter

一个Android事件分发中心库,基于对象池及接口回调实现。实现类似BroadcastReceiver/RxBus/EventBus等的消息事件传递功能,用于在Activity/Fragment/Service之间的消息传递通讯。
Java
117
star
4

Shine-Kotlin

基于Retrofit+Kotlin协程实现的Kotlin网络请求库封装,支持GET/POST/PUT/DELETE请求、动态BaseUrl、请求头、请求/响应日志等。同时,支持自定义Parser(数据解析器),用于解决不同返回数据Model。
Kotlin
86
star
5

KulaChat

基于ims_kula实现的Android即时通讯app
Java
56
star
6

Shine-Java

基于Retrofit+RxJava实现的Java网络请求库封装,支持GET/POST/PUT/DELETE请求、动态BaseUrl、请求头、请求/响应日志、自定义加解密器等。同时,支持自定义Parser(数据解析器),用于解决不同返回数据Model。
Java
46
star
7

ims_kula

Android IM SDK,包含TCP/WebSocket实现
Java
33
star
8

kulachat-server

KulaChat服务端,基于SpringBoot+Gradle构建。
Java
28
star
9

CWidget

一些Android通用的常用控件,比如可支持自定义属性shape/selector/corners radius的CTextButton
3
star
10

freddychen.github.io

个人博客
HTML
2
star
11

KulaMediaSelector

自定义媒体选择器
1
star
12

MarkdownImages

Markdown图床
Java
1
star