文档章节

ShareSDK for Android 只有新浪微博分享

墨梅
 墨梅
发布于 2014/05/08 17:59
字数 743
阅读 218
收藏 0

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  
          
    }  
      
      
  
  
}

本文转载自:http://blog.csdn.net/qqmcy/article/details/11688975

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

评论(1)

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

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

墨梅
2014/05/08
0
12
利用插件化技术调用ShareSDK减小应用体积

一 引言: ShareSDK是非常棒的移动社会化分享和评论工具,相信我们在开发应用过程中都离不开它。但是当我们集成ShareSDK时候同样会遇到一些问题。 1. ShareSDK包比较大,组合国内多家分享平台...

梁大帅
2015/03/30
0
2
ShareSDK集成第三方登录和分享的步骤

之前用过这个几次了,而每次都没有记录一下具体的步骤,这次就写一下吧 1、去ShareSDK下载官方的SDK 2、现在他们的服务特别人性化,解压SDK之后会发现有一个"双击此批处理文件可以生成一个快...

Cory
2013/10/22
0
2
Android使用友盟集成QQ、微信、微博等第三方登录

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

慕前端7069444
05/21
0
0
android一键分享功能不使用任何第三方sdk

广大的Android开发者同胞们是不是已经受够了社交平台分享的折腾了呢,下面我为大家介绍一种简单的分享方法,省去了一大把申请加审核的时间和心力。趁热乎分享出来,希望能帮到大家。 在andro...

Jack_1900
2014/07/08
0
4

没有更多内容

加载失败,请刷新页面

加载更多

6. Python3源码—List对象

6.1. List对象 List对象是“变长对象”。 6.1.1. Python中的创建 Python中List对象最重要的创建方法为PyList_New,如下Python语句最终会调用到PyList_New: test = [1, 2, 3, 4, 5] 6.1.2. ...

Mr_zebra
21分钟前
1
0
nginx屏蔽指定接口(URL)

Step1:需求 web平台上线后,需要屏蔽某个服务接口,但又不想重新上线,可以采用nginx屏蔽指定平台接口的办法 Step2:具体操作 location /dist/views/landing/UNIQUE_BEACON_URL { re...

Linux_Anna
28分钟前
2
0
tomcat高并发配置调优

作者:Joker-pan 原文:https://blog.csdn.net/u011622226/article/details/72510385?utm_source=copy --------------------- tomcat 解压就使用的,配置都没动过,肯定不能支持高并发了; ...

imbiao
47分钟前
4
0
mysql 联结,级联查询总结区分

其实我对 数据库的级联或者联结查询一直都是会用,项目能查询出来自己想要的结果即可。 毕竟SQL使用复杂的查询毕竟比较少,而且不难使用。 至于区分他们,我还真的有点模糊。 在看 《SQL必知...

之渊
今天
3
0
区块链入门教程分享区块链POW证明代码实现demo

兄弟连区块链入门教程分享区块链POW证明代码实现demo 这里强调一下区块链的协议分层 应用层 合约层 激励机制 共识层 网络层 数据层 上 一篇主要实现了区块链的 数据层,数据层主...

兄弟连区块链入门教程
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部