IM类app业务模块功能接口定义(一)
来源:互联网 发布:博奥2014软件下载 编辑:程序博客网 时间:2024/06/04 23:34
公司最近要在app中加入好友聊天模块,就让我先来定义这个模块要对外提供哪些功能,确定一个业务模块要对外提供哪些功能的最好方式就是找到该功能做的最好的app,看他的业务模块对外提供哪些方法,那么自然就从腾讯入手,分析聊天业务模块要对外提供的方法,或者说接口定义。
用图片来分析模块功能吧。
本章主要讲登陆界面和消息界面。
从登录界面可以看出需要用户登陆和用户注册两个功能,安卓联网都要在工作线程中完成,登陆结果和注册结果就需要接口回调的方法去告知,
/** * 用户登录 * @param userName 用户名 * @param password 密码 * @param loginCallBack 回调接口 * @return */ public abstract void login(String userName,String password,LoginCallBack loginCallBack); /** * 用户注册 * @param userName 注册用户名 * @param password 密码 * @param registerCallBack 回调接口 * @return */ public abstract void register(String userName,String password,RegisterCallBack registerCallBack);/** * 注册结果回调接口 * @author yu * */ public interface RegisterCallBack{ int REGISTER_RESULT_SUCCESS=0; int REGISTER_RESULT_CONFLICT=1; /** * 注册结果回调接口 * @param result */ public void onRegisterResult(int result); } /** * 登陆结果回调接口 * @author yu * */ public interface LoginCallBack{ int RESULT_CODE_SUCCESS=0; int RESULT_CODE_FAILURE=1; public void onLoginResult(int result); }
用户登陆成功后进入主界面,这里只分析和通讯相关的功能,与通讯无关的暂不讨论。
首先是消息会话界面,呈现之前会话的最后一条记录,如果有未读消息,显示未读消息,界面如下
消息界面可以分为两个部分,一部分是显示未读消息总数,以数字+红色圆边背景框显示,一部分是显示每个消息的详细信息,以listview显示,
详细信息包括
1,消息对象(好友/群)头像
2,消息对象(好友/群)名称
3,最后一条消息记录
4,最后一条消息时间
5,未读消息总数
这里就需要业务模块提供如下功能
/** * 获取所有的会话实体 * @return */ public List<ConversationEntity> getAllConversation(); /** * 获取未读消息总数 * @return */ public int getAllUnreadMsg();
会话实体类需要如下属性
private String imageUrl;//会话对象头像 private String name;//会话对象名称 private String lastMessage;//最后一条会话消息内容 private long lastMessageTime;//最后一条消息时间 private int unReadMegCount;//未读消息总数
如果用户在指定item上侧滑,会弹出如下侧滑菜单
从这个菜单可以看出业务模块要提供的功能
/** * 清零会话列表集合中指定下标的未读消息 * (对应 标记已读) * @param index */ public void clearUnReadMsg(int index); /** * 删除某个会话 * (对应 删除) * @param index */ public void deleteConversation(int index);
置顶 功能需要在业务模块通过接口回调更新adapter,这块放在后面和新消息一块去将接口回调。
如果对文章的看法有什么问题,请在下方回复,我会及时解答处理。
0 0
- IM类app业务模块功能接口定义(一)
- IM类app业务模块功能接口定义(二)
- IM类app业务模块功能接口定义(三)
- app网络模块定义
- Android学习之如何集成极光IM功能(一)
- 接口模块的定义
- 如何在App中实现IM功能之二快速实现离线消息模块——箭扣科技Arrownock
- 数据访问层的设计(一)——功能与接口定义
- 数据访问层的设计(一)——功能与接口定义
- 金融市场相关业务定义一
- [APP接口] -- PHP开发APP接口(一)
- PHP开发APP接口(一):APP接口简介
- dojo define定义模块一()
- Android接口定义语言---AIDL(一)
- App内嵌入群聊功能: 1. 需要在IOS、Android、WEB IM、PC进行即时消息IM通讯,消息能实时收发,群管理 /群内消息。IM系统需要在不侵入原APP的用户和业务体系的情况下
- (一)logback模块和主要接口
- 如何在App中实现IM功能之三快速实现离线消息推送模块——箭扣科技Arrownock
- 如何在App中实现IM功能之四创建稳健的消息发送模块——箭扣科技Arrownock
- 状态可以通过动画切换的按钮--第三方开源--TickPlusDrawable
- 上机实验——Linux下常用的命令
- Android自定义Toast
- windows 下安装mysql解压缩包
- 系统学习机器学习之组合多分类器
- IM类app业务模块功能接口定义(一)
- 【集群】Nginx+Tomcat负载均衡配置
- AFNetworking 3.0迁移指南
- JSON服务器的使用和客户端的解析
- 关于软件开发的资源
- nyoj 素数环
- fragment切换 hide和show之后重新刷新数据的方法
- 点击后弧形展开的炫酷菜单--第三方开源-- CircularFloatingActionMenu(一)
- 如何判定一个变量是指针还是非指针