基于Android的聊天软件的设计与实现-一个聊天软件开发起来没那么难不是?(3)https://developer.aliyun.com/article/1558199
4.2.7 聊天界面
如图4.28,4.29,4.30,4.31和4.32 所示,点击好友列表上的好友,进入到聊天界面,在该界面可以发送表情,文本和语音以及相关的设置:
图4.28 没发送消息的界面图
图4.29 发送的语音和图片
图4.30 消息详情图
图 4.31 语音界面
图 4.32 表情图
4.2.8 聊天设置界面
如图4.33,在聊天界面点击设置按钮进入该界面,在该界面中可以设置聊天背景等功能。
图4.33 聊天设置
4.2.9 消息通知
如图4.34 ,当用户不在聊天界面时收到了其他好友的消息,则会在通知栏显示有消息来到。
图4.34 系统通知
主要代码:
Public void sendNotifycation() { // 发送Notification NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Notification notification = new Notification(R.drawable.notify_icon, "微聊新消息", System.currentTimeMillis()); Intent intent = new Intent(this, ChatActivity.class); intent.putExtra("self", self.getUserId()); intent.putExtra("friend", friend.getFriendID()); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0); notification.setLatestEventInfo(this, "新消息", "查看新消息", pendingIntent); notification.flags = Notification.FLAG_AUTO_CANCEL; manager.notify(0, notification); }
5.系统测试
经过对系统的软、硬件的验收测试系统满足用户的要求。其中硬件测试主要包括硬件设备的清单,启动运行正常与否等。重点是软件部分的测试,首先是服务器端软件测试,测试服务器端服务是否能开启,服务器端是否能对数据库进行正确操作,再对客户端进行测试,测试客户端界面是否能正常显示,相应取值是否能准确取到,相应客户端功能能否能用,最后客户端与服务端结合一起测试,测试客户端能否与服务端连接,客户端登录,好友聊天等。
表5.1 系统功能测试详细表
测试项目 | 功能指标 | 测试方法 | 预期结果 | 结论 |
服务器启动 | 服务器线程处于等待状态 | 通过系统输出信息 | 系统输出了相应的信息 | 正确完成 |
数据库操作 | 服务器能对数据库进行增删改差操作 | 通过jdbc对数据库进行操作 | 输出数据库中相应的数据 | 正确完成 |
可登录性 | 当服务器启动用用户可以通过wify网络登录,进入好友列表 | 按界面提示(错误提示)输入相应信息 | 客户端提示登录成功并且进入好友界面 | 正确完成 |
发送消息 | 可以发送出消息给选中的好友 | 在消息框输入消息,并点击发送按钮 | 好友接收到消息 | 正确完成 |
收到消息 | 用户能收到好友给其发送的消息 | 如果正在聊天,消息会直接显示在聊天界面,如果不处于聊天界面,系统会提示有消息 | 显示有消息来到 | 正确完成 |
最近聊天好友 | 当用户与好友聊天之后,该好友被加入消息界面 | 与用户聊天 | 聊过天之后,该好友在消息界面显示 | 正确完成 |
更改头像 | 修改完成后好友列表的头像更新 | 在用户信息界面编辑用户头像 | 系统在服务器上的头像更新且本地的头像也相应的改变 | 正确完成 |
总 结
经过一个学期的学习,实践和辅导老师的悉心指导,该Android聊天系统经过测试,达到了预期的目标,完成了毕设初期指定的任务功能。本系统功能较为复杂,但还是具备了一定的实用性和灵活性以及包括很多Android的专业知识,并可以在使用的过程中不断的修改完善。
移动聊天软件虽然原理不难,但依然有很多的问题需要我们一一解决,例如:如何提高用户体验性,现在市场上的聊天软件很多,功能也相对完善,技术也十分成熟,相信只有更好的用户体验性与功能新颖才能够吸引更多的用户使用,本文通过建立一个原型进行了技术方面的一些探索,通过这些探索我们有理由相信,建立基于网络的聊天系统从生活上说是必须的。
在这个过程中,我学到了很多站在系统设计者的角度来说,我体会到了一个android应用的设计其实不是想象的那么简单,对于用户来讲,一个看似很小的功能,但对系统开发者看来有时却并不简单,在一个系统有时一个小小的改动往往会牵涉到一些复杂的逻辑和算法,因此作为一个开发者,必须要有足够的耐心,才能将系统尽可能设计的合理而良好的用户体验就直接决定着安卓应用的成败,因此,开发一个完美的应用对开发者素质要求极高。