第三方登录之qq

主MainActivity

public class MainActivity extends AppCompatActivity {

    private Button btn;
    private TextView tv;
    private ImageView image;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.btn);
        tv = (TextView) findViewById(R.id.tv);
        image = (ImageView) findViewById(R.id.image);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                UMShareAPI.get(MainActivity.this).getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, umAuthListener);
            }
        });
    }
    private UMAuthListener umAuthListener = new UMAuthListener() {
        @Override
        public void onStart(SHARE_MEDIA platform) {
            //授权开始的回调
        }
        @Override
        public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
            Toast.makeText(getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show();
            String name = data.get("name");
            String gender = data.get("gender");
            String photoUrl = data.get("iconurl");
            tv.setText(name + " " +gender);
            ImageLoader.getInstance().displayImage(photoUrl,image);
        }

        @Override
        public void onError(SHARE_MEDIA platform, int action, Throwable t) {
            Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onCancel(SHARE_MEDIA platform, int action) {
            Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show();
        }
    };
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
    }
}

Appliction

public class appliction extends Application{
    private static appliction mAppApplication;

    //第三 加权限 第四功能清单加activity 第五功能清单加meta 第六加下面这行代码
    {
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        initImageLoader(getApplicationContext());
        mAppApplication = this;

        //第七 初始化   ,第八加签名文件 ,第九 在gradle里面配置签名文件
        UMShareAPI.get(this);
    }

    /**
     * 获取Application
     */
    public static appliction getApp() {
        return mAppApplication;
    }

    /** 初始化ImageLoader */
    /**
     * 初始化ImageLoader
     */
    public static void initImageLoader(Context context) {
        File cacheDir = StorageUtils.getOwnCacheDirectory(context, "topnews/Cache");//获取到缓存的目录地址
        Log.d("cacheDir", cacheDir.getPath());
        //创建配置ImageLoader(所有的选项都是可选的,只使用那些你真的想定制),这个可以设定在APPLACATION里面,设置为全局的配置参数
        ImageLoaderConfiguration config = new ImageLoaderConfiguration
                .Builder(context)
                .threadPoolSize(3)//线程池内加载的数量
                .denyCacheImageMultipleSizesInMemory()//.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation你可以通过自己的内存缓存实现
                .memoryCacheSize(2 * 1024 * 1024)
                .diskCacheSize(50 * 1024 * 1024)
                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密
                .tasksProcessingOrder(QueueProcessingType.LIFO)
                .diskCache(new UnlimitedDiskCache(cacheDir))
                //自定义缓存路径//.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
                .build();
        ImageLoader.getInstance().init(config);//全局初始化此配置
    }

 }
时间: 2024-10-15 18:12:41

第三方登录之qq的相关文章

第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)

为了让网站更快接入,腾讯提供了JS SDK的接入方案,具体点击这里或者点击这里进行查看. 不过也可以自己写代码,当然你需要了解QQ的OAuth2.0的处理流程(Web Server Flow). OAuth2.0的处理流程:点击这里查看官方Wiki. 1.授权:获取授权码Authorization Code 说明:第一步QQ必须得到要登录系统的授权信息,如果授权全成功,则会跳转到回调地址,同时授权码以参数形式,追加回调地址上. 当然还有一些其他参数,具体详情看官方介绍. 实例: https://

第三方登录接入-qq,weibo-java

开发之前 需求:网站接入qq,sina微博登录,本文最后付效果图: 说明:大部分网站本身是需要用户概念的,很多操作依附于用户,而qq或微博作为一种登录方式指向用户而已,我参考了一下其他网站的做法, 一般有如下两种做法: 1,强制绑定:用户第一次通过qq登录时必须与该网站账户绑定,也就是用户必须要先有一个此网站账户才能登录成功 2,互相独立,用户第一次通过qq登录时直接重新为用户注册一个账户,如以用户名为qq_123456直接注册一个账户,与其他账户无关: 站在用户角度考虑下,可能需要更多的选择性

第三方登录之QQ授权登陆

因为开发项目中有使用到第三方登录的技术,于是就研究了一下,把流程总结一下,方便以后使用,也给大家提供一个参考,有不对的地方,希望大家指出来,做这个测试的前提是你要有一个能连接公网的服务器或者云服务器都可以,还需要一个域名,我这里是把测试网站部署到新浪云上面的,创建好你的测试网站,并记录下访问地址. 第一步:进入QQ互联的官网(http://connect.qq.com/),并登录,在这里需要注意的是,官网给的建议是使用公司公共QQ号,以免造成员工离职后QQ号不能使用的问题,当然了,我这里是做的测

第三方登录(QQ登录)开发流程详解

原文  http://www.cnblogs.com/it-cen/p/4338202.html 主题 OpenID 近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑做一个详细的讲解. 对于整个流程的详细文档可以到QQ互联官网( http://wiki.connect.qq.com )查看,我这里就简单地进行描述,主要是分析代码的实现过程. 我用的是CI框架(MVC模式),模板引擎用的是smarty. 下图为整个接入流程: 一.准备工作 接

iOS 第三方登录之 QQ登录

一. 首先需要下载腾讯qq登录所需的库,下载地址是http://open.qq.com/ . 需要用到的有TencentOpenAPI.framework 和TencentOpenApi_IOS_Bundle.bundle,将两者加入工程. 二.下面就来实现QQ第三方登录 1.声明属性,且viewcontroller实现TencentSessionDelegate @interface LoginViewController :UIViewController<TencentSessionDel

第三方登录之QQ登录(一)——QQ互联开放平台新建应用

现在这种第三方登录的应用很广泛也很方便.省得用户进行注册了.今天就来研究一下QQ登录API的使用. 首先说一下,腾讯提供了许多个的开放平台.差不多每个大的产品都提供了开放平台,比如微信.QQ邮箱,财付通等.这里面有2个比较易混的,一个是QQ互联,一个是腾讯开发平台.QQ互联主要是为了给第三方网站或移动应用提供登录信息.而腾讯开发平台,则是为托管型的应用(平台应用和移动应用)提供服务的.不过现在QQ互联正在往腾讯开发平台上迁移. 这是QQ互联官网中关于网站接入流程的wiki:http://wiki

第三方登录(QQ,微博,支付宝)

最近公司需要做一个第三方登录的功能,之前我用JS的SDK玩过.开始的时候,觉得挺简单的,不过本来就简单. 由于DEMO我后面加入QQ的,导致不兼容,出现weibo能登录,QQ的报错,具体不兼容的是Newtonsoft.Json. Demo搞定了.觉得有点乱,重新把demo里面的东西,重新写了一个解决方案. 准备东西: 1.首先到需要网站上申请AppKey和AppSecret QQ:http://connect.qq.com/(认证网站) Sina:http://open.weibo.com/(简

(转)第三方登录(QQ登录)开发流程详解

近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑做一个详细的讲解. 对于整个流程的详细文档可以到QQ互联官网(http://wiki.connect.qq.com)查看,我这里就简单地进行描述,主要是分析代码的实现过程. 我用的是CI框架(MVC模式),模板引擎用的是smarty. 下图为整个接入流程: 一.准备工作 接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权.

实现第三方登录(QQ、微信、微博)

第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. 1.进入QQ互联官网进行登录(可以使用自己的QQ或者重新注册一个QQ号作为咱们项目的单独QQ进行管理),地址:https://connect.qq.com/ 2.点击"应用管理"进入QQ互联管理中心,在这里进行相关应用的创建,分为 网站应用 和 移动应用.选择自己想要的应用进行资料的填写

第三方登录:QQ登录实现(OAuth2.0)

一.创建应用 1.在 QQ互联 创建应用 地址:https://connect.qq.com/manage.html#/ 然后进行实名认证,创建应用,审核通过 然后点击查看,可以获得 APP ID 和 APP Key 回调地址如下 2.授权的基本原理 可以参考官方文档 1)根据QQ登录链接可以回调获得 code 2)根据APP ID .APP Key 和 code 可获得 token 3)根据 token 获得 OpenId 4)  根据 OpenId 可以获得用户的基本信息 其中 OpenId