Android腾讯微博开放平台入门(五)综合测试
项目源代码:http://download.csdn.net/detail/mrlixirong/3804385
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
/**
*
* @author mrlixirong
*
* 2011-11-16
*
*/
public class WeiboQQTestActivity extends Activity {
WeiboQQTestActivity wbqqta=this;
RelativeLayout mainView=null;
Button requestButton=null;
Button verifierButton=null;
EditText et=null;
Button accessButton=null;
TextView tv=null;
Button addButton=null;
Oauth oauth=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化oauth=new Oauth("你的key","你的secret")
oauth=new Oauth("","");
//
ui_init();
setContentView(mainView);
}
void ui_init(){
mainView=new RelativeLayout(this);
requestButton=new Button(this);
requestButton.setId(101);
requestButton.setTextSize(18);
requestButton.setText("gerRequest");
RelativeLayout.LayoutParams lp1=new RelativeLayout.LayoutParams(-2,-2);
lp1.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
requestButton.setLayoutParams(lp1);
mainView.addView(requestButton);
verifierButton=new Button(this);
verifierButton.setId(102);
verifierButton.setTextSize(18);
verifierButton.setText("getVerifier");
RelativeLayout.LayoutParams lp2=new RelativeLayout.LayoutParams(-2,-2);
lp2.addRule(RelativeLayout.CENTER_HORIZONTAL);
verifierButton.setLayoutParams(lp2);
mainView.addView(verifierButton);
accessButton=new Button(this);
accessButton.setId(103);
accessButton.setTextSize(18);
accessButton.setText("getAccess");
RelativeLayout.LayoutParams lp3=new RelativeLayout.LayoutParams(-2,-2);
lp3.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
accessButton.setLayoutParams(lp3);
mainView.addView(accessButton);
addButton=new Button(this);
addButton.setId(104);
addButton.setTextSize(18);
addButton.setText("发送一条信息");
RelativeLayout.LayoutParams lp4=new RelativeLayout.LayoutParams(-2,-2);
lp4.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
lp4.addRule(RelativeLayout.CENTER_HORIZONTAL);
addButton.setLayoutParams(lp4);
mainView.addView(addButton);
et=new EditText(this);
et.setId(105);
et.setSingleLine();
RelativeLayout.LayoutParams lp5=new RelativeLayout.LayoutParams(-1,-2);
lp5.addRule(RelativeLayout.BELOW,accessButton.getId());
et.setLayoutParams(lp5);
mainView.addView(et);
tv=new TextView(this);
tv.setId(106);
tv.setText("1、点击“getRequest”获取reqeust_token\n");
RelativeLayout.LayoutParams lp6=new RelativeLayout.LayoutParams(-1,-2);
lp6.addRule(RelativeLayout.BELOW,et.getId());
tv.setLayoutParams(lp6);
mainView.addView(tv);
OnClickListener ocl=new OnClickListener(){
@Override
public void onClick(View v) {
if(v==requestButton){
tv.setText("1、点击“getRequest”获取reqeust_token\n");
if(oauth.oauth_consumer_key=="" || oauth.oauth_consumer_secret==""){
tv.append("请在WeiboQQTestActivity里onCreate()函数,正确填写你的key和secret\n");
}else{
oauth=OauthClient.requestToken(oauth,wbqqta);
if(oauth.status){
tv.append("获取request_token成功\n");
tv.append("request_token="+oauth.oauth_token+"\n");
tv.append("request_token_secret="+oauth.oauth_token_secret+"\n");
tv.append("2、点击“getVerifier”打开浏览器登陆qq获取verfier。\n");
tv.append("3、获取verfier后,返回将其填入输入框。\n");
tv.append("4、点击“getAccess”,获取access_token\n");
}else{
tv.append("获取request_token失败\n");
}
}
}else if(v==verifierButton){
if(oauth.status){
Uri uri = Uri.parse("https://open.t.qq.com/cgi-bin/authorize?oauth_token="+oauth.oauth_token);
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}else{
tv.append("请先获取request_token\n");
}
}else if(v==accessButton){
if(oauth.status && et.getText().toString().length()==6){
oauth.oauth_verifier=et.getText().toString();
oauth=OauthClient.accessToken(oauth,wbqqta);
if(oauth.status){
tv.append("获取access_token成功\n");
tv.append("access_token="+oauth.oauth_token+"\n");
tv.append("access_token_secret="+oauth.oauth_token_secret+"\n");
tv.append("5、点击“发送一条信息”发布微博\n");
}else{
tv.append("获取request_token失败\n");
}
}else{
tv.append("请先获取request_token,并输入正确的verifier\n");
}
}else if(v==addButton){
//ip、jing、wei都可以为空
tv.append(WeiboQQAPI.sendMessage(oauth, "这是1条测试信息", "", "", "", wbqqta));
}
}
};
requestButton.setOnClickListener(ocl);
verifierButton.setOnClickListener(ocl);
accessButton.setOnClickListener(ocl);
addButton.setOnClickListener(ocl);
}
}
Android腾讯微博开放平台入门(五)综合测试相关推荐
- 腾讯微博开放平台 android登录界面显示为pc登录界面 解决方案
腾讯微博开放平台的登录授权一直没有官方的sdk,下载的sdk开始正常使用无问题,但是某天,我们用htc g10 android2.3(有刷过机)使用腾讯微博账号登录,发现登录界面显示为pc上的授权页 ...
- 腾讯微博开放平台授权教程(1)
看到坛子里众多开发者问了很多授权问题,官方又没有及时解答,主要是他的API文档有些细节不够明确,经过几天的摸索,我将摸索到的经验以图文及代码的形式写出来,希望能抛砖引玉. 一.前言 腾讯微博开放平台授 ...
- 微博开放平台应用申请(Android签名填写规则)
2019独角兽企业重金招聘Python工程师标准>>> 在微博开放平台新建应用,需要填写基本信息Android签名信息一栏中,很多人不知道这里填写什么 需要填写:android签名信 ...
- 新浪与腾讯的开放平台对比
做了金庸问答分别在腾讯和新浪的开放平台上线,了解了一些WEB开发的皮毛,对腾讯和新浪两个开放平台也有了一些认识,下面就我能力范围内对两个平台进行一番比对. 首先说云服务的平台,注意,说的不是开放平台. ...
- 新浪与腾讯的开放平台对比(下)
应用审核速度:腾讯完胜.在我前面写的菜鸟从零开始的第一个应用上线记中就写过了,我先提交新浪审核,然后才开始往腾讯移植,结果腾讯这边我三次审核后都上线了新浪的审核居然还没下来,工作效率差的不是一点.在新 ...
- 关于微博开放平台Oauth2.0接入网站应用
关于什么是微博开放平台及微博开放平台能做什么,咱就不做搜索引擎的搬运工了 这里直接给个链接介绍:微博开放平台 本文只是抛砖引玉,讲讲微博开放平台的基本用法,适合没接触过开放平台的朋友入门学习,老鸟就略 ...
- 【49.Auth2.0认证与授权过程-微博开放平台认证授权过程-百度开放平台认证授权过程-社交登录实现(微博授权)-分布式Session问题与解决方案-SpringSession整合-Redis】
一.知识回顾 [0.三高商城系统的专题专栏都帮你整理好了,请点击这里!] [1-系统架构演进过程] [2-微服务系统架构需求] [3-高性能.高并发.高可用的三高商城系统项目介绍] [4-Linux云 ...
- 【NLP】Pyhon+讯飞开放平台:手把手带你写一个智能语音播报系统
手把手带你写一个智能语音播报系统. 微信扫码登陆讯飞开放平台:https://www.xfyun.cn/ 完成个人认证. 在控制台创建应用,注意应用名称全库查重,很容易跟别人重复. 可查看到pytho ...
- 腾讯Q+开放平台,相信又是一次成功的模仿
今天看到两则新闻,中国国内两家互联网大佬都在推自己的开放平台: 腾讯CTO谈Q+开放平台:7月上线. 和 360推360°开放平台:建10亿元创新基金 .从文章的内容来看,Q+的本质就是做一个应用商店 ...
- 微博开放平台SDK 移动端的H5方式授权过程分析
最近公司要做一个sdk,仿照微博开放平台.要写移动sdk,并且采用H5页面进行授权.看了几天微博SDK源码,终于理解了微博如何做到通过H5页面授权,并回调移动端的方法返回授权码,access Toke ...
最新文章
- 论机器学习领域的内卷
- 多视图立体匹配论文分享CasMVSNet
- Struts2 分割字符串标签s:generator
- 徘徊于win和ubuntu
- 077_访问者的信息
- esp8266 lcd 天气_8266WIFI加LCD显示时间及天气pm25
- 机器学习线性回归_机器学习-线性回归
- 指针都没搞懂,还能算得上 C++ 老司机?
- android4.0 菜单,Android 4.0.4系统曝光 增新Power菜单
- C++新手入门学习笔记(跟着敲)
- ubuntu7.10下配置java 6和mysql
- 使用postman下载文件
- 网易云音乐打卡听歌300首源码
- 视频教程-思科CCNP路由实验专题--EIGRP篇【适用于思科CCNA、CCNP】-网络技术
- 基于面积对比法的图形匹配
- JEECMS安装部署方法以及使用说明教程
- sys fs的原理和使用
- 震惊!黄光裕、李嘉诚、马化腾甚至股市中的“野蛮人”都出自潮汕帮(附股)
- ipp协议 服务器,IPP远程服务
- React的render不是纯函数? triggering nested component updates from render is not allowed
热门文章
- 计算机网络自顶向下方法
- 数据结构面试常见问题总结
- pandas填充空数组_Pandas 数据处理:空值清理、联级、合并、缺省空值填充
- 人工智能系统的形式化验证技术研究进展与趋势
- 软件可靠性方法 学习笔记
- kafka阿里云镜像下载
- 随机过程在计算机领域的应用,随机过程与排队论——及其在计算机领域中的应用.doc...
- 浅谈数据库操作的左连接、右连接、内外连接的作用
- matlab的开方算法_matlab最大公约数 三种算法
- ANSYS APDL学习(6):ANSYS APDL部分命令流介绍