文档章节

ShareSDK for Android 只有新浪微博分享

墨梅
 墨梅
发布于 2014/05/08 17:59
字数 743
阅读 216
收藏 0
点赞 1
评论 1

ShareSDK 官方的例子非常好,但代码太多看起来不方便。我这里整理了一个只有一个微博分享的例子。

不过Android导入工作比较麻烦

首先,导入jar包,要参考官方提供的说明文档选自己需要的我这里只留了新浪和腾讯微博的



添加ShareSDK.conf     AppKey的资料都在这个里面  这个文件用记事本打开,将里面的appkey等资料换成自己就OK,要看官方的文档啊。




接下来是大量的图片资源





以上图片资源都是在官网提供的例子中复制的我只留了必要的图片资源和新浪和腾讯微博的。


接下来是配置文件,在考配置文件时,要注意,有些文件之前系统就有的要将里面的内容复制到对应的文件中,比如:string.xml   这里要多多注意啊。不然程序可能会出错



最后考入快捷分享的包,其实用这个库最大的好处就是分享方便不用自己写界面。



记得写配置文件:androidmanifest.xml啊

<uses-permission android:name="android.permission.INTERNET" />  
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
<uses-permission android:name="android.permission.READ_PHONE_STATE" />  
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>  
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<activity  
          android:name="cn.sharesdk.framework.ShareSDKUIShell"  
          android:theme="@android:style/Theme.Translucent.NoTitleBar"  
          android:configChanges="keyboardHidden|orientation"  
          android:screenOrientation="portrait"  
          android:windowSoftInputMode="stateHidden|adjustResize" >  
          <!--   
            Adapter表示一个继承自cn.sharesdk.framework.authorize.AuthorizeAdapter的类,  
            这个类可以监听到页面的生命周期,也可以获取授权页面的各种UI控件。   
            开发者可以通过继承AuthorizeAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。  
          -->  
          <meta-data android:name="Adapter" android:value="cn.sharesdk.demo.MyAdapter" />  
      </activity>

做了这么多准备工作,接下来我们进入最后的环节

下面的代码中有一个Button,自己在布局文件中拖一个吧 这里不给代码了

 package com.example.sharesdkandroid;  
  
  
import java.util.HashMap;  
  
import cn.sharesdk.framework.Platform;  
import cn.sharesdk.framework.PlatformActionListener;  
import cn.sharesdk.framework.ShareSDK;  
import cn.sharesdk.onekeyshare.OnekeyShare;  
import cn.sharesdk.sina.weibo.SinaWeibo;  
import android.os.Bundle;  
import android.R.string;  
import android.app.Activity;  
import android.content.Context;  
import android.view.Menu;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
  
public class MainActivity extends Activity implements OnClickListener,PlatformActionListener{  
      
    private Button btnButton;  
      
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
      
      
        ShareSDK.initSDK(this);  
          
        btnButton = (Button)findViewById(R.id.btn1);  
        btnButton.setOnClickListener(this);  
          
        Platform qzone = ShareSDK.getPlatform(this, SinaWeibo.NAME);  
        String openID = qzone.getDb().getUserId();  
        String accessTokenString = qzone.getDb().getToken();  
        String nickname = (String)qzone.getDb().get("nickname");  
        System.out.println(openID);  
        System.out.println(nickname);  
        System.out.println(accessTokenString);  
        String headicon = qzone.getDb().get("icon");  
        System.out.println(headicon);  
          
    }  
      
    @Override  
    protected void onDestroy() {  
        // TODO Auto-generated method stub  
        super.onDestroy();  
        ShareSDK.stopSDK(this);  
    }  
  
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        // Inflate the menu; this adds items to the action bar if it is present.  
        getMenuInflater().inflate(R.menu.main, menu);  
        return true;  
    }  
  
    @Override  
    public void onClick(View v) {  
        switch (v.getId()) {  
        case R.id.btn1:  
          
              
            OnekeyShare oksOnekeyShare = new OnekeyShare();  
            oksOnekeyShare.setNotification(R.drawable.ic_launcher, "ffff");  
            oksOnekeyShare.setText("ffffffffffffffff");  
              
            oksOnekeyShare.setPlatform(SinaWeibo.NAME);  
            oksOnekeyShare.setSilent(true);  
            oksOnekeyShare.show(this);  
              
            System.out.println("===================================");  
            Platform qzone = ShareSDK.getPlatform(this, SinaWeibo.NAME);  
            String openID = qzone.getDb().getUserId();  
            String nickname = (String)qzone.getDb().get("nickname");  
            System.out.println(openID);  
            System.out.println(nickname);  
              
  
//          weiboPlatform.setPlatformActionListener(this);  
//            
//          weiboPlatform.authorize();  
              
              
//          Platform.ShareParams sParams = new SinaWeibo.ShareParams();  
//          sParams.text = "text";  
//          Platform weibo = ShareSDK.getPlatform(this, SinaWeibo.NAME);  
//          weibo.share(sParams);  
              
              
            break;  
  
        default:  
            break;  
        }  
          
    }  
  
    @Override  
    public void onCancel(Platform arg0, int arg1) {  
        // TODO Auto-generated method stub  
          
    }  
  
    @Override  
    public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {  
        // TODO Auto-generated method stub  
        System.out.println("===================================");  
        Platform qzonePlatform = ShareSDK.getPlatform(this, SinaWeibo.NAME);  
        String accessTokenString = qzonePlatform.getDb().getToken();  
        System.out.println(accessTokenString);  
          
          
    }  
  
    @Override  
    public void onError(Platform arg0, int arg1, Throwable arg2) {  
        // TODO Auto-generated method stub  
          
    }  
      
      
  
  
}

© 著作权归作者所有

共有 人打赏支持
墨梅
粉丝 15
博文 211
码字总数 43367
作品 0
杭州
后端工程师
加载中

评论(1)

tanzhaozhao
tanzhaozhao
点赞~~42
Android使用友盟集成QQ、微信、微博等第三方登录

前言 最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的。为了统一使用友盟的全家桶,所以三方分享和登录也就选择了友盟。这里记录一下完整的...

慕前端7069444 ⋅ 05/21 ⋅ 0

Unity3D接入ShareSDK的微信分享功能

因为项目中需要加一个分享的功能,所以使用了ShareSDK(吐槽下,官网下载速度太慢了)。当然,shareSDK提供的功能要比这个要多很多,比如短信验证码,第三方登录等等。官网链接地址:https:/...

tel17610887670 ⋅ 04/11 ⋅ 0

Android ShareSDK 微博分享 (8995)app auth fail for appKey&sign&package 解决

小菜这两天接到客户的问题反馈,说微博分享失败,一直提示程序签名错误,这可把我们急坏了,紧急解决。我们借助的是 Mob 的 ShareSDK 分享功能,实际应用中相对比较稳定,集成也不复杂。 解决...

阿策神奇 ⋅ 04/09 ⋅ 0

安卓巴士联手Mob产品分享会精彩回顾

上周六(6月9日),由Mob和安卓巴士联合举办的Mob产品分享会在上海游族大厦完美落幕。 (大合影) 活动由Mob的五位PM担任主讲嘉宾,定向邀请了12位VIP用户,共同探讨了解MobSDK产品。 活动开...

逆鳞龙 ⋅ 06/14 ⋅ 0

组件化封装思想实战Android App视频课程

第1章 课程概述 通过本章让学生:1.了解本次项目实战主要有那些功能有,以及通过本次项目实战,学生可以掌握开发一个应用所需的全部知识。2.在课程安排上,我们主要以实际的开发顺序来讲解,...

15543647553 ⋅ 05/13 ⋅ 0

组件化封装思想实战AndroidApp

第1章 课程概述 通过本章让学生:1.了解本次项目实战主要有那些功能有,以及通过本次项目实战,学生可以掌握开发一个应用所需的全部知识。2.在课程安排上,我们主要以实际的开发顺序来讲解,...

飞雪团队 ⋅ 05/19 ⋅ 0

Android进阶之使用第三方平台ShareSDK实现新浪微博的一键分享功能

在公司最近的一个项目中,需要实现一键分享功能,在这里我使用的是第三方平台ShareSDK,将使用经验与大家分享 先看效果图 主界面 分享界面 由于第一次使用,所以需要先进行新浪授权,授权界面...

墨梅 ⋅ 2014/05/08 ⋅ 12

Android studio 集成 shareSDK

step 1:到mob.com注册一个账号 step2:在一个应用程序。 step3:下载SDK step4:在ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”双击打开 step5:...

Angels_安杰 ⋅ 2015/12/05 ⋅ 0

6月14日云栖精选夜读丨从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData、OneService的方法论,在...

yq传送门 ⋅ 06/14 ⋅ 0

基于 MVP 架构使用Android通用开发框架快速开发微博项目实战

课程目标: 基于 MVP 架构使用Android通用开发框架快速开发微博项目实战 适应人群: 适合大学生和初中级android开发工程师,可以系统化的微博类APP的开发,系统化掌握商业化项目的开发。* 不...

13122542396 ⋅ 05/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部