注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

环信FAQ

环信FAQ

集成常见问题及答案
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
0
评论

CocoaAsyncSocket源码Read(一) iOS开发

zuyu 发表了文章 • 1023 次浏览 • 2021-05-13 14:28 • 来自相关话题

本文为CocoaAsyncSocket源码阅读 将重点涉及该框架是如何利用缓冲区对数据进行读取、以及各种情况下的数据包处理,其中还包括普通的、和基于TLS的不同读取操作等等。注:由于该框架源码篇幅过大,且有大部分相对抽象的数据操作逻辑,尽管楼主竭力想... ...查看全部
1
评论

Gradle 爬坑指南 -- 导论 gradle Android

一盆绿萝 发表了文章 • 1395 次浏览 • 2021-05-13 14:27 • 来自相关话题

Gradle 内容真是超乎寻常的多,在写本文之前我以为有个万把字就差不多了,但随着越看越多,我发现想写的话一本书都是可以写出来的 〒▽〒 因为内容多,我只能拆成多篇文章了,希望能写全吧 我写文章都是喜欢以小白为出发点的,希望对那些一点都不了解 Gralde 的... ...查看全部
1
评论

Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能 Android

可口可乐 发表了文章 • 968 次浏览 • 2021-05-13 14:17 • 来自相关话题

最近项目中需要用到 ListView 下拉刷新的功能,一开始想图省事,在网上直接找一个现成的,可是尝试了网上多个版本的下拉刷新之后发现效果都不怎么理想。有些是因为功能不完整或有 Bug,有些是因为使用起来太复杂,十全十美的还真没找到。因此我也是放弃了在网上找现... ...查看全部
1
评论

Android JPEG 压缩那些事 Android

可口可乐 发表了文章 • 2062 次浏览 • 2021-05-13 14:14 • 来自相关话题

JPEG 基础知识 JPEG(Joint Photographic Experts Group,联合图像专家小组)是一种针对照片影像广泛使用的有损压缩标准方法。 使用 JPEG 格式压缩的图片文件,最普遍使用的扩展名格式为 .jpg,其他常用的扩展名还包括 .... ...查看全部
0
评论

由三个感叹号开启的 debug 篇章 | Java Debug 笔记 Android

柳天明 发表了文章 • 1364 次浏览 • 2021-05-12 15:33 • 来自相关话题

!!! JUnit version 3.8 or later expected: 如下所示,当我在进行单元测试时,控制台居然抛出了这么诡异的bug! 三个感叹号开头 此刻的我 ??? 异常信息如下: java.lang.ClassNotFoundExce... ...查看全部
0
评论

教你如何修改他人网络请求数据!!! Android

柳天明 发表了文章 • 1757 次浏览 • 2021-05-12 15:30 • 来自相关话题

# Http 请求dns 劫持 解决方案: HttpDns 服务器接入 「阿里云 收费 腾讯HttpDns 服务器免费(接入方案 七牛云 sdk)」 OkHttp HttpDns + 证书验证 # OkHttp HttpDns + 证书验证 Ok... ...查看全部
0
评论

想知道手指触摸屏幕的时候发生了什么吗? 滑动 Android

柳天明 发表了文章 • 1110 次浏览 • 2021-05-12 15:24 • 来自相关话题

1 前言 滑动对于android来说,是一个必不可少;它不复杂,大家都知道在onTouchEvent中,让它滑动就完事了,说它复杂,其嵌套处理复杂;在本系列文章,最终是为了熟悉嵌套滑动机制;对于滑动,分为下面几篇文章来完成解读: 滑动基础 ScrollVie... ...查看全部
2
评论

还不会搭安卓架构?有这一篇就够了 架构 Android

柳天明 发表了文章 • 1045 次浏览 • 2021-05-12 10:38 • 来自相关话题

前言用本篇文章理论知识和架构原则实践了一个 wanAndroid 项目,其中全部采用 kotlin 编写并抛弃了 Rxjava,因为 kotlin 可以完全替代他,github 本项目中汇总了业界知名的架构文章和一些项目帮你彻底理解架构。后续本项目将... ...查看全部
0
评论

Android面试:80%的面试官关于Glide都会问这几个问题!【建议收藏】 Android

王二蛋和他的张大花 发表了文章 • 988 次浏览 • 2021-05-11 11:52 • 来自相关话题

Glide的三级缓存有了解过么? 先来了解一下我们常说的图片三级缓存 一般是强引用,软引用和文件系统,Android系统中提供了LruCache,通过维护一个LinkedHashMap来保存我们需要的各种类型数据,例如我们这里需要的Bitmap。Lr... ...查看全部
1
评论

做了这么多年开发,TypedArray你该知道的东西 Android

王二蛋和他的张大花 发表了文章 • 1284 次浏览 • 2021-05-11 11:50 • 来自相关话题

大家好,我是程序员双木L,后续会发专题类的文章,这是自定义控件的第一篇,之后也会陆续更新相关的文章,欢迎关注。 自定义属性在自定义控件过程中属于比较常见的操作,我们可以回想一下这样的场景:自定义view的过程中,我们需要在不同的情况下设置不同的文字大小,那么... ...查看全部
0
评论

想要进阶高级开发?快看画布的基础使用 Android

王二蛋和他的张大花 发表了文章 • 1012 次浏览 • 2021-05-11 11:48 • 来自相关话题

【Android 自定义控件】2.画布的基础使用 1.设置画布的背景颜色 2.画圆形 基本语法 参数说明 3.画直线 单条直线: 基本语法 ... ...查看全部
0
评论

40+场面试,100%通过率,我想分享的14条经验 面试

王二蛋和他的张大花 发表了文章 • 792 次浏览 • 2021-05-11 11:46 • 来自相关话题

作者 | 陈同学       责编 | 欧阳姝黎 这里是陈同学,首先来一个简单的自我介绍,和个人的经历分享吧。 我本科和硕士均就读于哈工大,是今年1月毕业。 我经历过3个专业,大一 船舶工程;大二-大四 车辆... ...查看全部
0
评论

震惊:从头开发一个RPC是种怎样的体验? RPC

王二蛋和他的张大花 发表了文章 • 752 次浏览 • 2021-05-11 11:45 • 来自相关话题

对于开发人员来说,调用远程服务就像是调用本地服务一样便捷。尤其是在微服务盛行的今天,了解RPC的原理过程是十分有必要的。 作者 | Alex Ellis       译者 | 弯月 出品 | CSDN(ID:CS... ...查看全部
0
评论

Google和腾讯为什么都采用主干开发模式? google

王二蛋和他的张大花 发表了文章 • 842 次浏览 • 2021-05-11 11:43 • 来自相关话题

作者 | 黄国峰       责编 | 欧阳姝黎 摘要 本文介绍了两种常用的代码分支模式:特性分支开发模式、主干开发模式,分别阐述了其优缺点和适用环境;同时剖析了 Google 和腾讯采用主干开发模式的背景... ...查看全部
0
评论

我不是个黑客,但我就喜欢安全。快看如何开拓你的开发价值!! 逆向 Android

王二蛋和他的张大花 发表了文章 • 1106 次浏览 • 2021-05-11 11:40 • 来自相关话题

安卓逆向4-使用AndroidKiller插入广告页文章目录 任务要求 1.安装配置AndroidKiller 2.反编译和拷贝替换 3.反编译 任务要求 利用Androidki... ...查看全部
0
评论

快来为你的照片添加个性标签吧! Android

柳天明 发表了文章 • 1146 次浏览 • 2021-05-11 10:38 • 来自相关话题

1. 前言 PS:最近在项目执行过程中有这样一个需求,要求拍完照的图片必须达到以上的效果。需求分析: 使用用预览布局SurfaceView,在不局上方使用控件的方式来进行设计,最后通过截图的方式将画面进行保存。 使用图片添加水印的方式来完成。 ... ...查看全部
0
评论

Fragment问世这么久,你真的会用吗? fragment Android

柳天明 发表了文章 • 884 次浏览 • 2021-05-10 17:23 • 来自相关话题

Fragment的简单用法 在一个Activity中添加两个Fragmet,并让这两个Fragment平分屏幕空间 首先新建一个左侧Fragmet布局left_fragment_xml,这里只放置一个按钮 <?xml version="1.0" enco... ...查看全部
0
评论

iOS-TCP网络框架(二) iOS开发

zuyu 发表了文章 • 895 次浏览 • 2021-05-09 09:47 • 来自相关话题

现在我们已经有了TCP连接, Request, Response和Task, 接下来要做的就是把这一切串起来. 具体来说, 我们需要一个管理方建立并管理TCP连接, 提供接口让调用方通过Request向连接中写入数据, 监听连接中读取到的粘包数据并将数据拆分成... ...查看全部
0
评论

iOS-TCP网络框架(一) iOS开发

zuyu 发表了文章 • 822 次浏览 • 2021-05-09 09:45 • 来自相关话题

TCP概述TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义. 在因特网协议族中,TCP属于传输层, 位于网络层之上,应用层之下.需要注意的是, TCP只是协议声明, 仅对外声明协议提供的功能, 但本身并不进行任何实现. ... ...查看全部
0
评论

drawable用Kotlin应该这样写 kotlin Android

柳天明 发表了文章 • 946 次浏览 • 2021-05-08 14:23 • 来自相关话题

Kotlin应该这样写系列 SharedPreferences用Kotlin应该这样写 Glide用Kotlin应该这样封装(一) Glide用Kotlin应该这样封装(二) 前言 通常我们在res/drawable下面自定义shape和selector来满足... ...查看全部
0
评论

Kotlin 高效解析数学表达式(支持函数) kotlin Android

柳天明 发表了文章 • 1112 次浏览 • 2021-05-08 14:22 • 来自相关话题

需求 由于项目需求,需要在低性能设备高频率地解析计算数学表达式,所以重量级的比如词法分析,语法分析,抽象语法树🌲三件套就不太合适了。(当然也不是不行,只是有点大材小用,而个人能力又有限,对于ANTLR调优之类不太擅长) 说起数学公式解析,当然离不开老朋友逆波兰... ...查看全部
0
评论

Compose Preview 的 UX 设计之旅 compose Android

柳天明 发表了文章 • 953 次浏览 • 2021-05-08 14:17 • 来自相关话题

本文由来自 Android Developer UX 团队的 Preethi Srinivas (UX 研究员) 和 Paris Hsu (交互设计师) 所撰写。 Jetpack Compose 刚刚进入 测试阶段 啦!🎉 在此激动人心的时刻,Android ... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (八) iOS开发

zuyu 发表了文章 • 1178 次浏览 • 2021-05-08 11:22 • 来自相关话题

Connect流程,用一张图来概括总结一下吧:socketchildSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen); 然后调用了newSocketQue... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (七) iOS开发

zuyu 发表了文章 • 1468 次浏览 • 2021-05-08 11:18 • 来自相关话题

addStreamsToRunLoop这里方法做了两件事:CFStream读写回调的常驻线程,其中调用了好几个函数: + (void)startCFStreamThreadIfNeeded; + (void)cfstreamThread; 在这两个函数中,添... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (六) iOS开发

zuyu 发表了文章 • 1102 次浏览 • 2021-05-08 11:13 • 来自相关话题

本文方法十一 -- 连接成功后的初始化原因是为了线程安全和socket相关的操作必须在queue中被回调。这个方法基本上很简单,就是关于两个stream函数的调用:这个函数创建了一对读写stream,并且把stream与这个scoket做了绑定。相信用过的朋友... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (五) iOS开发

zuyu 发表了文章 • 1084 次浏览 • 2021-05-08 11:09 • 来自相关话题

上文我们提到了GCDAsyncSocket的初始化,以及最终connect之前的准备工作,包括一些错误检查;本机地址创建以及socket创建;服务端地址的创建;还有一些本机socket可选项的配置,例如禁止网络出错导致进程关闭的信号等我们去用之前创建的本机地址... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (四) iOS开发

zuyu 发表了文章 • 1137 次浏览 • 2021-05-08 11:05 • 来自相关话题

//根据host、port + (NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr { LogTrace(); ... ...查看全部
1
评论

CocoaAsyncSocket源码分析---Connect (三) iOS开发

zuyu 发表了文章 • 956 次浏览 • 2021-05-08 11:04 • 来自相关话题

interface本文方法四--本地地址绑定方法- (void)getInterfaceAddress4:(NSMutableData **)interfaceAddr4Ptr address6:(NSMutableDa... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (二) iOS开发

zuyu 发表了文章 • 1105 次浏览 • 2021-05-08 10:57 • 来自相关话题

connect也就是我们在截图中选中的方法,那我们就从这个方法作为起点,开始讲起吧。保证这个连接操作一定是在我们的接着把Block中连接过程产生的错误进行赋值,并且把连接的结果返回出去//如果有错误,赋值错误 if (errPtr) *errPtr =... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (一) iOS开发

zuyu 发表了文章 • 1213 次浏览 • 2021-05-08 10:51 • 来自相关话题

CocoaAsyncSocket是谷歌的开发者,基于BSD-Socket写的一个IM框架,它给Mac和iOS提供了易于使用的、强大的异步套接字库,向上封装出简单易用OC接口。省去了我们面向Socket以及数据流Stream等繁琐复杂的编程。本文为一个系列,旨在... ...查看全部
0
评论

汉字笔顺动画技术剖析 Android

王二蛋和他的张大花 发表了文章 • 1604 次浏览 • 2021-05-08 10:31 • 来自相关话题

背景 汉字笔顺动画是常见的语文教育需求,我们导入网上开源的 Hanzi Writter 并部署编辑器,应用在大力智能作业灯上。在原版前端实现基础上我们扩展了 Android 和 iOS 端实现,提供更优化的笔顺动画性能。增强对笔顺绘制的控制能力,实现了指定笔... ...查看全部
0
评论

从一个10年程序员的角度告诉你:搞懂Java面向对象有多容易? Android Java

王二蛋和他的张大花 发表了文章 • 969 次浏览 • 2021-05-08 10:29 • 来自相关话题

前言: 1)java 面向对象语言,面向过程围绕过程(解决问题步骤),面向对象围绕实体(名词,特性(属性),行为(动作、方法))。它们设计思想区别在于关心核心不同的。 主流都是面向对象的。 实际开发,先按面向对象思想进行设计,具体实现时面向过程(人... ...查看全部
0
评论

不懂泛型,怎么装逼,一文把泛型说的明明白白,安排!!! Android Java

王二蛋和他的张大花 发表了文章 • 1036 次浏览 • 2021-05-08 10:27 • 来自相关话题

目录 前言 1、泛型的概念 2、泛型的使用 3、泛型原理,泛型擦除 3.1 IDEA 查看字节码 3.2 泛型擦除原理 4、?和 T 的区别 5、super extends 6、注意点 1、静态方法无法访问类的泛型 2、创建之后无法修改类... ...查看全部
1
评论

程序员五一被拉去相亲,结果彻底搞懂了HTTP常用状态码 Java

王二蛋和他的张大花 发表了文章 • 944 次浏览 • 2021-05-08 10:24 • 来自相关话题

我有一个朋友…… 叫小星,是个北漂程序员。 小星年纪不小了,还是个单身狗。家里很着急,小星也很着急。 可是,小星起身一看,眼前一闪闪闪闪闪闪闪闪闪…… ——全是秃头抠脚大汉…… 前一阵子好不容易来个实习生小姑娘,分给小星带,小星高兴坏了,结果姑娘... ...查看全部
0
评论

Android开发基础之控件CheckBox Android

王二蛋和他的张大花 发表了文章 • 988 次浏览 • 2021-05-08 10:22 • 来自相关话题

目录 一、基础属性 二、自定义样式 1、去掉CheckBox的勾选框 2、自定义背景颜色 3、自定义勾选框的背景图片 三、监听事件       &nb... ...查看全部
1
评论

Android自定义弧型View Android

王二蛋和他的张大花 发表了文章 • 1019 次浏览 • 2021-05-08 10:21 • 来自相关话题

好久没动手玩View自定义,有点生疏了。效果如下 思路很简单,onDraw绘制弧线、绘制Text canvas.drawArc(oval, startAngle, sweepAngle, false, paint); canvas.drawText... ...查看全部
0
评论

音视频开发必备基础知识点整理 IM

王二蛋和他的张大花 发表了文章 • 1115 次浏览 • 2021-05-08 10:20 • 来自相关话题

日常工作中都会接触到音视频的开发,比如目前工作中都会涉及到 TSPlayer、IjkPlayer、MediaPlayer 提供播放能力,不管是什么 Player,其上层调用都是大同小异,但是具体实现以及能够支持的能力各不相同,要想继续深入就必须深入音视频的学习... ...查看全部
0
评论

【JavaWeb】关于WebSocket的IM在线聊天技术 IM

王二蛋和他的张大花 发表了文章 • 1097 次浏览 • 2021-05-08 10:18 • 来自相关话题

最近在弄IM的在线聊天,发现layim又停摆了,所以下决心看看以前学的socket技术,这次的想法是不用swing,使用javaweb的jsp实现在线聊天。 我计划的大致实现步骤分这样几大步: 1、首先实现简单的demo。 2、然后结合线程,实现多客户端连接... ...查看全部
0
评论

Android移动端IM开发之应用层实现TCP长连接多路复用 IM

王二蛋和他的张大花 发表了文章 • 1452 次浏览 • 2021-05-08 10:14 • 来自相关话题

这里只是提供一个长连接多路复用的实现思路 什么是长连接多路复用 从字面意思看就是一台设备只有一条长连接连向服务器,其他集成这个IM SDK的app都会共享这条长连接,TCP长连接的维护是比较耗资源的,而且也会增加耗电,所以实现长连接共享就表示在一定程度... ...查看全部
0
评论

Android中开发IM即时通讯功能的方案 IM

王二蛋和他的张大花 发表了文章 • 1258 次浏览 • 2021-05-08 10:11 • 来自相关话题

最近准备做IM功能,在技术预研当中,其实可行方案还是比较多的,就看怎么选了这里有必要普及一下xmpp是个什么东西?引用某娘的定义:      XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性... ...查看全部
0
评论

IM开发干货分享:我是如何解决大量离线消息导致客户端卡顿的 IM

王二蛋和他的张大花 发表了文章 • 1295 次浏览 • 2021-05-08 10:09 • 来自相关话题

1、引言 好久没写技术文章了,今天这篇不是原理性文章,而是为大家分享一下由笔者主导开发实施的IM即时通讯聊天系统,针对大量离线消息(包括消息漫游)导致的用户体验问题的升级改造全过程。 文章中,我将从如下几个方面进行介绍: 1)这款IM产品的主要业务及... ...查看全部
0
评论

自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM(有源码) IM

王二蛋和他的张大花 发表了文章 • 1421 次浏览 • 2021-05-08 09:56 • 来自相关话题

本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者。 1、写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间。今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心... ...查看全部
0
评论

从零开始开发IM(即时通讯)服务端 IM

王二蛋和他的张大花 发表了文章 • 1240 次浏览 • 2021-05-08 09:52 • 来自相关话题

精选:★→2020年最新的常问企业面试题大全以及答案 作者:yuanrw 原文地址 https://juejin.im/post/5d6b3949f265da03c34c13e5 好消息:IM1.0.0 版本已经上线啦,支持特性: ... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(4) IM Android

柳天明 发表了文章 • 984 次浏览 • 2021-05-07 15:54 • 来自相关话题

调试 我们先来看看连接及重连部分(由于录制gif比较麻烦,体积较大,所以我先把重连间隔调小成3秒,方便看效果)。 启动服务端: 启动客户端: 可以看到,正常的情况下已经连接成功了,接下来,我们来试一下异常情况,比如服务端没启动,看看客户端的重连情况: 这... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(3) IM Android

柳天明 发表了文章 • 1404 次浏览 • 2021-05-07 15:53 • 来自相关话题

TCP的拆包与粘包 什么是TCP拆包?为什么会出现TCP拆包? 简单地说,我们都知道TCP是以“流”的形式进行数据传输的,而且TCP为提高性能,发送端会将需要发送的数据刷入缓冲区,等待缓冲区满了之后,再将缓冲区中的数据发送给接收方,同理,接收方也会有缓冲区... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(2) IM Android

柳天明 发表了文章 • 1552 次浏览 • 2021-05-07 15:47 • 来自相关话题

封装 为什么需要封装呢?说白了,就是为了解耦,为了方便日后切换到不同框架实现,而无需到处修改调用的地方。举个栗子,比如Android早期比较流行的图片加载框架是Universal ImageLoader,后期因为某些原因,原作者停止了维护该项目,目前比较流行的... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(1) IM Android

柳天明 发表了文章 • 1591 次浏览 • 2021-05-07 15:46 • 来自相关话题

写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间。今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心来写一篇文章,毕竟从前辈那里学到了很多东西。工作了五年半,这三四年来一直在做社交相关的项目,有 直播、 即时... ...查看全部
0
评论

一个小型合作的流水线——Android Handler handler Android

柳天明 发表了文章 • 922 次浏览 • 2021-05-07 15:44 • 来自相关话题

当我们遇到多线程的问题,考虑到线程间消息传递的时候,首先想到的肯定是 Handler。虽然写这篇文章的初衷并不是想探究 Handler 的机制,但我们还是先从这个被说烂了的话题开始。 Handler 的工作原理 首先,在了解 Handler 之前,我们需要了解... ...查看全部
0
评论

Jetpack Compose 初体验(二) jetpack Android

柳天明 发表了文章 • 1510 次浏览 • 2021-05-07 15:42 • 来自相关话题

Jetpack Compose 初体验(一)二、主题 基本布局已经差不多啦,那么我们再来搞一些共性的东西,就像我们黄种人都有一样的肤色——散在土地里的黄,有种顽强,非常东方…… 以前的 View 系统其实也有关于 theme 的定义,那些被定义的 style,... ...查看全部
0
评论

Jetpack Compose 初体验(一) jetpack Android

柳天明 发表了文章 • 1541 次浏览 • 2021-05-07 15:41 • 来自相关话题

你是否受够了 Android 中 UI 编写的体验——在 xml 文件中编写复杂的层级结构和繁多的属性,动态化的视图逻辑又被分裂到 Activity 中?哦,这该死的友好度和割裂感! 这两年,Flutter 大行其道,不论是网上的讨论度还是实际的落地项目,风头... ...查看全部