转载注明出处:http://blog.csdn.net/vaintwyt/article/details/28110261 谢谢!
一,软件介绍
本软件有注册,登录,用户信息管理,通讯录,添加好友,聊天等功能。
还是直接上图吧,下面是软件的主要界面(控件图标基本上都是微信的图标)。
注册界面
登录界面
主界面
用户信息管理界面
通讯录界面
添加好友界面
聊天界面
二,软件源码
>>>源码下载<<< (代码有修改)
注意!使用源码前,务必要看下面的说明啊!!!下面是为了让你能运行软件,所做的配置。具体的源码分析,会在后续推出。
另外,源码的所有编码和数据库编码都是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管理工具手动建表,也就只有两个表,几个字段而已。建好的表如下图:
如果你想使用其他数据库,则需要在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常量。
三,源码分析
接下来会不断更新这篇文章,将源码分析的文章链接放在下方。
(一)预备知识
(二)数据库
(三)网络连接
(四)通讯录
(五)头像设置
(六)表情
(七)聊天通信
主要有以上七部分的分析,有问题欢迎探讨。