目录
1.1 设计目的
以实践为目的,通过一个或者多个完整Android项目的开发从而从实际中掌握Android开发的流程与开发技术。将Android开发课程中的诸多知识点运用于实际开中。熟悉Android开发工具的使用,了解并学会解决安卓开发中常见的错误。理解整个流程。学会框架的使用。
1.2 项目背景
随着移动通信与Internet向移动终端的普及;网络和用户对移动终端的要求越来越高,而windows Mobile; PalmoS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第四代代数字通信(4G) 技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着4G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google 为此于2007年11月推出了一个专为移动设备设计的软件平台一-Android。
不仅如此,在科技的巅峰时期,第五代数字通信(5G的出现)将会把Android开推上一个更高的台阶,等多的、更多元化的、更快速的安卓应用将诞生。
Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java 构成的开源软件,允许所有厂商和个人在其基础_上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。
2.1 用户需求
随着移动互联技术以及移动社交的快速发展,市场对移动互联社交软件的需求越来越强烈。为了满足日益增长的移动社交软件的需求的要求;提高软件的服务质量;设计开发一套移动社交软件很有必要。在这样的背景下;本文提出了基于Android系统移动社交软件的开发。社交软件在过去很长一段时间都是PC机占主导地位;然而随着移动设备的普及;移动端的手机软件的市场份额逐渐的增加。
2.2 功能要求
对于要完成的社交软件需要做到以下功能:
1.掌握 Android 中的菜单及导航框架。
使用EaseUI自带的Titlebar实现标题栏,使得Android开发的样式更加的多样化、用户体验更加的高,开发周期更加短。
2.掌握自定义布局.
掌握安卓的五大布局,对于五大布局的使用场景进行了解,并且能够在自己的项目里面合理选择和使用安卓的界面布局。
3.掌握 Android 中的数据存储
对于Android的五大数据存储方式进行熟悉与使用。在本次的新闻客户端的课程设计的开发中,Android的数据存储使用到了SharedPreferences数据存储和网络断的数据获取的方法。
4.掌握安卓项目的运行方式和网络端数据的获取、处理和展示, 能够将从网络中夺取的数据进行处理利用listView显示在APP中,能够对于内容进行查看。
2.项目概况
三、系统设计
3.1功能分析
该设计基于环信服务器实现了单聊、群聊的功能。用户可以通过下载应用程序,查找联系人、添加好友发送好友申请,可以新建群聊、发送群聊邀请。聊天类型氛围单聊和群聊两种,如果是群聊,会判别当前账户的类型,如果为群主,或者公开可以发送邀请的群类型,那么可以添加群成员,而普通的成员则只能够查看群成员。群主拥有解散群的权限,成员拥有退群的权限。
好友邀请主要依赖于广播的发送和接收,一旦用户接受到相应的广播,会执行对应的操作。
3.2 程序层次图
四、功能实现
4.1 注册登录模块
1.曾登录过的代码,自动登录。
2.在服务器注册账号,但是因为模拟器的缘故不能实现。
3.在服务器登录账号。
4.启动页面splash,两秒自动跳转界面。
用户登录界面如图:
(登录界面) (登录成功后跳转到会话界面)
4.2 会话模块
1.接收消息。
2.群聊和单聊。
3.群管理:邀请好友、解散群聊、退群、删除群友。
(会话界面)
邀请好友:
解散、退群:
4.3 联系人模块
1.实时监听好友邀请通知。
2.查看群组列表、新建群组、群组信息。
3.查看、添加、删除联系人。
(联系人、添加好友界面)
4.4 设置模块
五、项目分组
小组人员 | 功能分工 |
罗sl | 群管理、好友申请、添加联系人的实现 |
朱xl | 布局的设计、会话聊天、个人资料的设计 |
六、涉及知识点
1.开发工具简介
Android Studio是一个Android的开发环境,它是基于IintelliJ IDEA,类似于Eclipse,Android Studio提供了集成的开发环境和调试,从整体上不论是开发的效率还是开发的便捷程度都是比Eclipse简洁方便很多。在程序的调试方面也远比Eclipse方便很多。
2.开发语言简介
Android开发使用的是java+XML语言的方式。Java影响深远的面向对象编程语言。拥有着多种语言的特点,并且是跨平台的。因此java具有强大和简单易用两个特点。可以用来编写桌面应用程序、Web应用程序、分布式的系统和嵌入式的系统等。
XML是一种简单的可扩展标记语言。是SGML的一个子集合,也就是他的简化版本,非常适合与web应用的开发和其他数据源之间的数据交换。
3.自主学习——EaseUI
EaseUI是基于环信 IM SDK 的一款 UI 组件库,它提供了一些通用的 UI 组件,例如‘会话列表’、‘聊天界面’和‘联系人列表’等,开发者可根据实际业务需求通过该组件库快速地搭建自定义 IM 应用。EaseIMKit 中的组件在实现 UI 功能的同时,调用 IM SDK 相应的接口实现 IM 相关逻辑和数据的处理,因而开发者在使用EaseUI时只需关注自身业务或个性化扩展即可。
环信 SDK 网站使用:
https://console.easemob.com/index
七、总结
随着移动互联网的发展,图文的快速阅读与触屏指尖的流量时代,APP可谓跟上了时代的步伐,社交类APP更是走在前沿,然而,毫无疑问的是更赏心悦目以及便利性更强的社交软件将会成为移动社交值得期待的发展方向。本文对社交类APP的界面设计和创意思维进行分析总结,针对视觉感官与界面元素设计研究,并基于创意思维,提出几点创意策略。一款优秀的社交APP不仅要在界面设计上脱颖而出,在主题与细节创意上更要富有新意,功能上应满足用户需求和具备人性化特点,能以实用和独特想法呈现给用户便捷、新颖、贴心的体验。