Android聊天客户端Demo开源了.基本的聊天功能基本上都有了,数据库也已搭建,服务器用的baiduPush。可以直接拿来用!!。(希望两个手机通信的话,改一下pushid就可以)

Hello:

我是在飞,最近写了个聊天的Android客户端。今天将此demo分享出来。原澳门大家可以到github直接下载。有问题可以联系我。

几点说明:

1:android聊天客户端的demo,包含了im的基本功能。

1.1比如gif动态表情展示、语音、聊天表情、拍照、多图的发送、大图片的处理、listview缓存的处理等。

1.2数据库也已经搭载好,算是个完整项目,可以直接拿来用。

1.3服务器使用的是baidu push服务。(图片暂时没有处理上传服务器,只是上传了本地sdcard的path路径)

1.4此项目还有值得看的地方就是listview的复用处理。此处主要有两种处理方法。

1.5此项目为了测试方便,现在的所有信息都是自己给自己发。你也可以参考百度push文档,修改对应id,给其他手机发送。

2:可以借鉴的地方(listview的处理)此项目主要有两种:

1.主界面的listview使用getItemViewType()和getViewTypeCount(),根据不同type显示不同的item,这样可以使一个listview显示多种风格的item布局

(例如聊天界面的左右聊天布局例如文字item,图片item,语音item..可以看MessageAdapter.java文件)

2:创建一个Itemview的方法(不同风格定义不同的java文件):

将view的处理和逻辑分散到另外一个文件中,也实现了复用的功能。 比如在itemView包中,我们创建了ImageGridSingleTypeView.

这个只需要在getLayoutResourceId()中设置R.layout.xx布局文件。然后再initView()初始化布局就好。 然后在notifyDataChanged()来设置每个view的数据。

这样的好处是可以分别处理,易于管理。不会让adapter的代码过于复杂。

(例如相册界面可以看ImageGridSingleTypeView.java,PickPhotoSingleTypeView.java,ImageGridAdapter.java,ImageBucketAdapter.java)

有问题可以联系:

@blog:http://blog.csdn.net/pangzaifei/article/details/43023625

@github:https://github.com/pangzaifei/zfIMDemo

@qq:1660380990

@email:[email protected]

gitHub地址:https://github.com/pangzaifei/zfIMDemo

废话不多说,上效果图。具体实现,大家可以自己看代码,有问题可以联系我。

    

我的另一个app,已经上线了叫《音乐豆豆》,大家可以去商店下载看一看。

《音乐豆豆》

这个本来就是基于一个外国大牛开源的基础上来迭代的。如果有需要之后可以开源。

效果图

时间: 2024-12-18 02:48:02

Android聊天客户端Demo开源了.基本的聊天功能基本上都有了,数据库也已搭建,服务器用的baiduPush。可以直接拿来用!!。(希望两个手机通信的话,改一下pushid就可以)的相关文章

Android记录20-获取缓存大小和清除缓存功能

Android开发记录20-获取缓存大小和清除缓存功能 转载请注明:IT_xiao小巫 博客地址:http://blog.csdn.net/wwj_748 前言 本篇博客要给大家分享的如何获取应用缓存的大小和清除缓存的功能,我们知道我们应用当中经常会产生一些数据,比如图片的缓存,数据库文件,配置文件等等.我们开发产品的时候,可能会有这样的一个需求清除应用内缓存的数据,可以让用户选择删除应用内产生的数据,这也是比较人性化的设计点.例如笔者参与开发的一款产品的设置界面就提供了清除缓存的功能,如下图所

Android应用开发之使用PhoneGap实现位置上报功能

看这里:Android应用开发之使用PhoneGap实现位置上报功能 上一篇,使用Intellij Idea 搭建PhoneGap Android开发环境中,简单的介绍了PhoneGap Android开发环境的搭建,并且开发了Hello World的应用,本篇,我们继续学习使用PhoneGap进行开发,获取用户设备的位置信息,通过获取经纬度实现位置上报的功能,接下来,开始本篇的学习. 我们在上篇module的基础上进行开发,主要是修改index.html中的内容,为了操作DOM方便,我们引入j

openwebrtc 服务端和android客户端demo安装

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/46649667 转载请一定注明出处! 1,关于openwebrtc OpenWebRTC 是基于 Gstreamer 实现的开源的.跨平台的 WebRTC 客户端框架,支持 H.264 和 VP8.利用 OpenWebRTC,WebRTC就不再仅仅是纯粹浏览器技术了,你可以在NativeAPP中使用WebRTC,并且还可以与浏览器WebRTC互联互通. 2,安装服务端demo d

Android 的开源电话/通讯/IM聊天项目全集

一.Android的XMPP客户端 Beem Beem 是一个运行于 Android 手机平台的 XMPP (jabber) 的客户端软件,兼容标准的 XMPP 服务器和服务,例如 Ejabberd, Openfire, Facebook, 和 Gmail). 支持 SASL, 代理(Socks4, Socks5, HTTP), DNS SRV, and chatting with a specific resource.    项目主页:http://beem-project.com/ 二.A

开源:我的Android新闻客户端,速度快、体积小、支持离线阅读、操作简便、内容展现形式丰富多样、信息量大、功能全面 等(要代码的留下邮箱)

分享:我的Android新闻客户端,速度快.体积小.支持离线阅读.操作简便.内容展现形式丰富多样.信息量大.功能全面 等(要代码的留下邮箱) 历时30天我为了开发这个新闻客户端APP,以下简称觅闻 http://m.yunxunmi.com/ 由于本人比较愚钝,不太擅长各种开源代码的运用,因此全部从0开始开发,期间开发了: 一个新闻采集器(C++),截止目前为止已经连续运行20多天没出现任何故障,采集接近150个大中型新闻分类网站,采集器下载及介绍网站预计下周免费发布,风格类似我的即时通讯网站 

以C#编写的Socket服务器的Android手机聊天室Demo

 内容摘要  1.程序架构    2.通信协议    3.服务器源代码    4.客户端源代码    5.运行效果  一.程序架构 在开发一个聊天室程序时,我们可以使用Socket.Remoting.WCF这些具有双向通信的协议或框架.而现在,我正要实现一个C#语言作为服务器端.Android作为客户端的聊天室.由于服务器端和客户端不是同一语言(C#和java),所有我选择了Socket作为通信协议. 图1.1所示,我们可以看出:android手机客户端A向服务器端发送消息,服务器端收到消息后,

Converse.js – 开源的 XMPP 聊天客户端

Converse.js 是一个运行在浏览器的免费和开源的聊天客户端.它可以集成到任何网页.类似于 Facebook 的聊天,它也支持多用户聊天室.Converse.js 可以连接到任何可访问的 XMPP/Jabber 服务器. 在线演示      插件下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富

Android JNI programming demo with Eclipse

用Eclipse 建立 JNI 的專案, 示範如何在 JAVA 調用 cpp 的函數. 我們將建立一個名稱為 jnidemo的專案, 在主Activity 將調用一個名為libHello.so 的 cpp 函數庫的 getVersion() 的函數, 將其返回字串寫在主Activity 的TextView 上. 首先用Eclipse建立一個新的 Android Activity 專案.  其他選項都用預設值就可以. 1. 稍微修改主活動配置 layout/activity_main.xml, 

Android新浪微博客户端(七)——ListView中的图片异步加载、缓存

原文出自:方杰|http://fangjie.sinaapp.com/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54该项目代码已经放到github:https://github.com/JayFang1993/SinaWeibo 一.ListView的图片异步加载 我们都知道对每一个Weibo Item都有用户头像,而且每一条微博还可能带有图片.如果在加载列表的同时加载图片,这样有几个缺点,第一很费事,界面卡住,用户体验很不