Android之自定义UI的IM
通过编写布局,自定义UI实现即时聊天在Android端.
只想靠两手,向理想挥手。
这个作者很懒,什么都没留下…
展开
-
Android 中即时聊天或者后台任务需要发送消息的一种解决方案.
在即时聊天中可能会存在一个隐藏的Bug,这个Bug根据手机的网速和性能有关系,比如你即时聊天中,你发送一消息,你的网络情况不是很好,这个时候你发送的消息一直处于发送状态,然后你不想看了,就按退出,这个时候Activity或者Fragment被销毁的时候就导致了这个消息被强行GC了,所以为了解决这个方案,我们可以使用IntentService,什么是IntentService?/*IntentS原创 2015-11-17 16:32:21 · 3419 阅读 · 0 评论 -
Android 即时聊天布局解析
聊天布局的设计其实有讲究的,如果你写的好,那么你在适配器中的代码就可以少写,如果你的布局没写好,那么你的适配器的逻辑将会非常复杂. 写布局有几个要素: 1.命名.如果控件功能一样,那么把名字命名一样. 2.控件个数.除了发送消息的控件多于接受. 按照这两种就可以实现自己定义的布局,这样适配器可以少写很多逻辑,其中需要用的一些.9.png的技术,读者可以自行学原创 2015-11-09 11:10:59 · 3176 阅读 · 0 评论 -
Android源码学习之ListView的复用回收机制剖析.
本博客参考了地址:点击打开链接在刚开始接触学习Android基础的时候,ListView算是一个比较神奇的控件了,因为那时候好多效果都可以用它实现,而且用它就得用到一个设计模式,[适配器].结果昨天遗留下来一个bug,带这个解决这个Bug去翻看了5.0.1 API22的ListView部分源码分析复用.复用到底有什么用.?简单的举个例子,假如你想要展示一万条item,作为手机不可能一下将一原创 2015-08-13 15:05:54 · 2185 阅读 · 0 评论 -
Anroid之即时聊天的布局及适配器的编写.
即时聊天控件一般采用ListView,因为ListView可以支持不同类型的item,同时ListView本身自己维护了复用机制,可以避免大量的item重复创建导致OOM,但是由于ListView复用机制所以对于编写适配器就需要避免界面混乱,在第一次做布局的时候,一个播放语音动画就导致了布局了混乱显示,所以要编写一个好的apdater去深入了解复用机制去避免界面混乱. 首先我们需要创建一原创 2015-10-29 11:31:59 · 1428 阅读 · 0 评论 -
Android即时聊天自己封装的QQ录音帮助类.
在做这个录音的时候测试了很多,发现市面上一些IM确实也存在一些问题,最多的问题还是快速点击这个bug.如果频繁的快速点击会导致MediaRecord频繁的创建对导致内存来不及回收而内存泄露.为了屏蔽这个所以必须要在点击的时候进行判断是否为快速点击等,所以效果类似于QQ那样,当你触摸后并不是立即录音,这个时候需要通过一个线程去创建MediaRecord对象.等待对象创建完毕后,播放一个提示音乐,表示原创 2015-10-23 15:20:02 · 1914 阅读 · 0 评论 -
关于MediaRecorder一些API记录.
之前实习的时候用到了录音功能,所以这儿记录下相关API,在API中有一个方便api是setMaxDuration来设置录音时间,这样可以不用自己去计时然后callback,很方便,同时也会回调一个方法:OnInfoListener();//MaxDuration的时候回调.1 setAudioChannels(int numChannels) 设置录制的音频原创 2015-08-11 14:11:49 · 1539 阅读 · 0 评论 -
Android开发IM中的消息Notification的一个小小使用.
在实习的时候做的一个项目,当时做IM就遇到一个棘手的问题,就是不同的ID给自己发送消息且自己不在聊天界面,这个时候点击NotificationBar的时候就应该跳转到聊天界面,还有一种很关键的场景: 自己在聊天界面,却是不同的用户发来的消息,点击NotificationBar的时候就应该关闭当前加载新的,当时我采用的是比较笨的办法通过去遍历ActivityStack,然后判断是否有聊天的Act原创 2015-08-06 16:10:18 · 1205 阅读 · 0 评论