第一个Android Demo :Chat(伪即时通讯)

原创 2016年05月30日 16:15:53

说明:上一篇文章因为我对这个写博客还不是很了解,所以造成了页面很乱的情况,所以看到之后马上修改

学习Android到现在估计应该还不到一个月的时间,我很激动能够在自己的努力还有奋斗下开发一个自己想要的App,虽然这个App的功能还不够完善,界面很丑陋,Bug很存在很多,但是我觉得这个起码是我自己动用智慧开发的第一个App,所以我要在这里将我开发的思路还有一个想法写在这里。
以实现功能:
即时通讯:不同好友之间可以即时通讯。但是同时只能和一个人通讯。
注 册:注册功能实现,但是数据保存的是客户端,即是在Android本地的数据库,并没有将用户保存到服
服务器。
登 录:登录会自动和本地数据库中进行校对,基本的登录思想。
添加好友:当前数据库中存在好友时,可以实现添加到好友列表。Bug:Sqlite的用法还是不够熟练,
当存在该好友的情况下还是可以继续添加该还有

用到的知识:
基本的Android界面布局,Sqlite,Servlet(服务器端),JavaBean思想,Http协议,Android中的
Http操作,ListView,自定义ArrayAdapter,Android中Activity的生命周期,Activity中的定时操
作,异步处理,子线程处理。

功能详解:
Login(登录页面):

这里写图片描述
作为App的主页面,虽然丑陋了一点,但是它起到的作用也就是仅仅登录作用,当点击登录之后,会自动
和本地数据库中做校验,存在即登录,失败即提示无法登陆;
这里写图片描述

Regist(注册页面):
和登录洗洗相关的,登录即少不了注册;

这里写图片描述
这个是我注册的主界面,提供了用户名,密码注册选项,其中后台数据库并没有使用Base64,和md5进行加密。
其中在后台会自动为每一个UUID作为主键,保证每个人的信息不同,其中用户名时唯一存在的。

String uuid = UUID.randomUUID().toString().replace("-", "").toUpperCase();

当数据库存在该用户时:
这里写图片描述
数据库中保存的情况:

这里写图片描述

FriendList(好友列表):

这里写图片描述
此处是用来显示自己的好友;还提供添加好友的按钮和逻辑
实现思想:创建一个JavaBean,包含当前用户和用户所有的好友List,并在数据库中创建相关的表。
当接收从登陆界面获得的User时,用得到的User和数据库中的当前用户做比较,返回所有的List。

复写:ArrayAdapter,添加选中事件。

AddFriend(添加好友页面):

这里写图片描述
输入需要查找的好友;如果存在:

这里写图片描述
找到该好友并且提供添加。

这里写图片描述
点击OK之后会在数据中将该好友的信息添加到该用户的好友列表中去。

但是当不存在时,会提示不存在该好友。

已知Bug:
由于对Sqlite的使用不是很熟练,导致不能判断在该用户的好友列表是否已经存在该好友,导致可以重复添加单个用户。

Chat(聊天):
这个应该才是重点。
基本界面:

这里写图片描述

很简陋的一个页面。当点击了该还有之后便可以实现好友之间的通讯。

演示图:

这里写图片描述

基本思想:使用的是Http协议进行通讯,后台是使用Servlet写的。

发送消息:每个用户进行发消息,会将当前的消息内容,当前用户,目的用户发送到后台的Servlet。后台接受到所有用户发送的消息,保存到一个Bean类中去。

接受消息:在MainActivity创建一个定时操作。一直访问后台的Servlet。后台通过访问接受到数据进行分辨,将该用户的信息返回。(为了研究那个定时操作,我用掉了手机100多M流量);

因为学过一段时间的JavaWab所以还是有一点点后台基础的。。。

好了 我这个第一个AndroidDemo Chat在这里也介绍完了。希望Csdn中的大牛能够指出我的错误和不足的地方,我好进步。

写完这个博客我很激动,毕竟这个是我第一Android项目,并且也是第一个技术贴。我很懒不是很喜欢打那么多字,但是这个博客慢慢的就写完了。。。

分享下自己下段时间的打算:

        Android生命周期的更深层次理解
        Android动画相关知识
        Android基本手势操作
        JavaIo流的复习和深入

*虽然我现在还是个菜鸟,但是我相信我还是可以飞的!!!!!!!!!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

网页版即时通讯

web聊天室的实现方法有多种,包括:基于ajax技术的实现,基于Comet(Pushlet)技术的实现,基于XMPP协议的实现,以及基于flash的XmlSocket和远程共享对象的实现。   ...
  • xyw591238
  • xyw591238
  • 2016年04月19日 09:13
  • 1585

【Android即时通讯】Android 高仿微信的即时聊天DEMO

很久没写博客,在此写一篇高仿微信的即时聊天的DEMO,大家一起学习下。 这里微信界面仿照的是微信5.2版本,个人偏爱这版,并且网上也有较多的高仿界面可以学习,本人以极光IM做辅助,实现了即时聊天。 ...
  • u011669081
  • u011669081
  • 2015年11月27日 12:05
  • 7658

即时通讯demo

今天给大家介绍一款功能强大的im框架--融云   按照国际管理先上图: 然后简单的介绍下实现代码:   首先是链接服务器登陆用户 /** * 建立与融云服务器的连接 * * @para...
  • u013250921
  • u013250921
  • 2016年05月29日 08:50
  • 2126

android基于xmpp的即时通讯应用

xmpp是一个通信协议。因为这是个开放的协议,为了节俭开发成本,很多即时应用都采用了这个协议。Android上最常用的组合asmack +openfire。Asmack是smack的android版,...
  • limb99
  • limb99
  • 2014年05月26日 21:05
  • 19115

XMPP和即时通讯内容学习(一)

一直挺朋友们说xmpp,怎么好怎么流行,我也挺感兴趣,可是由于最近工作很忙,没有时间看,今天终于抽出时间研究了一下,首先是XMPP到底是什么? XMPP是:是一种以XML为基础的开放式实时通信协议,是...
  • busjb
  • busjb
  • 2013年12月05日 00:50
  • 16311

使用最新Netty实现一个简单的聊天程序

原文出自:http://blog.csdn.net/anxpp/article/details/52139155,转载请注明出处,想想!1、概述    Netty是由JBOSS提供的一个Java开源框...
  • gz_tracy
  • gz_tracy
  • 2017年03月01日 11:17
  • 228

[Android实例] MQTT消息推送,即时通讯

该篇文章从eoeAndroid搬迁过来的,原文地址:[Android实例] MQTT消息推送,即时通讯 前几天刚学习了MQTT服务器搭建和如何使用MQTT进行消息推送,不清楚的同学可以查看[Andro...
  • krubo1
  • krubo1
  • 2016年01月04日 16:36
  • 3038

Pomelo官方demo ChatofPomelo简析之一——用户登录

方给的tutorial真是简单明了,简的刚开始学pomelo,压根就不知道代码写在哪。所以还是自己研究研究。 首先看服务器端,处理逻辑的主要在game-server/app/servers下。 ...
  • u013321328
  • u013321328
  • 2015年12月23日 15:29
  • 1613

Android应用socket即时通讯的实现

一、服务器 思路: 首先创建服务器,用一个死循环等候若干个客户端的连接。一旦有客户端连接,就把客户端添加到集合当中,并且启动一个新的线程来保持长连接,监控客户端发来的信息。一旦接收到有客户端发来的...
  • xxkalychen
  • xxkalychen
  • 2016年12月21日 15:51
  • 4684

iOS-YHChat仿微信聊天(老司机带你入门即时通讯)

iOS-YHChat仿微信聊天(老司机带你入门即时通讯)
  • samuelandkevin
  • samuelandkevin
  • 2017年02月17日 10:07
  • 1308
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第一个Android Demo :Chat(伪即时通讯)
举报原因:
原因补充:

(最多只允许输入30个字)