您的位置:首页 > 移动开发 > Android开发

XMPP的基本使用以及Android即时通讯的基本思路

2016-10-09 00:10 260 查看
-----开源框架XMPP的使用:
1.创建连接通道conn = new XMPPConnection();
2.conn.login(用户名,密码); 进行登录,抛出异常则登录失败,否则登录成功。
3.conn.getRoster()得到Roster对象,该对象包含通讯消息的各种内容。

roster,getEntry(address);单个联系人信息 (address是String型的数据,一般是在监听消息改变的回调方法中得到的)
roster.getEntry();获得所有联系人信息
上面方法得到都是RosterEntry的对象,该对象中有许多的用户信息,例如getName(),getUser()等

4.使用conn.addRosterListener()回调的方法来进行消息接受
5.实现RosterListener接口重写里面的方法来接受不同状态的消息改变

entriesAdded(Collection<String> collection) -->添加好友时调用,方法中的参数是address,可以通过roster.getEntry(address)来获得该联系人的信息
entriesUpdated(Collection<String> collection) -->更新好友信息时调用,方法中的参数同上
entriesDeleted(Collection<String> collection) --->删除好友信息时调用,方法中的参数同上

---利用XMPP实现Android即时通讯的基本思路:
1.登录成功后开启服务,在服务中开启线程来获取消息数据并写入数据库,再添加消息接收器,根据消息的不同来进行数据库数据的增删改,

其中,更新和添加数据操作写在一个方法中,先以网络得到数据为索引进行更新,如果更新成功,则说明数据库中存在,就不进行添加操作,反之,更新失败,则数据库中不存在以该索引的数据,则往数据库中添加该数据。

2.从数据库中读取数据显示在控件上,如ListVIew上,再利用内容观察者来监听数据库的改变,以刷新显示界面。

FragmentPagerAdapter() 的使用:

利用重写里面的Fragment getItem()和getCount()方法来进行适配器的设置。
getItem()里面返回相应继承Fragment的子类对象就行了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: