zoukankan      html  css  js  c++  java
  • ShareSDK for Android 只有新浪微博分享

    本文代码例子:http://pan.baidu.com/share/link?shareid=3710053477&uk=3189484501


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


    OK,可以分享了。







  • 相关阅读:
    用户 'IIS APPPOOLPrivate' 登录失败。
    WCF 内置跟踪日志
    Ionic3 下拉刷新
    Ionic3 组件懒加载
    Ionic3 编程-应用启动进入引导页
    mysql数据库导入导出
    PHP-生成二维码(qr-code)
    javascript 总结(常用工具类的封装)
    Ajax跨域原理及解决方案
    封装获取连续数字的拼接
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3323117.html
Copyright © 2011-2022 走看看