尝试开发自己的android微博客户端

用别人的客户端各种不爽,刚好有一些小想法,虽好久没摸代码,但还不算怵
花了两天把Hello.Android.3rd.Edition 按照作者的描述把前四章看了(入个门不错,),跃跃欲试。最痛苦的莫过于ui,于是乎就用apktool 把饭否的apk的资源文件拿来了,ui上节省点时间。

那本书之前翻过几张就丢下了 没写的动力,从上周正经开始学android,几点感悟

1、最好的指导就是android官网的dev guide+tutorial,正好用过android手机,感觉非常亲切
2、 问题求解一般都是再stackoverflow上解决
3、一直待业在家,没人交流  走了不少弯路 ,不出门也应该网上找人交流(自己喜欢角落里抠CHI)。

开发新浪微博可是费了 不少劲,官方api写的实在是粗糙,下了新浪员工的android sdk,因为没弄过oauth,想省事,不懂其中的规则,结果耽误不少时间

新浪的接口 oauth1.o、oauth2.o 、base auth让我非常纠结

2.0暂不放,base auth 不对新用户开发,1.0据说又快放弃,让人很没安全感

特殊权限申请
因为OAuth2.0的客户端验证授权会获得用户明文密码,所以实行有限开放。
申请条件:

  • 应用分类属于桌面客户端、手机客户端。
  • 应用本身已经通过开放平台文案、广场审核,并在广场上展示超过15天。
  • 应用使用人数在3000以上。
  • 应用本身功能与新浪微博关联紧密。

新浪的sdk 是oauth1.o 的,sdk和api文档中注意几个问题

1、所有的OAuth请求使用同样的算法来生成(signature base string)签名字符基串和签名。参数需按字典排序(之前https一直出现no peer certificate)
2、sdk里面有一个 HttpHeaderFactory,作者为每三个示例接口分别实现header设置,扩展参数需要自己去完善
RequestHeader (默认的不含扩展参数的)、AccessTokenHeader、RequestTokenHeader
3、出现问题可以去查错误码

http 401 Authentication error: Unable to respond to any of these challenges

https :no peer certificate 就是签名参数顺序不对结果起码折腾了10小时+

还是基础理论最重要,出错了知道去哪找,屡教不改,一个月内完成有风险啊,开发客户端真不容易,不停地联调,之前管理别人开发,不理解兄弟们的难处,真是惭愧。

wing酱 的wing客户端也是激发自己开发自己客户端原因之一,“每个app背后都是开发者夜以继日的辛勤劳动”,现在深有体会,头疼啊,睡觉。