Android源码下载:QQ第三方登录demo
创始人
2025-01-09 16:40:15
0

功能分类:其他

支持平台:Android

运行环境:Eclipse

开发语言:Java

开发工具:Eclipse

源码大小:1.31MB

源码下载地址:http://down.51cto.com/data/1976923

源码简介

最近使用第三方登录,QQ登录官方给的demo中类太多了,这里上传一个小demo,只有2个类,可以授权QQ进行第三方登录。

源码运行截图

授权登录界面

授权成功返回值

主页面

源码片段

  1. Handler mHandler = new Handler() { 
  2.   
  3.         @Override 
  4.         public void handleMessage(Message msg) { 
  5.             if (msg.what == 0) { 
  6.                 JSONObject response = (JSONObject) msg.obj; 
  7.                 if (response.has("nickname")) { 
  8.                     try { 
  9.                         mUserInfo.setVisibility(android.view.View.VISIBLE); 
  10.                         mUserInfo.setText(response.getString("nickname")); 
  11.                     } catch (JSONException e) { 
  12.                         // TODO Auto-generated catch block 
  13.                         e.printStackTrace(); 
  14.                     } 
  15.                 } 
  16.             } else if (msg.what == 1) { 
  17.                 Bitmap bitmap = (Bitmap) msg.obj; 
  18.                 mUserLogo.setImageBitmap(bitmap); 
  19.                 mUserLogo.setVisibility(android.view.View.VISIBLE); 
  20.             } 
  21.         } 
  22.   
  23.     }; 
  24.   
  25.     private void onClickLogin() { 
  26.         if (!mQQAuth.isSessionValid()) { 
  27.             IUiListener listener = new BaseUiListener() { 
  28.                 @Override 
  29.                 protected void doComplete(JSONObject values) { 
  30.                     updateUserInfo(); 
  31.                     updateLoginButton(); 
  32.                 } 
  33.             }; 
  34.             mQQAuth.login(this, "all", listener); 
  35.             // mTencent.loginWithOEM(this, "all", 
  36.             // listener,"10000144","10000144","xxxx"); 
  37.             mTencent.login(this, "all", listener); 
  38.         } else { 
  39.             mQQAuth.logout(this); 
  40.             updateUserInfo(); 
  41.             updateLoginButton(); 
  42.         } 
  43.     } 
  44.   
  45.     public static boolean ready(Context context) { 
  46.         if (mQQAuth == null) { 
  47.             return false; 
  48.         } 
  49.         boolean ready = mQQAuth.isSessionValid() 
  50.                 && mQQAuth.getQQToken().getOpenId() != null; 
  51.         if (!ready) 
  52.             Toast.makeText(context, "login and get openId first, please!", 
  53.                     Toast.LENGTH_SHORT).show(); 
  54.         return ready; 
  55.     } 
  56.   
  57.     private class BaseUiListener implements IUiListener { 
  58.   
  59.         @Override 
  60.         public void onComplete(Object response) { 
  61.             Util.showResultDialog(MainActivity.this, response.toString(), 
  62.                     "登录成功"); 
  63.             doComplete((JSONObject) response); 
  64.         } 
  65.   
  66.         protected void doComplete(JSONObject values) { 
  67.   
  68.         } 
  69.   
  70.         @Override 
  71.         public void onError(UiError e) { 
  72.             Util.toastMessage(MainActivity.this, "onError: " + e.errorDetail); 
  73.             Util.dismissDialog(); 
  74.         } 
  75.   
  76.         @Override 
  77.         public void onCancel() { 
  78.             Util.toastMessage(MainActivity.this, "onCancel: "); 
  79.             Util.dismissDialog(); 
  80.         } 
  81.     } 

源码下载地址:http://down.51cto.com/data/1976923

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...