QQ分享说明

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Android_SDK使用说明特别提示:AndroidSDK1.6与1.5和1.4版本兼容,与1.3及以前版本不兼容。类名、接口和回调方式都有变化,因此不能通过替换jar文件的方式升级。建议开发者按照本文档的方式,重新配置SDK并添加对应的业务逻辑代码。目录[隐藏]1.Andriod_SDK_V1.6简介2.下载AndroidSDK3.创建工程及引用SDK源码文件4.Andriod_SDK_V1.6使用说明4.1配置AndroidManifest4.2创建实例4.3实现回调4.4access_token、openid的获取和使用4.4.1获取access_token和openid4.4.2使用access_token和openid4.5调用OpenAPI4.6混淆说明5.返回码说明6.FAQ6.1授权相关6.2Andriod_SDK_V1.5相关问题6.2.1只有java开发的应用可以使用本SDK吗?非原生开发的应用可以使用吗?6.2.2调用发送分享和应用分享有什么区别?6.3如何获取Androidapp包名?1.Andriod_SDK_V1.6简介AndroidSDK以Jar包形式提供,封装了QQ登录的登录授权以及大部分OpenAPI,移动应用只需要修改少量代码,不需要理解验证授权流程,即可快速实现QQ登录功能,并可调用平台提供的OpenAPI。Android平台上的应用,要使用QQ互联提供的AndroidSDK,请先在QQ互联开放平台进行注册,获取appid和appkey。主要提供的功能接口有:登录、注销、邀请好友、应用分享、获取用户信息、获取用户相册列表、发送分享、发表说说、上传图片、创建相册、邀请好友、应用分享、设置QQ头像等功能,Andriod_SDK_V1.6新增了发送请求、赠送礼物、发送挑战、炫耀、增量授权、分享消息给QQ好友等功能,更多详细信息请查看API列表。2.下载AndroidSDK请到SDK下载页面下载AndroidSDK和示例代码。3.创建工程及引用SDK源码文件以下以eclipse为开发的IDE进行范例说明:(1)创建一个工程,并把open-sdk.jar放到libs(或lib)目录下,如下图所示:android_sdk_1_4_pic_1.png(2)将open-sdk.jar加入编译路径中。具体的操作步骤为:选中open-sdk.jar,右键菜单中选择BuildPath,选择AddtoBuildPath,如下图所示:android_sdk_1_4_pic_2.png在工程的ReferencedLibraries目录下看到导入的jar包,说明已经成功将jar包加入buildpath,如下图所示:android_sdk_1_4_pic_3.png4.Andriod_SDK_V1.6使用说明在使用Andriod_SDK_V1.6时,主要有以下五个步骤:Step1:给应用的AndroidManifest增加SDK需要的配置;Step2:创建SDK的主要实现类的实例;Step3:实现SDK接口回调;Step4:access_token、openid的获取和使用;Step5:调用OpenAPI。4.1配置AndroidManifest在应用的AndroidManifest.xml增加配置的application节点下增加以下配置(注:不配置将会导致无法调用API);uses-permissionandroid:name=android.permission.INTERNET/uses-permissionandroid:name=android.permission.ACCESS_NETWORK_STATE/applicationactivityandroid:name=com.tencent.tauth.AuthActivityandroid:noHistory=trueandroid:launchMode=singleTaskintent-filteractionandroid:name=android.intent.action.VIEW/categoryandroid:name=android.intent.category.DEFAULT/categoryandroid:name=android.intent.category.BROWSABLE/dataandroid:scheme=tencent你的AppId//intent-filter/activityapplication其中,如果你已经添加了android.permission.INTERNET和android.permission.ACCESS_NETWORK_STATE权限,则无需重复添加。而你的AppId则要替换成具体应用的AppId,例如你的AppId是222222,则data标签应该是这样的:dataandroid:scheme=tencent222222/4.2创建实例创建SDK主要实现类Tencent类的示例代码如下:@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//Tencent类是SDK的主要实现类,开发者可通过Tencent类访问腾讯开放的OpenAPI。//其中APP_ID是分配给第三方应用的appid,类型为String。mTencent=Tencent.createInstance(APP_ID,this.getApplicationContext());//1.4版本:此处需新增参数,传入应用程序的全局context,可通过activity的getApplicationContext方法获取//初始化视图initViews();}4.3实现回调所有的SDK接口调用,都会传入一个回调,用以接收SDK返回的调用结果。回调的主要接口有两种:(1)IUiListener:调用SDK已经封装好的接口时,例如:登录、快速支付登录、应用分享、应用邀请等接口。IUiListener的实现示例代码如下:privateclassBaseUiListenerimplementsIUiListener{@OverridepublicvoidonComplete(JSONObjectresponse){mBaseMessageText.setText(onComplete:);mMessageText.setText(response.toString());doComplete(response);}protectedvoiddoComplete(JSONObjectvalues){}@OverridepublicvoidonError(UiErrore){showResult(onError:,code:+e.errorCode+,msg:+e.errorMessage+,detail:+e.errorDetail);}@OverridepublicvoidonCancel(){showResult(onCancel,);}}(2)IRequestListener:使用requestAsync、request等通用方法调用sdk未封装的接口时,例如上传图片、查看相册等。IRequestListener的实现示例代码如下:privateclassBaseApiListenerimplementsIRequestListener{@OverridepublicvoidonComplete(finalJSONObjectresponse,Objectstate){showResult(IRequestListener.onComplete:,response.toString());doComplete(response,state);}protectedvoiddoComplete(JSONObjectresponse,Objectstate){}@OverridepublicvoidonIOException(finalIOExceptione,Objectstate){showResult(IRequestListener.onIOException:,e.getMessage());}@OverridepublicvoidonMalformedURLException(finalMalformedURLExceptione,Objectstate){showResult(IRequestListener.onMalformedURLException,e.toString());}@OverridepublicvoidonJSONException(finalJSONExceptione,Objectstate){showResult(IRequestListener.onJSONException:,e.getMessage());}@OverridepublicvoidonConnectTimeoutException(ConnectTimeoutExceptionarg0,Objectarg1){//TODOAuto-generatedmethodstub}@OverridepublicvoidonSocketTimeoutException(SocketTimeoutExceptionarg0,Objectarg1){//TODOAuto-generatedmethodstub}//1.4版本中IRequestListener新增两个异常@OverridepublicvoidonNetworkUnavailableException(NetworkUnavailableExceptione,Objectstate){//当前网络不可用时触发此异常}@OverridepublicvoidonHttpStatusException(HttpStatusExceptione,Objectstate){//http请求返回码非200时触发此异常}publicvoidonUnknowException(Exceptione,Objectstate){//出现未知错误时会触发此异常}}应用在调用SDK提供的接口时,将实现了对应回调接口的实例传入。当SDK的接口调用完成后,具体如登录、应用邀请和应用分享调用完成后,会回调传入的接口实例。特别注意:应用调用Andriod_SDK_V1.6接口时,如果要成功接收到回调,需要在调用接口的Activity的onActivityResult方法中增加如下代码:@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){mTencent.onActivityResult(requestCode,resultCode,data);}4.4access_token、openid的获取和使用4.4.1获取access_token和openid应用通过调用SDK的登录接口获取access_token和openid。登录接口的调用说明详见SDK包里的《Andriod_SDK_V1.6接口调用说明》中的1.1登录。调用SDK的登录接口,用户登录成功后,会通过回调的方式返回一个json格式的字符串,在这个json字符串中会包含三个参数,分别是openid、access_token、expires_in。返回参数说明如下表所示:返回参数参数说明openid用于唯一标识用户身份(每一个openid与QQ号码对应)。access_token用户进行应用邀请、分享、支付等基本业务请求的凭据。expires_inaccess_token的有

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功