http://dev.t.qq.com/ 申请appkey和appsecret.
核心代码:
package com.tencent.weibo.sdk.android.demo; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.PopupWindow; import android.widget.ProgressBar; import android.widget.Toast; import com.tencent.weibo.sdk.android.api.WeiboAPI; import com.tencent.weibo.sdk.android.api.util.Util; import com.tencent.weibo.sdk.android.component.Authorize; import com.tencent.weibo.sdk.android.component.GeneralDataShowActivity; import com.tencent.weibo.sdk.android.component.GeneralInterfaceActivity; import com.tencent.weibo.sdk.android.component.ReAddActivity; import com.tencent.weibo.sdk.android.component.sso.AuthHelper; import com.tencent.weibo.sdk.android.component.sso.OnAuthListener; import com.tencent.weibo.sdk.android.component.sso.WeiboToken; import com.tencent.weibo.sdk.android.model.AccountModel; import com.tencent.weibo.sdk.android.model.BaseVO; import com.tencent.weibo.sdk.android.model.ModelResult; import com.tencent.weibo.sdk.android.network.HttpCallback; public class MainPage_Activity extends Activity { private Button authorize =null; private Button add =null; private Button readd =null; private Context context = null; private WeiboAPI weiboAPI;//微博相关API private String accessToken;// 用户访问令牌 private String requestFormat = "json"; private double longitude = 0d; //初始 private double latitude = 0d; private HttpCallback mCallBack;//回调函数 private PopupWindow loadingWindow = null; private ProgressBar progressBar = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); this.setContentView(R.layout.main_layout); context = this.getApplicationContext(); this.init(); //这里是粗放的错误提示,只做示例,实际应用时应该细化且友好 mCallBack = new HttpCallback() { @Override public void onResult(Object object) { ModelResult result = (ModelResult) object; if(loadingWindow!=null && loadingWindow.isShowing()){ loadingWindow.dismiss(); } if(result!=null && result.isSuccess()){ Toast.makeText(MainPage_Activity.this, "分享成功", Toast.LENGTH_SHORT) .show(); }else{ Toast.makeText(MainPage_Activity.this, "分享失败", Toast.LENGTH_SHORT) .show(); } } }; progressBar = new ProgressBar(this); loadingWindow = new PopupWindow(progressBar,100,100); } public void init(){ authorize = (Button)findViewById(R.id.authorize); authorize.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { /** * 跳转到授权组件 */ long appid = Long.valueOf(Util.getConfig().getProperty("APP_KEY")); String app_secket = Util.getConfig().getProperty("APP_KEY_SEC"); auth(appid, app_secket); } }); add = (Button)findViewById(R.id.add); add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { shareInfo(); } }); readd = (Button)findViewById(R.id.readd); readd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //startReq(); /** * 跳转到一键转播组件 * 可以传递一些参数 * 如content为转播内容 * video_url为转播视频URL * pic_url为转播图片URL */ Intent i = new Intent(MainPage_Activity.this,ReAddActivity.class); Bundle bundle = new Bundle(); bundle.putString("content", "Make U happy"); bundle.putString("video_url", "http://www.tudou.com/programs/view/b-4VQLxwoX4/"); bundle.putString("pic_url", "http://t2.qpic.cn/mblogpic/9c7e34358608bb61a696/2000"); i.putExtras(bundle); startActivity(i); } }); Button delAuthorize = (Button)findViewById(R.id.exit); delAuthorize.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Util.clearSharePersistent(context); Toast.makeText(MainPage_Activity.this,"注销成功", Toast.LENGTH_SHORT) .show(); } }); Button comInterface = (Button)findViewById(R.id.commoninterface); comInterface.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent i = new Intent(MainPage_Activity.this,GeneralInterfaceActivity.class); startActivity(i); } }); } private void auth(long appid, String app_secket) { final Context context = this.getApplicationContext(); //注册当前应用的appid和appkeysec,并指定一个OnAuthListener //OnAuthListener在授权过程中实施监听 AuthHelper.register(this, appid, app_secket, new OnAuthListener() { //如果当前设备没有安装腾讯微博客户端,走这里 @Override public void onWeiBoNotInstalled() { Toast.makeText(MainPage_Activity.this, "onWeiBoNotInstalled", 1000) .show(); AuthHelper.unregister(MainPage_Activity.this); Intent i = new Intent(MainPage_Activity.this,Authorize.class); startActivity(i); } //如果当前设备没安装指定版本的微博客户端,走这里 @Override public void onWeiboVersionMisMatch() { Toast.makeText(MainPage_Activity.this, "onWeiboVersionMisMatch", 1000).show(); AuthHelper.unregister(MainPage_Activity.this); Intent i = new Intent(MainPage_Activity.this,Authorize.class); startActivity(i); } //如果授权失败,走这里 @Override public void onAuthFail(int result, String err) { Toast.makeText(MainPage_Activity.this, "result : " + result, 1000) .show(); AuthHelper.unregister(MainPage_Activity.this); } //授权成功,走这里 //授权成功后,所有的授权信息是存放在WeiboToken对象里面的,可以根据具体的使用场景,将授权信息存放到自己期望的位置, //在这里,存放到了applicationcontext中 @Override public void onAuthPassed(String name, WeiboToken token) { Toast.makeText(MainPage_Activity.this, "passed", 1000).show(); // Util.saveSharePersistent(context, "ACCESS_TOKEN", token.accessToken); Util.saveSharePersistent(context, "EXPIRES_IN", String.valueOf(token.expiresIn)); Util.saveSharePersistent(context, "OPEN_ID", token.openID); // Util.saveSharePersistent(context, "OPEN_KEY", token.omasKey); Util.saveSharePersistent(context, "REFRESH_TOKEN", ""); // Util.saveSharePersistent(context, "NAME", name); // Util.saveSharePersistent(context, "NICK", name); Util.saveSharePersistent(context, "CLIENT_ID", Util.getConfig().getProperty("APP_KEY")); Util.saveSharePersistent(context, "AUTHORIZETIME", String.valueOf(System.currentTimeMillis() / 1000l)); AuthHelper.unregister(MainPage_Activity.this); } }); AuthHelper.auth(this, ""); } private void shareInfo(){ accessToken = Util.getSharePersistent(getApplicationContext(), "ACCESS_TOKEN"); if (accessToken == null || "".equals(accessToken)) { Toast.makeText(MainPage_Activity.this, "请先授权", Toast.LENGTH_SHORT).show(); this.finish(); return ; } AccountModel account = new AccountModel(accessToken); weiboAPI = new WeiboAPI(account); weiboAPI.addWeibo(context, "http://chenzheng8975.iteye.com/腾讯微博测试!", requestFormat, longitude, latitude, 0, 0, mCallBack, null, BaseVO.TYPE_JSON); } }
相关推荐
"android腾讯微博分享demo"是一个示例项目,旨在帮助开发者理解并实现如何在Android应用中集成腾讯微博的分享功能。这个Demo经过了测试,被认为工作良好,对初学者来说简单易懂。 首先,我们需要了解腾讯微博开放...
在Android平台上,腾讯微博分享是一种常见的社交功能,允许用户将应用程序内的内容,如文本、图片、链接等,快速地发布到自己的腾讯微博账号上,与好友进行互动分享。本教程将详细讲解如何在Android应用中集成腾讯...
在Android平台上,腾讯微博分享是一种常见的社交功能,它允许用户将文字、图片、链接等内容一键发布到自己的腾讯微博账号上,与其他用户互动。本实例主要关注如何在Android应用中实现这一功能,通过集成腾讯微博SDK...
本文将深入探讨"Android新浪微博分享SDK"和"Android腾讯微博分享SDK"的相关知识点,帮助开发者实现高效、便捷的微博分享功能。 1. **微博SDK概述** 微博SDK(Software Development Kit)是由微博官方提供的,用于...
这里我们讨论的是“Android腾讯微博源码”,这是一份宝贵的资源,可以帮助开发者深入理解Android应用开发,特别是社交应用的实现细节。这份源码提供了客户端的全部代码,意味着我们可以探索其背后的架构设计、功能...
这份“Android腾讯微博部分源码”为我们提供了一个宝贵的资源,可以深入理解腾讯微博客户端的实现机制,以及如何在Android上构建类似的应用。 源码分析: 1. **网络通信**:腾讯微博的源码中,很可能会包含使用...
【标题】"Android 腾讯微博客户端源码1.rar" 涵盖了Android平台上腾讯微博客户端应用程序的源代码,这是一个深入理解Android应用开发、社交网络集成以及腾讯微博API使用的宝贵资源。在这个源码中,我们可以看到如何...
【Android 腾讯微博客户端源码】是一个深入学习Android应用开发的重要资源,它揭示了腾讯微博客户端的具体实现细节,对于开发者来说,是提升技能、理解大型应用架构和交互设计的宝贵材料。在这个项目中,我们可以...
2. 腾讯微博分享: 类似于新浪,腾讯微博也有自己的SDK,同样需要注册获取App ID和App Secret。调用分享接口时,需要用户授权,然后可以分享文本、图片、网页链接等内容。需要注意的是,腾讯微博的分享可能需要处理...
本篇文章将深入探讨“新浪腾讯微博分享demo”,这是一个专为Android平台设计的示例项目,它实现了通过Oauth2.0协议与新浪微博和腾讯微博的无缝对接,支持文字和图片的分享功能。以下我们将详细解析这个项目的重点...
总的来说,"简单腾讯微博分享"项目旨在简化Android应用中多平台分享的实现,让开发者能够快速集成和定制分享功能,同时考虑到用户体验和数据安全。通过学习和实践这个项目,开发者可以掌握如何与社交媒体平台进行...
《Android仿腾讯微博客户端开发详解》 在移动互联网飞速发展的今天,社交应用已经成为人们日常生活中不可或缺的一部分。作为中国主流的社交媒体平台,腾讯微博在移动端的重要性不言而喻。本篇将详细介绍如何在...
在移动开发领域,腾讯微博开放平台为开发者提供了一个强大的工具,允许他们集成微博功能到自己的Android应用程序中。这个平台提供了丰富的API,使得开发者可以轻松实现用户登录、微博发布、信息获取等一系列操作。...
在Android平台上实现微博分享功能是..."android腾讯微博分享实例"则可能是一个具体的代码示例,可以帮助开发者更直观地理解和实现微博分享功能。通过阅读和实践这些资源,开发者可以更好地掌握Android微博分享的技巧。
RT,基于OAUTH2.0的腾讯微博认证以及发送微博,代码简洁易懂,方便童鞋们开发需要用到分享信息到腾讯微博功能的应用,具体教程可留意我的CSDN博客http://blog.csdn.net/geniuseoe2012
【Android腾讯微博客户端源码1.zip】是一个包含Android应用项目的源码包,主要涉及的是腾讯微博的客户端实现。这个源码对于开发者来说是一份宝贵的参考资料,可以用于学习和理解Android应用开发,特别是针对社交网络...
7. **微博功能实现**:具体到腾讯微博,课程会讲解如何实现登录、发布、浏览和评论微博,以及关注和分享等功能。这涉及到了OAuth认证、JSON解析和UI绑定等技术。 8. **性能优化**:学习如何进行内存管理,避免内存...
### 腾讯微博Android客户端开发之签名、辅助与辅助方法编写 #### 一、引言 在开发腾讯微博Android客户端的过程中,一个重要的环节就是实现API接口的安全访问,特别是通过OAuth认证机制确保数据的安全性和用户的隐私...
"2011年沈大海讲师Android的腾讯微博客户端认证源代码" 这个标题表明这是一个关于2011年由讲师沈大海分享的Android平台上的腾讯微博客户端的源代码项目。其中,"腾讯微博客户端"是指一个应用,它允许用户在Android...
腾讯微博分享是社交媒体平台腾讯微博的一项关键功能,它允许用户将文字、图片、视频等内容发布到自己的微博上,并能够一键分享到其他社交网络,与朋友们进行互动和信息传播。在这个场景下,涉及到的主要知识点包括:...