1.10Android 学习+进度之十-聊天处理
来源:互联网 发布:手机音量加大软件 编辑:程序博客网 时间:2024/06/06 17:12
终于把代码改成了消息队列的模式,并且测试一切ok。
接下去考虑聊天了。
先考虑最简单的情况,两个人都打开了各自的Activity,然后一方面发送消息,另一方能在对应的Activity接收到相关数据,并且显示。
第一步,用户A发消息,能在Activity上显示。用ListView实现的,实现步骤和主界面的差不多。显示了,但是呢,本来想做一下,想左边显示就左边显示,想右边显示就右边显然,还不是那么简单,作为附加功能就先不加了。但是可以先贴个做法http://blog.csdn.net/to_be_designer/article/details/48163775,效果还是不错的。
第二步,把这个消息发送到服务器上。并且在服务器debug抓信息的准确性。这个也没问题。
第三步就有点难了,因为我的接收线程是在clientThread里面的,在我开启另外的Activity后,他是否还在工作(应该是在的),那我数据怎么传递到新的Activity呢。
刚刚验证了,即使chat_activity活跃,client线程接收到数据,依旧会进入handler了,那么此时如果能讲信息发送到新的Activity就行了。
查了一些资料。。怎么扯到服务上去了。。我的问题和http://bbs.csdn.net/topics/392144352这个链接是一样的。
似乎OK了,采用了曲线救国的措施感觉,主线程Activity,开了个子线程控制socket,然后socket接收到数据后,通过handler传递给MainActivity(此时他可以修改根据数据更改UI)。此时又有一个Activity,socket通过application传递给了(相当于全局变量)Activity,此时,socket线程还在接收数据,而且要修改Activity的UI。主线程的Activity,在handler处理中,将这个消息广播,然后子Activity,例化一个广播类,然后广播类里面能接收数据,并且处理,此时广播类无法直接修改UI。继续通过handler的方式,把数据回传给Activity。我总感觉,自己蠢了。
其次这个的扩展性,我觉得还行。退出,新建一个Activity,依旧可以获得相应的效果。
我总觉得,靠一个handler,或者只靠广播,是不是也能处理这个事。
- 1.10Android 学习+进度之十-聊天处理
- 1.11Android 学习+进度之十一-多人聊天缓存
- 1.12Android 学习+进度之十二-聊天UI升级
- 1.26Android 学习+进度之二十六-音频聊天
- 1.20Android 学习+进度之二十-图片进一步
- 1.24Android 学习+进度之二十三-聊天界面修改及增加配置界面
- 1.27Android 学习+进度之二十七-视频聊天(硬编解码)
- 1.2Android 学习+进度之二
- 1.3Android 学习+进度之三
- Android学习之-图灵聊天机器人
- Android学习笔记之ListView聊天界面
- android app学习进度
- Android学习之自定义控件-圆环进度条加内圆填充进度
- 1.4Android 学习+进度之四-socket发送object
- 1.5Android 学习+进度之五-wifi地址
- 1.8Android 学习+进度之八-Activity切换及其相关
- 1.9Android 学习+进度之九-消息队列及其相关
- 1.14Android 学习+进度之十四-解决bug
- Android QQ和微信分享
- BLE 配对后通信其中一方LTK丢失情况(转自襄坤在线)
- if-else 多种用法
- 冒泡算法
- 游戏新手引导的制作原理
- 1.10Android 学习+进度之十-聊天处理
- Docker服务无法启动
- Linux 基本命令不能用的解决方法
- 1.4 设计循环 1.5学习和适应
- pro git 阅读
- Win10连接不上Wifi了怎么办?【方法一】
- poj2955 Brackets
- bzoj 3611: [Heoi2014]大工程
- 程序员们,AI来了,机会来了,危机也来了