`
hylxinlang
  • 浏览: 129941 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

android+openfire获取好友列表

阅读更多
package com.hyl.openfire;

import java.util.Collection;

import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.Roster;
import org.jivesoftware.smack.RosterEntry;
import org.jivesoftware.smack.RosterGroup;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {
	private int PORT=5222;
	private static Boolean isLogin=false;
	XMPPConnection connection;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initConnection();
		login("hyl1234","hyl1234");
		getFriends();
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	private void initConnection(){
		ConnectionConfiguration config = new ConnectionConfiguration("192.168.0.104", PORT);
		config.setSASLAuthenticationEnabled(false);
		connection = new XMPPConnection(config);
		try {
			connection.connect();
		} catch (XMPPException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public void login(String name,String pass){
		try {
			connection.login(name, pass);
			System.out.println("登录成功");
			isLogin=true;
			
		} catch (XMPPException e) {
			System.out.println("登录失败");
			e.printStackTrace();
		}
		
	}
	public void getFriends(){
		Roster roster = connection.getRoster();
		Collection<RosterGroup> entriesGroup = roster.getGroups();
		System.out.println("size--->"+entriesGroup.size());
		for(RosterGroup group: entriesGroup){  
            Collection<RosterEntry> entries = group.getEntries();
            System.out.println("group-->"+group.getName());
            for (RosterEntry entry : entries) {   
            	System.out.println("name-->"+entry.getName());
            }
		}
	}

}

 

0
2
分享到:
评论

相关推荐

    Android+smack4.1.4+openfire demo

    通过这个“Android+smack4.1.4+openfire demo”,开发者可以学习如何在Android应用中实现实时通信功能,包括连接Openfire服务器、登录、获取好友列表以及发送和接收消息。这个示例代码可以作为Android即时通讯应用...

    javasmack源码-IMDemo:移动XMPP聊天(Android+Smack+Openfire+百度定位)

    功能:注册账号、登录和退出系统、获取好友列表、添加和删除好友、收发文本消息、分享位置(基于百度地图SDK) 说明:本源码来自董相志老师所著的《Java 网络编程案例》,书中第15章由我所写,并配有微课视频,特将...

    android XMPP openfire

    3. `RosterManager.java`:处理用户的好友列表,添加、删除好友,获取好友在线状态。 4. `GroupManager.java`:创建和管理群组,添加或移除群组成员。 注意点: - Android权限:确保在AndroidManifest.xml中添加...

    Android AdXmpp(Openfire+asmack+spark)即时通信.rar

    6. **好友管理**:处理添加、删除好友的请求,以及获取好友列表。 7. **安全性与优化**:考虑使用SSL/TLS加密通信,提高数据安全性。同时,合理设计消息缓存和心跳机制,优化网络资源使用。 在开发过程中,我们还...

    Android XMPP好友列表+聊天

    4. **好友列表管理**:通过服务发现(XEP-0030)获取服务器上的所有可用资源,并请求好友列表。一旦收到响应,将好友列表显示在UI上。还可以实现添加、删除好友的接口。 5. **聊天功能**:创建聊天会话类,使用...

    Android基于Openfire服务器asmack开发的即时通讯示例

    3. **好友获取**:使用Roster类可以管理用户的联系人列表,包括获取、添加、删除好友。RosterListener可以监听联系人列表的变化,例如好友上线、下线或者更改状态等。 **高级功能和挑战** 即时通讯系统不仅要实现...

    Android代码-基于openfire和smack的安卓xmpp客户端

    【Android代码-基于openfire和smack的安卓xmpp客户端】是一个项目,它实现了使用XMPP协议在Android设备上创建一个客户端应用。XMPP(Extensible Messaging and Presence Protocol)是一种实时通信协议,常用于实现...

    基于openFire服务器的聊天软件客户端

    在数据库管理方面,使用了SQLitev2.8,这是Android系统内置的轻量级数据库,用于存储用户数据,如好友列表、聊天记录等。SQLite支持SQL标准,具有事务处理能力,能够确保数据的一致性和完整性。聊天记录通常会被持久...

    webim:基于openfire+asmack的Android即时通信工具

    开发者需要考虑聊天窗口的设计、消息推送通知、好友列表展示、设置选项等UI元素,确保用户能够方便快捷地使用应用。 9. **性能优化**:为了保证流畅的用户体验,开发者需要关注应用的性能,比如减少网络延迟、优化...

    基于openfire服务器的xmpp协议的andorid端聊天daem

    2. **获取好友列表**:客户端向服务器发送请求,获取用户的联系人列表,这通常包含了好友的JID和其他元数据,如昵称。服务器会响应包含这些信息的XML流,客户端解析后显示在界面上。 3. **发送文字消息**:通过XMPP...

    android im

    Android IM 是一个基于Android平台的即时通讯(Instant Messaging)应用,它利用了Openfire作为后端服务器,并且依赖XMPP(Extensible Messaging and Presence Protocol)协议来实现用户间的实时通信。Openfire是一...

    Android即时通讯YiIM.zip

    15. 好友列表缓存 16. Vcard缓存 17. 好友在线状态获取 18. Notification通知 19. 新增好友分组管理支持(增删改) 20. 新增群组聊天支持 测试账号:10010-10030 密码都为:1 2 3 4 5 6 也可自行注册 服务端是...

    openfire即时聊天_smack_3_2_2_demo加jar包

    - **联系人管理**:获取好友列表,添加、删除或修改联系人。 - **群组聊天**:创建GroupChat对象,邀请用户到群聊,发送和接收群聊消息。 - **状态更新**:设置和获取用户的在线状态。 5. **集成Smack到项目**:...

    android高仿QQ的即时通讯(附带服务端)

    2. 好友管理:添加、删除好友,查看好友列表,获取好友在线状态。 3. 私聊:实现一对一的聊天功能,包括文本、图片、语音等多种消息类型。 4. 群聊:创建、加入群组,发起群组聊天,管理群成员。 5. 消息历史记录:...

    Android项目源码仿微信登录注册聊天换肤二维码扫描.zip

    TabFragment2通讯录界面,加载用户的好友列表; TabFragment3发现界面,功能尚未添加; TabFragment4个人设置页面,加载个人资料; AddFriendActivity添加好友页面,搜索仅仅是获取用户头像,申请添加好友,及...

    openfire4.2.1安装包及smack4.2.2开发jar包,内含smack辅助jar包,省去找包烦恼

    4. **联系人列表**:管理好友列表,添加、删除、分组联系人。 5. **多设备同步**:支持多个设备间的消息同步和会话恢复。 通过这个压缩包,开发者可以直接获取到Openfire服务器安装程序和Smack开发所需的jar包,...

    android基于xmpp即时通信-高仿QQ

    8. 实现好友列表管理,包括添加、删除好友,请求和接受好友请求。 9. 聊天记录存储,可以本地存储或者同步到服务器。 10. 通知机制,当有新消息时,通过Notification API发送通知提醒用户。 五、挑战与优化 1. 网络...

    XMPPChatDemoForAndroid

    3. `Roster`:处理用户的好友列表,包括添加、删除好友以及获取好友在线状态。 4. `Presence`:表示用户的在线状态,如在线、离线、隐身等。 5. `Activity`和`Fragment`:这些是Android UI组件,用于展示聊天界面、...

    Android基于XMPP协议的数据推送技术.pdf

    开发人员可以利用这些库来开发XMPP客户端,并实现用户注册、登录、发送接收消息、获取好友状态等功能。 提到的Eclipse和MyEclipse IDE是常用的Android开发环境。在这些集成开发环境中,可以方便地编写代码、管理...

    基于asmack的在线聊天源代码——调通可运行

    6. 好友管理:使用ServiceDiscoveryManager查找并添加好友,管理好友列表。 7. 离线消息处理:配置Asmack处理离线消息的能力,确保用户上线时能收到离线期间的未读消息。 需要注意的是,由于Asmack库是基于Java的,...

Global site tag (gtag.js) - Google Analytics