通常获得新浪Oauth2AccessToken以后,可以用Demo中的AccessTokenKeeper类将Token保存在SharedPreferences中。


DEMO中并未给出uid的获得方式,可以通过两种方式获取。


1.在WeiboAuthListener中的onComplete(Bundlevalues)回调方法,调用values.getString("uid")获得。

2.通过新浪API接口,传入token获得Json。


新浪SDK的文档给出的信息量较少,很大程度上,我们需要自己摸索。


在调用API接口时,发现很多疑问。

1.在使用自己的HttpUtils类去用GET方式请求Json,发现会有IOException。

2.Parameters为自定义的类,存放在Arraylist中。

3.在4.0版本不可以在MainThread中进行网络操作,可以用AsyncTask或者另起线程来进行异步操作。

至于为什么报异常,需要进一步验证。


解决办法:

1.不要自己去写HttpUtils,应该使用新浪本身的HttpManager,调用其openUrl()方法,获得Json。

2.openUrl()中需要传递WeiboParameters,用add()方式向其添加请求参数。

3.可以用JSONObject去解析Json数据,需要导入Json的jar包来支持。


以下代码可以作为参考(通过新浪API接口传入Token获取当前用户uid)

public void getUserInfo(String token) {String url = "https://api.weibo.com/2/account/get_uid.json";WeiboParameters weiboParameters = new WeiboParameters();weiboParameters.add("access_token", token);try {String result = HttpManager.openUrl(url,HttpManager.HTTPMETHOD_GET, weiboParameters, null);JSONObject obj = new JSONObject(result);Log.e("uid",obj.getInt("uid")+"");} catch (WeiboException e) {e.printStackTrace();} catch (JSONException e) {e.printStackTrace();}}


以上所有内容均为个人观点,若有疑问和意见,欢迎留言讨论。

更多相关文章

  1. 新浪微博Android客户端SSO授权认证缺陷
  2. 下载AOSP android源码(最小最快下载方式,跳过编译直接导入Android(
  3. Android常用类库包介绍
  4. 通过Android(安卓)Binder拓展系统服务
  5. 在Android(安卓)Studio 2.2上集成OpenCV For Android(安卓)SDK
  6. android 对话框方式弹出实现
  7. AIDL的实例,看一看结构
  8. Android之MVP 模式:简单易懂的介绍方式
  9. Android(安卓)studio 百度地图开发(8)地图已标记POI点和搜索POI点

随机推荐

  1. android 模拟器命令 转载
  2. Android中的数据存储与传输
  3. Android笔记1
  4. android:launchMode="singleTask" 与 onN
  5. git 获取android source
  6. Android笔记1
  7. Android(安卓)创建自定义View 实现TopBar
  8. Android笔记 - 常见错误解决方法 | Andro
  9. Android启动脚本init.rc(2)
  10. Android(安卓)消息传递机制分析