Android聊天软件的开发

转载注明出处:http://blog.csdn.net/vaintwyt/article/details/28110261  谢谢!


一,软件介绍

   本软件有注册,登录,用户信息管理,通讯录,添加好友,聊天等功能。

   还是直接上图吧,下面是软件的主要界面(控件图标基本上都是微信的图标)。

注册界面
Android聊天软件的开发_第1张图片


Android聊天软件的开发_第2张图片


登录界面
Android聊天软件的开发_第3张图片


主界面
Android聊天软件的开发_第4张图片


用户信息管理界面
Android聊天软件的开发_第5张图片


Android聊天软件的开发_第6张图片


通讯录界面
Android聊天软件的开发_第7张图片


Android聊天软件的开发_第8张图片


添加好友界面
Android聊天软件的开发_第9张图片


Android聊天软件的开发_第10张图片


聊天界面
Android聊天软件的开发_第11张图片


Android聊天软件的开发_第12张图片


二,软件源码

>>>源码下载<<< (代码有修改)

注意!使用源码前,务必要看下面的说明啊!!!下面是为了让你能运行软件,所做的配置。具体的源码分析,会在后续推出。

另外,源码的所有编码和数据库编码都是UTF-8。

1.开发环境

   MyEclipse+Tomcat+Android SDK+MySQL。其中MyEclipse可以用Eclipse替换,MySQL也可以用其他数据库替换。

2.数据库

   在数据库中创建user和friends表,用于存储服务器端的用户基本信息和好友列表。
   建表语句如下(sql语句是我导出来的,我是直接通过可视化工具建表):
CREATE TABLE `user` (
  `user_id` varchar(20) NOT NULL DEFAULT '' COMMENT '用户ID',
  `name` varchar(25) DEFAULT '' COMMENT '昵称',
  `gender` varchar(10) DEFAULT 'male' COMMENT '性别',
  `password` varchar(45) DEFAULT NULL COMMENT '密码',
  `photo` longtext COMMENT '头像',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息';

CREATE TABLE  `talking`.`friends` (
  `user_id` varchar(20) NOT NULL DEFAULT '' COMMENT 'ID号',
  `friend_list` longtext COMMENT '好友列表',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='好友列表';

   如果不嫌麻烦,可以直接用可视化的MySQL管理工具手动建表,也就只有两个表,几个字段而已。建好的表如下图:
Android聊天软件的开发_第13张图片


   如果你想使用其他数据库,则需要在TalkingServer项目中,找到src目录下的hibernate.cfg.xml文件,修改对应配置。
   另外,该文件中,下面的三个属性,需要根据你的情况作出对应修改。
jdbc:mysql:///talking //talking是schema
root //数据库用户名
vaint //数据库密码


3.导入项目

   源码文件夹中有三个项目。TalkingClient和TalkingServer项目可以直接导入,然后将对应libs的jar包Build Path。

   针对appcompat项目有如下的说明。
   我的软件支持Android platform的最低版本是2.3,因为本人手机是2.3的,便于真机测试。如果你设置支持的最低版本是3.0或者以上,那就忽略这一步吧,直接将TalkingClient--Properties - Android,下方引用的Library项remove。
   为了支持低版本系统也能使用ActionBar,需要在TalkingClient项目中引用AppCompat项目(这个项目在Android官方SDK的sdk\extras\android\support\v7目录也可以找到)。
   你需要做以下处理:
   a,导入android-support-v7-appcompat项目到MyEclipse,或者Eclipse。
   b,将项目libs目录下的两个jar包Build Path。
   c,如果此时项目的R文件报错,则需要选择Android platform版本。右键项目--Properties--Android。版本必须大于或等于3.0,这个很关键。如果R文件没有报错,那就不需要这一步。
   d,右键TalkingClient,注意是TalkingClient项目,Properties - Android - (下方)Add - 选择appcompat项目。如果在b步骤中,为appcompat项目设置了Android platform版本,则需要将TalkingClient的platform版本也选择为大于等于3.0。最好appcompat和TalkingClient的platform一致,避免错误。

   这一步操作比较麻烦,我之前也用了不少时间才搞定,所以要耐心点。具体可以参考:Eclipse添加兼容包

4.短信验证码

   由于注册功能中,使用到短信验证码服务。我是通过天翼开放平台的接口实现的,可以全网下发短信验证码。这个接口在6月1号前是可以免费使用的(每天调用100次以下,使用量高于100,可以交费申请更加多的次数),后来又开始收费了。。。不过你现在也可以去申请,会赠送你20天,每天调用次数100次以下的套餐。
   详情:天翼开放平台
   申请步骤:
   a,注册登录,可以使用电信手机号,或者微博账号登录。
   b,创建应用,填写相关的应用信息。
   c,应用创建后,会得到app_id和app_secret。这就是你使用接口的凭证。
   d,如果你想进一步研究,可以去开发者社区,找一个Demo看看。

   你用你的app_id和app_secret替换掉TalkingServer项目,src/vaint.wyt.constant.java文件的APP_ID和APP_SECRET常量。这样你就可以使用短信验证码功能了。

   当然,如果你对这个没有兴趣,可以直接在数据库的user表中,插入测试用户的数据,就可以跳过注册,直接登录聊天软件。

5.网络IP配置

   找到TalkingClient项目的src/vaint.wyt.constants.java文件,将SERVER_IP常量改为你的服务器地址,即你电脑的IP。如果你的Tomcat的端口不是8080,则需要修改HTTP_SERVER_IP常量。


三,源码分析

   接下来会不断更新这篇文章,将源码分析的文章链接放在下方。

   (一)预备知识
    (二)数据库
    (三)网络连接
   (四)通讯录
    (五)头像设置
    (六)表情
   (七)聊天通信

   主要有以上七部分的分析,有问题欢迎探讨。




你可能感兴趣的:(Android软件开发)