精华内容
下载资源
问答
  • 安卓Android第三方登录-QQ登录 要实现QQ第三方登录,其实只需要一个封装类:QQLoginManager 几乎 三行代码 就实现QQ登录功能 这里先给出Github开源项目地址,项目下有详细的使用说明   下面就开始...

    安卓Android第三方登录-QQ登录

    要实现QQ第三方登录,其实只需要一个封装类:QQLoginManager

    几乎 三行代码 就实现QQ登录功能

    这里先给出Github开源项目地址,项目下有详细的使用说明

     

    下面就开始详细说一说怎么实现基于这个强大开源项目的安卓第三方QQ登录吧!

    准备工作:获取 AppID

    打开 http://open.qq.com/

    点击应用接入

    第一次需要按照说明 注册类型 ,如果是小白练手,推荐选择个人

    通过步骤完成注册(可能需要实名认证,一般审核需要12个小时)

    在管理中心创建应用

    选择创建的类型

    注意:到这里如果只是单纯的个人测试用,只需要填写一下应用名称、选一下应用类型,然后点击【保存】就可以了,并不需要真的发布到应用宝上,之后AppId就可以用了

    再注意一下:一个AppID只能在一个应用上使用,如果另一个项目也需要使用QQ登录,需要在管理中心新建一个应用

     

    到了这里就可以进行开发工作了,由于本篇博客主要内容为通过一个集成封装类实现安卓的QQ第三方登录,所以原生的QQ登录、从头到尾的写法就不赘述了

     

    引入开源项目(GitHub开源项目:点这里    下载地址:点这里

     

    Step 1. 引入SDK JAR包

    下载Jar包

    你可以点击这里下载 腾讯官方QQ-SDK-JAR 包 (下载完成后只需要解压出里面 libs 文件夹里的 jar文件 即可)

    也可以直接使用GitHub项目里 qq_sdk_jar文件夹 里的 jar包 (这个jar包为腾讯官方于为2018年5月更新的版本,你也可以点击这里查看 最新官方SDK包版本 )

    在项目里引入Jar包

    这里给出一种引入Jar包的方法(其他方法也可以)

    Android Studio为例:

    将下载好的jar包放到你的安卓项目的 app\libs 文件夹下

    Android Studio 中点击 File->Project Structure,然后选择 app->Dependencies,这时候点击右上角的 + 号,选择 Jar dependency,然后选择上一步 libs 文件夹里的 jar包 添加即可

     

    Step 2. 修改AndroidManifest文件

    (1) 将下列代码复制到 AndroidManifest.xml 文件的 <application></application>(注意将代码里的app_id完善)

    
      &lt;activity
          android:name="com.tencent.tauth.AuthActivity"
          android:launchMode="singleTask"
          android:noHistory="true"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.VIEW" /&gt;
    
              &lt;category android:name="android.intent.category.DEFAULT" /&gt;
              &lt;category android:name="android.intent.category.BROWSABLE" /&gt;
              &lt;!-- 这地方需要用你在开放平台申请的appid:tencent+appid --&gt;
              &lt;data android:scheme="tencent00000000" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
      
      &lt;activity
          android:name="com.tencent.connect.common.AssistActivity"
          android:configChanges="orientation|keyboardHidden"
          android:screenOrientation="behind"
          android:theme="@android:style/Theme.Translucent.NoTitleBar" /&gt;
    

    (2) 添加网络权限

    
    &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
    &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
    

     

    Step 3. 引入QQLoginManager.java文件

    下载GitHub项目的 QQLoginManager.java 文件,将其复制到自己的安卓项目中

     

    Step 4. 代码示例

    按照下列示例代码,模仿其添加到自己的Activity类中,之后你就可以在需要的地方(如点击某个按钮后)调用函数:qqLoginManager.launchQQLogin(),即可唤起QQ登录

    
    public class MainActivity extends AppCompatActivity implements QQLoginManager.QQLoginListener {
    
        private QQLoginManager qqLoginManager;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 实例化QQLoginManager, 传入你的app_id
            qqLoginManager = new QQLoginManager("app_id", this);
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
            // 回调
            qqLoginManager.onActivityResultData(requestCode, resultCode, data);
        }
    
        @Override
        public void onQQLoginSuccess(JSONObject jsonObject) {
            // 登录成功
        }
    
        @Override
        public void onQQLoginCancel() {
            // 登录取消
        }
    
        @Override
        public void onQQLoginError(UiError uiError) {
            // 登录出错
        }
    }
    

     

    补充说明(函数onQQLoginSuccess:JSONObject里QQ用户信息字段格式)

    
    {
      "nickname":昵称,
      "gender":性别,
      "province":所在省份,
      "city":所在城市,
      "year":出生年,
      "constellation":星座,
      "figureurl":头像URL,
      "figureurl_1":头像URL,
      "figureurl_2":头像URL,
      "figureurl_qq_1":头像URL,
      "figureurl_qq_2":头像URL,
      "vip":是否为qq会员,
      "level":qq会员等级,
      "is_yellow_vip":是否为黄钻,
      "yellow_vip_level":黄钻等级,
      "is_yellow_year_vip":是否为黄钻年会员
    }
    
    posted @ 2019-01-20 19:02 栖息地 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • 对于留言板这块一直是挺好奇怎么实现的,包括使用第三方登录,还有评论时的一些表情包的写入。虽然原来有想过这些表情包会不会是一些链接的引用,但事实证明,整个留言板都是引用第三方库的。。。!下面言归正传 ...

    (一)前言

           对于留言板这块一直是挺好奇怎么实现的,包括使用第三方登录,还有评论时的一些表情包的写入。虽然原来有想过这些表情包会不会是一些链接的引用,但事实证明,整个留言板都是引用第三方库的。。。!下面言归正传

    (二)功能版块分析

    2.1留言板功能的实现

    在这里插入图片描述
           感觉很炫有没有,看了一下源码,只有下面这一段,所以懂我意思了吧。src="https://changyan.sohu.com/upload/changyan.js"是一个外部链接,最后搜索到是引用了畅言的第三方库,在那个平台上可以自建留言板应用到自己搭建的项目中,目前来看还是免费的,项目中只需要引用下面这一小段代码就可以实现上述页面了。

    <!--PC版-->
      <div id="SOHUCS" sid="message"></div>
      <script charset="utf-8" type="text/javascript" src="https://changyan.sohu.com/upload/changyan.js" ></script>
      <script type="text/javascript">
         window.changyan.api.config({
              appid: 'cytcdBHan',
              conf: 'prod_acc9eafcae7c468c116f87dfb853e677'
          });
       </script>
     </div>
    

    畅言官网如下,不得不说可真省事呢,除了评论区,还有一个积分功能区,原来都是一套的呀,还以为是手写的。。
    在这里插入图片描述
    在这里插入图片描述

    (三)后续

           用户区功能模块理解比较好奇的几个地方就这些了,其它只是功能还是挺基础的,不过排版风格还是挺值得学习的,做个小总结后就可以开始分析管理员模块了。

    1. 留言板那么大的一个模块竟然是借用了第三方平台的!
    展开全文
  • 转载请注明出处:王亟亟的大牛之路说内容之前运行效果图,...上一篇文章写到了项目中引用到的一些第三方框架,这一篇我们来具体敲我们的业务和实现。-那一个App常规的有什么? 引导页面,注册,登录,主页面,具体内

    转载请注明出处:王亟亟的大牛之路

    说内容之前运行效果图,毕竟这样是最直观的(不知道为什么白色截图下来就成黄的了)

    这里写图片描述

    样例Apk地址:https://github.com/ddwhan0123/SoyiGit/blob/master/Soyi/Soyi.apk

    上一篇文章写到了项目中引用到的一些第三方框架,这一篇我们来具体敲我们的业务和实现。

    -那一个App常规的有什么?
    引导页面,注册,登录,主页面,具体内部业务,设置等等等。我们一步一步做。,这一篇主要说的是登陆注册以及主页面的架构部分的代码和内容。

    楼主只是一个Coder不是搞需求的也不是搞商务的,但是我觉得了解用户,了解市场,了解自己所从事的事是干什么的比埋头苦干,当机器人别人怎么说,听别人怎么做更重要,我们要有自己的思想(虽然听别人吩咐一些事项来做更简单)!


    登录/注册模块

    逻辑部分:

    1.帐号,密码等用户信息的录入

    1.增加校验用户输入

    2.增加短信\邮箱认证功能(待完成)

    2.找回密码操作

    根据用户帐号栏输入的内容通过短信\邮箱找回密码(待完成)

    实现部分:

    问题1,如何保存用户信息,何时保存?
    答:使用SharedPreferences,或者存SD卡,或者不存(不推荐);注册时存,修改密码/找回密码成功后存。

    问题2,SharedPreferences,或者存SD卡,或者不存又有什么区别,保存的时候需不需要保存为Json对象?

    答:a.SharedPreferences使用简单方便,不需要外部介质(万一SD卡坏了呢)。

    b.存SD卡可以存取更多的内容,诸如有可能服务端返回一大堆JSON/XML的内容,你再一个个转进SharedPreferences会比较麻烦。

    c.不存是不是每次开启(进程活着)都需要去访问服务端?-答:并不是,可以再第一次进程被开启的时候访问一次,然后在根Activity缓存一个用户信息的属性缓存,只要进程活着之后切来窃取,进进出出都不需要访问,因为你整个程序在运行的过程中可能多次引用这些属性,所以他们也不会被GC掉。(这种方式还是不怎么推荐,还是存吧)

    分析:往往很多软件需要认证更多的资料,如真实姓名,身份证等,但是其实一个APP在用户足够信任你之前,用户并不愿意输入这些个人资料,所以这一部分的信息录入,比较推荐从后续的某些功能中让用户来完善


    主页面:

    现有实现很多,我使用的是单侧抽屉式的DrawerLayout,理由?

    简单,方便,清晰,易用,不占屏。

    不占屏是个很重要的用户体验,我给大家贴个丑的,如果一个界面,上面是这样的
    这里写图片描述

    下面还有3个安卓物理键,还有一排Tab.那用户还看个球?不瞎了才怪,显得难看又臃肿。

    当然,像QQ那样的双侧抽屉等等实现还有很多,看个人喜好了。

    OK,这一部分粗略讲到这里,具体的内容可以看源码。

    网络请求部分用的是volley,暂时还没有考虑要不要做服务端的内容,所以模拟的是访问百度然后跳转(你懂的)

    源码地址:https://github.com/ddwhan0123/SoyiGit

    用到的库(新):

       testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.1.1'
        compile 'cn.pedant.sweetalert:library:1.3'
        compile 'cn.trinea.android.common:trinea-android-common:4.2.15'
        compile 'com.apkfuns.logutils:library:1.0.6'
        compile 'com.nineoldandroids:library:2.4.0'
        compile 'com.mcxiaoke.volley:library:1.0.19'
        compile 'com.ikimuhendis:ldrawer:0.1'

    public 项目,欢迎你的加入,记得点个赞哦!

    这里写图片描述

    展开全文
  • 项目小点整体

    2020-03-19 11:22:18
    现在很多第三方登录都是使用的,我在项目中使用的是GitHub第三方登录 第一步先要在GitHub上配置自己的服务器地址和回调的地址 用户点击登录,到ClientServer ClientServer通过redirect到GitHub认证服务器 服务器...

    怎么实现第三方登录

    现在很多第三方登录都是使用的,我在项目中使用的是GitHub第三方登录
    第一步先要在GitHub上配置自己的服务器地址和回调的地址

    1. 用户点击登录,到ClientServer
    2. ClientServer通过redirect到GitHub认证服务器
    3. 服务器检查请求,并返回登录表单页面
    4. 用户填写后,发送给认证服务器
    5. 认证服务器检查正确性,并返回authorization_code给ClientServer
    6. 然后ClientServer使用在GitHub配置的路径并带上authorization_code
    7. 认证服务器验证code是否正确,正确的话就给服务端发一个access_token
    8. 然后通过Http发送post请求到https://github.com/login/oauth/access_token并携带access_token
    9. 然后才到资源服务器(GitHub服务器)通过认证,返回用户信息
      10.服务端接受后,返回到前端

    雪花算法生成分布式ID

    采用Long类型64位ID

    • 第一位是标识,正数0(一般为0,id一般是正数),负数1
    • 41位时间戳(毫秒级)存的是距离开始时间的差值,41位的时间截,可以使用69年,年T = (1L << 41) / (1000L * 60 * 60 * 24 * 365) = 69
    • 10位的数据机器位,可部署在1024个节点
    • 12位序列,毫秒内的计数

    1+42+10+12=64位刚好是一个Long

    展开全文
  • 前言 实现登录注册的基本功能,...1.导入leancloud相应的第三方,这个等我再写一个博客告诉大家怎么用,leancloud的官方文档也都有写,官方网址:https://leancloud.cn/? 2.在你注册的leancloud里创建一个应用,那到ap...
  • eladmin-tools 为第三方工具模块,包含:图床、邮件、云存储、本地存储、支付宝 eladmin-generator 为系统的代码生成模块,代码生成的模板在 system 模块中 详细结构 - eladmin-common 公共模块 - annotation ...
  • - 第三方网站 - 动态文字说明 欢迎你为 nx-admin的开发作出贡献(代码编写/文档翻译)。 开发 # 克隆项目 git clone https://github.com/mgbq/nx-admin.git # 安装依赖 npm install   # 建议不要用cnpm安装 会有...
  • - 第三方网站 - 动态文字说明 欢迎你为 nx-admin的开发作出贡献(代码编写/文档翻译)。 开发 # 克隆项目 git clone https://github.com/mgbq/nx-admin.git # 安装依赖 npm install   # 建议不要用cnpm安装 会有...
  • 第三方站长 地址A: xxx (欢迎留言,我们完善补充) 下载 Docker docker pull apachecn0/ailearning docker run -tid -p <port>:80 apachecn0/ailearning # 访问 http://localhost:{port} 查看文档 PYPI pip...
  • 第三方站长 地址A: xxx (欢迎留言,我们完善补充) 下载 Docker docker pull apachecn0/ailearning docker run -tid -p <port>:80 apachecn0/ailearning # 访问 http://localhost:{port} 查看文档 PYPI pip...
  • Android中导入jar包依赖的地方如下,比如我这个登录注册就使用了两个第三方库okhttp和Gson,这些库都可以在Maven仓库:http://mvnrepository.com搜索到。别忘了修改后需要点一下右上角的Sync Now才能生效。 3、...
  • 登录页面(包括 GitHub 第三方登录) 404 页面 功能截图 首页 按钮图标等 轮播图 富文本 拖拽 画廊 动画 表格 表单 图表 页面 菜单拖拽 代码目录 +-- build/ ---打包的文件目录 +-- ...
  • 微信第三方登录 微博第三方登录 收费下载和收费阅读(放在最后开发) 签到功能 增加广告位和广告管理 积分功能 除了数据库配置项外,其余配置项尽可能在管理后台可配置 增强搜索功能,上elasticsearch 简化程序部署,...
  • Servlet第三篇【request和response简介、response的常见应用】 Servlet第四篇【request对象常用方法、应用】 Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】 Servlet第六篇【Session介绍、API、生命周期、...
  • 需要引入lts的jar包有lts-tasktracker-{version}.jar,lts-core-{version}.jar 及其它第三方依赖jar。 定义自己的任务执行类 public class MyJobRunner implements JobRunner { @Override public Result run...
  • common包中build.gradle中尽量容纳整个工程所需要的第三方框架/SDK的版本,方便所有模块使用和调试,建议小组主程/架构的同学管理 Fragment拆分组件之后的通信方案,参照下方mvvm-v3.1介绍 项目最低兼容4.0.3,因为...
  • 可选择退款至用户可用余额或者按照用户支付原路退还第三方或者银行卡; 如果选用原路退还,需要在商户号和秘钥设置的地方上传您的微信支付证书文件(PK12 格式文件) 如何设置满多少包邮? 后台系统设置 -- 系统...
  •  数据采集可采用Android系统原生的定位服务,也可以使用第三方的定位服务比如高德定位,百度定位等,根据多年来的开发经验,还是高德好用些,曾经做导航的时候,就发现百度导航会出现主路辅路不分的情况,前阵子还...
  • 而且处理提供移动端、桌面端的请求或者作为第三方开放接口来使用。大大提高后端处理请求的灵活性。 后端对比起前端的架构来说会简单很多,但是这只是其中一种模式,对于不同复杂程度的应用可能会做相应...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
关键字:

怎么实现github第三方登录