-----开源框架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的子类对象就行了