ShareSDK for Android 只有新浪微博分享

转自:http://www.tuicool.com/articles/6vA7Rr

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

不过Android导入工作比较麻烦

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

ShareSDK for Android 只有新浪微博分享_第1张图片 

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

 

接下来是大量的图片资源


ShareSDK for Android 只有新浪微博分享_第2张图片 

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

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

ShareSDK for Android 只有新浪微博分享_第3张图片 

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


记得写配置文件: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
    
  }
  
  


}

OK,可以分享了。

你可能感兴趣的:(ShareSDK for Android 只有新浪微博分享)