# HTQ_QQ
该版本是本人入门级项目,已不再推荐(但很适合安卓新手学习安卓的各个知识点),请移步至 https://github.com/HuTianQi/QQ 。谢谢!
本项目为安卓平台的一款模仿腾讯QQ的即时通讯APP,整体框架为目前大多数优质应用主流框架(侧滑菜单+底部导航),UI框架可供绝大数应用直接引用,主要模仿腾讯QQ,实现了发送文本与图片功能,应用界面十分漂亮,可供安卓程序员参考学习,如若要引用,请注明出处:https://github.com/HuTianQi/HTQ_QQ
涉及到的安卓技术:
(1)自定义控件:
<br>自绘控件,组合控件,继承控件这三种方式都用到了
比如:仿QQ用来显示用户头像的CircleImageView采用的是自绘的方式(后改为github开源项目CircleImageView)
整个应用的自定义标题栏TitleBarView采用的是组合控件的方式,在该TitleBarView中提供了一些setter(),getter()方法来操作这些组合的控件
仿QQ滑动删除功能的MyListView采用的是继承控件的方式
(2)第三方接口调用:
<br>如在用户登录界面中提供的腾讯QQ授权登陆功能采用了腾讯开放平台提供的openAPI接口。
(3)github开源库的应用:
<br>如侧滑菜单控件SlidingMenu和显示用户圆形图像的CircleImageView
(4)安卓中的消息传递:
<br> 最基本的运用Handler在子线程与主线程之间传递信息<br>在MyApplication这个全局单例类中定义公共的对象及方法来供不同组件之间访问信息
<br>在ClientInputThread客户端读线程中采用了接口回调对外传递信息
<br>在GetMsgService服务中采用了广播与BaseActivity传递信息。
(5)网络通信及多线程:
<br>最基本网络请求采用HttpUrlConnection和Volley(主要用来处理请求频繁但数据量不大的情况,比如Json和图片的请求),解决Volley数据请求中文乱码问题。
<br>最核心的聊天功能采用Socket通信,为了在网络上传送用户的信息,采用了ObjectInputStream/ObjectOutputStream来读写信息,定义的User类实现来Serializale接口实现序列化以达到在网络上传输的目的
将客户端读写功能放到单独的线程中,通过Client类来管理ClientInputThread与ClientOutputThread,在ClientInputThread中接收服务器端消息的代码在public void run(){}
方法中,因为该方法返回值为void无法返回线程中读取的信息,所以采用了接口回调
技术对外传递信息
(6)xml与json数据解析:
<br>这个在腾讯第三方接口调用中用到,用来解析从腾讯服务器端获取的用户登录的一些基本信息,如昵称,用户头像等,这个主要参考腾讯开放平台提供的openAPI文档,在QQ天气功能模块也用到,主要采用Volley获取从中国天气网指定接口中获取的json数据。
(7)数据存储,数据库操作
<br>比如保存用户头像等一些资料到本地文件,MessageDB保存用户的聊天记录到数据库
UserDB保存用户的好友信息到数据库。
调试错误:
<br>这个主要是通过在模拟器上运行出错时通过查看LogCat上的错误信息来判断代码逻辑(一般运行时出错都是代码逻辑上的错误),某些很难判断的错误通过百度,贴吧,论坛,
stackoverflow(个人觉得这个网站是调bug求帮助最好的网站,可惜是英文)寻求错误信息查找解决方案。
以下为该APP程序结构图(vsd文件请参看目录中的HQ_QQ程序结构图.vsd文件)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/HQ_QQ程序结构图.jpg)
以下为APP部分运行截图,具体界面请参看运行截图文件夹
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/启动界面.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/登陆界面.jpg)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/调用腾讯QQ登陆授权界面.jpg)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/注册界面.jpg)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/主界面_消息界面.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/主界面_消息_通话界面.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/主界面_联系人.jpg)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/主界面_动态.jpg)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/主界面消息_popUpWindow.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/滑动菜单界面_1.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/滑动菜单界面_2.jpg)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/滑动菜单界面_3.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/聊天界面_1.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/聊天界面_2.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/聊天界面_3.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/腾讯QQ授权登陆界面.JPG)
![image](https://github.com/HuTianQi/HTQ_QQ/raw/master/运行截图/修改个性签名界面.jpg)
#相关链接
【QQ:一款高仿腾讯QQ的IM App,已经实现了纯文本,表情,图片,位置,语音等信息的发送以及增,删,查好友等功能,代码质量非常高】[https://github.com/HuTianQi/QQ](https://github.com/HuTianQi/QQ)
【美女笔记:一款类似印象笔记的App】 [https://github.com/HuTianQi/YingBeautyNote](https://github.com/HuTianQi/YingBeautyNote)
【CoolWeather:本人完全自主设计与开发的一款天气App】 [https://github.com/HuTianQi/CoolWeather](https://github.com/HuTianQi/CoolWeather)
#LICENSE
The MIT License (MIT)
Copyright (c) 2015 HuTianQi
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
没有合适的资源?快使用搜索试试~ 我知道了~
模仿腾讯QQ,实现了发送文本与图片功能,应用界面十分漂亮,几乎与腾讯QQ一模一样
共192个文件
png:52个
java:50个
xml:49个
需积分: 10 21 下载量 132 浏览量
2017-12-11
15:48:28
上传
评论 2
收藏 1.61MB ZIP 举报
温馨提示
本项目为安卓平台的一款模仿腾讯QQ的即时通讯APP,整体框架为目前大多数优质应用主流框架(侧滑菜单+底部导航),UI框架可供绝大数应用直接引用,主要模仿腾讯QQ,实现了发送文本与图片功能,应用界面十分漂亮,可供安卓程序员参考学习
资源推荐
资源详情
资源评论
收起资源包目录
模仿腾讯QQ,实现了发送文本与图片功能,应用界面十分漂亮,几乎与腾讯QQ一模一样 (192个子文件)
proguard.cfg 1KB
.classpath 869B
android-support-v4.jar 242KB
open_sdk_r4547_lite.jar 230KB
MainActivity.java 14KB
SlidingLayout.java 10KB
CircleImageView.java 9KB
LeftFragment.java 9KB
ConstactFragment.java 8KB
XiaoxiFragment.java 8KB
ChatActivity.java 7KB
ImgUtil.java 7KB
LoginActivity.java 7KB
MineActivity.java 6KB
TencentUtil.java 6KB
CustomAnimation.java 6KB
CurrentOnLineActivity.java 5KB
HttpUtil.java 5KB
RegisterActivity.java 4KB
RecentChatAdapter.java 4KB
XiaoxiFatherFragment.java 4KB
TitleBarView.java 3KB
MyListView.java 3KB
GetMsgService.java 3KB
ClientReadThread.java 3KB
ChatMsgViewAdapter.java 3KB
SlideBaseActivity.java 2KB
User.java 2KB
SharePreferenceUserInfoUtil.java 2KB
DynamicFragment.java 2KB
MessageDB.java 2KB
BaseActivity.java 2KB
MyApplication.java 2KB
RecentChatEntity.java 2KB
CallFragment.java 2KB
Client.java 2KB
NetworkChangeReceiver.java 2KB
EditSignActivity.java 2KB
FileUtil.java 2KB
ChatMsgEntity.java 2KB
SystemUtil.java 1KB
ClientInputThread.java 1KB
WelcomeActivity.java 1KB
ClientThread.java 1KB
ClientOutputThread.java 1KB
TransportObject.java 1KB
HttpActivity.java 872B
DataBaseHelper.java 797B
MyDate.java 740B
CustomZoomAnimation.java 629B
RightTopWindowActivity.java 498B
Constants.java 458B
TranObjectType.java 316B
MessageListener.java 143B
HQ_QQ程序结构图.jpg 245KB
滑动菜单界面_2.jpg 44KB
滑动菜单界面_1.JPG 43KB
right_pop_window.jpg 42KB
主界面_联系人.jpg 41KB
关于作者界面.jpg 40KB
腾讯QQ空间登陆界面.JPG 40KB
注册界面.jpg 39KB
滑动菜单界面_3.JPG 39KB
调用腾讯QQ登陆授权界面.jpg 39KB
聊天界面_2.JPG 36KB
腾讯QQ授权登陆界面.JPG 35KB
主界面_动态.jpg 33KB
登陆界面.jpg 33KB
聊天界面_1.JPG 31KB
主界面消息_popUpWindow.JPG 31KB
聊天界面_3.JPG 30KB
主界面_消息界面.JPG 30KB
xiaoxi_right_top.JPG 29KB
主界面_消息_通话界面.JPG 27KB
修改个性签名界面.jpg 22KB
启动界面.JPG 22KB
mine_avatar.JPG 19KB
head.jpg 16KB
xiaoxi_img_l.jpg 14KB
title_bar_img.jpg 13KB
left_layout_bg.jpg 11KB
mine_avator.jpg 10KB
more.JPG 9KB
delete_button.jpg 2KB
README.md 7KB
msg.mp3 14KB
top_back_icon.png 21KB
skin_about_brand.png 14KB
icon.png 6KB
ic_launcher.png 4KB
login_default_avatar.png 4KB
chatfrom_bg_normal.9.png 4KB
call.png 3KB
chatfrom_bg_pressed.9.png 3KB
vip.png 3KB
chatfrom_bg_focused.9.png 3KB
chatto_bg_normal.9.png 3KB
title_function_bg.9.png 3KB
chatto_bg_pressed.9.png 3KB
ic_launcher.png 3KB
共 192 条
- 1
- 2
资源评论
修行者对666
- 粉丝: 1080
- 资源: 78
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功