ShareSDK for Android 只有新浪微博分享

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

转载于:https://my.oschina.net/u/1036767/blog/262412

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值