文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点

前言: 分享 Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点,文章有点长,但比较全面,阅读时间15分钟左右,干货满满。 一、HashMap的那些事 1.1、HashMap的实现原理 1.1.1、...

Java大蜗牛
35分钟前
2
0
nginx模块学习五 expires 浏览器缓存

缓存原理 语法 Syntax: expires [modified] time;expires epoch | max | off;Default: expires off;Context: http,server,location,if in location 例/etc/nginx/conf.d/default.con......

Romanceling
46分钟前
0
0
怎样回答技术面试题?

一、听清题,勿抢答 面试,首先也是一个人与人交流沟通的过程。有些时候,面试官还没说完问题,面试者就会打断说「这个问题我知道...」。打断不利于沟通,同时,这样其实导致面试题没听清。比...

Java小铺
48分钟前
0
0
分布式环境下的并发问题

在分布式环境中,处理并发问题就没办法通过操作系统和JVM的工具来解决,那么在分布式环境中,可以采取一下策略和方式来处理: 避免并发 时间戳 串行化 数据库 行锁 统一触发途径 避免并发 在...

edwardGe
今天
1
0
Golang可变参数

Go 可变参数 语法 如果一个函数最后一个参数被标记为…T,表示函数可以接受一个可变的参数。 比如,我们想在nums中查找num是否存在: func find(num int, nums …int){} 目的是通过find函...

春哥大魔王的博客
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部