> >

Android 关注指定用户和获取关注列表

点击下载关注指定好友和获取好友列表功能demo

1、关注指定用户

当前的Share SDK已经实现了腾讯微博的关注功能,下面的代码演示腾讯微博的关注操作:

String account = "shareSDK";
 Platform weibo = ShareSDK.getPlatform(context,TencentWeibo.NAME);
//添加平台事件监听 
 weibo.setPlatformActionListener(paListener);
//关注好友
 weibo.followFriend(account);
如果重复关注。paListener会有错误回调,因此最好处理此异常,提示“重复关注”,或者直接提示“关注成功”。
执行关注前Share SDK会自行判断平台是否已经授权,若未授权,会自行执行授权操作。

2、获取关注列表

因为平台的差异,Share SDK当前仅为有限的平台提供获取关注列表的功能,这些平台包括:腾讯微博、Facebook和Twitter(其中Facebook获取的是好友列表)。下面的代码演示获取授权账户在微博上的第一页关注列表:

TencentWeibo weibo = new TencentWeibo(v.getContext());
 weibo.setPlatformActionListener(new PlatformActionListener() {
 public void onError(Platform weibo, int action, Throwable t) {
 t.printStackTrace();
 if (action == Platform.ACTION_GETTING_FRIEND_LIST) {
 // 在这里处理获取关注列表失败的代码
}
 } 

public void onComplete(Platform weibo, int action,
 HashMap<String, Object> res) {
 if (action == Platform.ACTION_GETTING_FRIEND_LIST) {
 // 在这里处理获取关注列表成功的代码
}
 }

public void onCancel(Platform weibo, int action) {
 if (action == Platform.ACTION_GETTING_FRIEND_LIST) {
 // 在这里处理取消获取关注列表的代码
}
 }
 });
weibo.listFriend(50, 0, null); // 获取授权账号的列表则传递null

下面的代码演示简单的解析获取到的好友列表(以解析好友的用户名为例)

public void onComplete(Platform weibo, int action, HashMap<String, Object> res) {
	//获取好友列表的微博名,解析数据
	ArrayList<Following> adata = new ArrayList<Following>();
	@SuppressWarnings("unchecked")
	ArrayList<HashMap<String, Object>> users
	= (ArrayList<HashMap<String,Object>>) res.get("users");
		String str="好友列表: ";
                //循环获取好友微博名
		for (HashMap<String, Object> user : users) {
			String name = String.valueOf(user.get("name"));
			str=str+"\n"+name;
		}
                //打印出好友微博名列表
		System.out.println(str);
}

关注列表的接口是分页的,不建议每一页请求太多项目,因为部分平台只能支持30个左右的分页。分页的页码从0开始。