Android QQ SDK API
qq安卓协议
竭诚为您提供优质文档/双击可除qq安卓协议篇一:androidqqsdkapi【qq登录】android_sdk使用说明qq登录androidsdk以jar包形式提供,封装了qq登录的登录授权以及大部分openapi,应用只需要修改少量代码,不需要理解验证授权流程,即可快速实现qq登录功能。
android平台上的应用,请在申请appid,appkey后,使用qq互联提供的androidsdk。
注意:1.qq登录androidsdk支持的android版本:2.1及以上版本。
2.支持的第三方浏览器:android系统自带浏览器,Firefox,operamobile。
3.支持webview与浏览器两种方式,即支持跳转到手机浏览器上进行qq登录与验证流程,开发者可在sdk包中选择浏览器模式即可,但浏览器方式用户跳跃较大,不建议使用。
4.仅适用于移动应用,即基于【qq登录】使用implicit_grant方式获取access_token接入的应用。
1.androidsdk下载请到【qq登录】sdk下载页面下载qq登录androidsdk。
2.创建工程及引用sdk源码文件以下以eclipse为开发的ide进行范例说明:1.创建一个工程,并把tencent_openapi.jar放到lib 中,如下图所示:2.将tencent_openapi.jar加入编译路径中。
具体的操作步骤为:选中tencent_openapi.jar,右键菜单中选择buildpath,选择addtobuildpath,如下图所示:看到类似以下的样子,说明已经成功将jar包加入buildpath:3.修改必要的代码3.1使用sdk提供的按钮样式sdk提供了大中小3种登录按钮,开发者可以在代码中设置按钮样式。
示例代码如下(在sdk包中的位置:\tauthdemo\src\com\tencent\tauthdemo\tauthdemoactiv ity.java)imageViewloginbtn=(imageView)findViewbyid(R.id.logi n);//大按钮loginbtn.setimagedrawable(tencentopenRes.getbiglogi nbtn(getassets()));//中按钮//loginbtn.setimagedrawable(tencentopenRes.getlogin btn(getassets()));//小按钮//loginbtn.setimagedrawable(tencentopenRes.getsmall loginbtn(getassets()));3.2获取accesstoken(1)获取accesstoken需要访问网络,所以需要修改androidmanifest.xml,加入以下代码:(2)处理登录页面的打开方式在com.tencent.tauth.tauthView.class这个类中。
腾讯信鸽推送AndroidSDK快速指南
腾讯信鸽推送AndroidSDK快速指南信鸽Android SDK是⼀个能够提供Push服务的开发平台,提供给开发者简便、易⽤的API接⼝,⽅便快速接⼊。
⽬前⽀持Android 2.2及以上版本系统。
本⽂档将引导⽤户以最快的速度嵌⼊信鸽SDK。
注册&下载SDK前往前台信鸽⾸页,使⽤QQ号码登陆,打开注册页⾯,填写“应⽤名称”和“应⽤包名”(必须要跟APP⼀致),选择“操作系统”和“分类”,最后点击“创建应⽤”。
应⽤创建成功后,点击“应⽤配置”即可看到APP专属的AccessId和AccessKey等信息。
10min demo regi.png注册完成后,请下载最新版本的Android SDK到本地,并解压。
⼯程配置以eclipse为开发的IDE为例,将SDK导⼊到⼯程的步骤为:1、创建或打开Android⼯程(关于如何创建Android⼯程,请参照开发环境的章节)。
2、将信鸽 SDK⽬录下的libs⽬录所有⽂件拷贝到⼯程的libs(或lib)⽬录下。
3、选中libs(或lib)⽬录下的信鸽jar包,右键菜单中选择Build Path,选择Add to Build Path将SDK添加到⼯程的引⽤⽬录中。
4、打开Androidmanifest.xml,添加以下配置(建议参考下载包的Demo修改),其中YOUR_ACCESS_ID和YOUR_ACCESS_KEY替换为APP对应的accessId和accessKey,请确保按照要求配置,否则可能导致服务不能正常使⽤。
<application<!-- APP项⽬的其它配置... --><!-- 【必须】信鸽receiver⼴播接收 --><receiverandroid:name="com.tencent.android.tpush.XGPushReceiver"android:process=":xg_service_v2" ><intent-filter android:priority="0x7fffffff" ><!-- 【必须】信鸽SDK的内部⼴播 --><action android:name="com.tencent.android.tpush.action.SDK" /><action android:name="com.tencent.android.tpush.action.INTERNAL_PUSH_MESSAGE" /><!-- 【必须】系统⼴播:开屏和⽹络切换 --><action android:name="ER_PRESENT" /><action android:name=".conn.CONNECTIVITY_CHANGE" /><!-- 【可选】⼀些常⽤的系统⼴播,增强信鸽service的复活机会,请根据需要选择。
qq互联.Android_SDK_V2.0使用说明
Android_SDK_V2.0使用说明1.Android_SDK_V2.0简介Android SDK以Jar包形式提供,封装了QQ登录的登录授权以及大部分OpenAPI 和社交渠道的分享、邀请、请求礼物、挑战炫耀、语音、评价等API,移动应用只需要修改少量代码,即可快速实现QQ登录功能,并可调用平台提供的OpenAPI及社交渠道API 的功能。
Android平台上的应用,要使用QQ互联平台提供的Android SDK,请先在QQ互联平台进行注册,获取appid和appkey。
SDK主要提供的功能接口有:登录、注销、邀请好友、应用分享、获取用户信息、获取用户相册列表、发送分享、发表说说、发表微博、上传图片、创建相册、设置QQ头像、增量授权、分享消息给QQ好友(图文消息,纯图片和音乐)、发送语音等功能,Android_SDK_V2.0新增了发表语音,分享到QQ空间等新功能。
详细内容可参考《接口调用说明》。
更多详细信息请查看API列表。
2.下载Android SDK请到SDK下载页面下载Android SDK和示例代码。
3.创建工程及引用SDK源码文件以下以eclipse为开发的IDE进行范例说明:Eclipse ADT ADT 17 以上版本用户,请在工程目录下新建一个文件夹libs,将open-sdk.jar文件和mta_sdk_x.x.x.jar文件拷贝到这个文件夹下,然后在Eclipse里面刷新工程即可完成SDK文件的引入。
1.7以下版本的用户请参考下面的步骤引入SDK文件:(1)创建一个工程,并把open-sdk.jar文件和mta_sdk_x.x.x.jar文件拷贝到libs(或lib)目录下,如下图所示:(2)将open-sdk.jar加入编译路径中。
具体的操作步骤为:选中open-sdk.jar,右键菜单中选择Build Path,选择Add to Build Path,如下图所示:(3)将mta_sdk_x.x.x.jar加入编译路径中。
Android SDK 2.2模拟器windows XP电脑安装教程
前言:Android SDK自带一个移动模拟器。
它是一个可以运行在你电脑上的虚拟设备。
Android模拟器可以让你不需使用物理设备即可预览、开发和测试Android应用程序。
本教程是以Android SDK 2.2模拟器windows XP电脑上安装教程,可以用来安卓微信电脑客服端。
一、安装前先下载Android SDK 2.2模拟器windows版文件包1、下载Android SDK 2.2模拟器windows版/qq/xiazai/hot/9380.html解压后,android-sdk-windows文件夹放到你要放置的盘中(如D盘)2、下载Android 2.2 SDK API Level离线版/qq/xiazai/hot/9381.html解压后,将文件夹android-2.2_r01-windows复制到第一步中的android-sdk-windows\platforms目录内(如:D:\android-sdk-windows\platforms\)。
二:把所有的文件下载好了,我们就开始安装了:1.打开D:\android-sdk-windows\SDK Setup.exe 如下图:双击打开稍等片刻等自动弹出对话框,此时可能会弹出2个对话框,最上面的标题是Choose Packages to Install的直接关闭,没什么用。
2、打开之后点击左边的Virtual Devices 会看到如下图所示:有的人可能看不到最左边的几个按钮,那么请把鼠标放到对话框最右下角,等鼠标箭头变成双向黑色箭头的时候,左击鼠标不放,并向右拉大对话框,直到你能看见为止。
3. 新建虚拟机(如果你看不到和我下图的),点击New... 按钮;如图:3、填写一些信息,如Name、SD卡大小;Nme:模拟器名称自己填写方便记忆Target:是您要安装的android的版本系统,点击方框内选择android2.2。
Size:是内存的大小这里大家可以设置大点SIZE的大小大家可以自行调整,设置好之后点击右下角的Create AVD 此时正在创建android模拟器,请稍等片刻。
Android 各版本SDK的区别
Android 各个版本SDK的区别---转载Android 1.5 API变更概要:UI framework· Framework for easier background/UI thread interaction·新SlidingDrawer 组件·新HorizontalScrollview 组件AppWidget framework·一些关于创建桌面AppWidget 的API.·提供根据自定义的内容创建LiveFolders的APIMedia framework·原声录音和回放APIs·交互式的MIDI 回放引擎·开发者使用的视频录像API (3GP format).·视频相片分享Intents·媒体搜索IntentInput Method framework·输入法服务framework·文本预测引擎·提供具有下载能力的IME给使用者Application-defined hardware requirements应用可定义硬件需求,应用程序可以定义说明此程序需要什么硬件需求.比如是否需要物理键盘或者轨迹球.Speech recognition framework·支持语音识别库.Miscellaneous API additions· LocationManager -应用可以接收到位置改变的信息.· WebView - 触摸start/end/move/cancel DOM 事件的支持·重建Sensor Manager APIs· GLSurfaceView - 创建OpenGL 应用更加方便的framework .·软件升级安装成功的Broadcast Intent - 更加平和优秀的软件升级体验Android 1.6 API变更概要:UI framework·新的类android.view.animation 控制动画行为:o AnticipateInterpolatoro AnticipateOvershootInterpolatoro BounceInterpolatoro OvershootInterpolator·新的XML 属性android onClick ,从一个layout文件描述一个view的View.OnClickListener.·对不同分辨率的屏幕的新的支持. 对于Bitmap和Canvas会执行有针对性的缩放行为.该框架会根据屏幕分辨率和其他内容自动缩放bitmap等.要在你的应用中使用Android 1.6包含的API的话你必须要设置"4"属性在manifest的元素中Search framework·应用程序现在可以公开的有关内容,作为建议放入快速搜索框,新的设备范围内的搜索功能,是可从主屏幕搜索。
什么是API,如何区分API和SDK?
什什么是API,如何区分API和SDK?1.API的概念API即“应⽤用程序编程接⼝口”,是⼀一些预先定义的函数,⽬目的是作为“介⾯面”沟通两个不不同的东⻄西,提供应⽤用程序与开发⼈人员基于某软件或硬件得以访问⼀一组例例程的能⼒力力,⽽而⼜又⽆无需访问源码,或理理解内部⼯工作机制的细节。
其实就是别⼈人已经写好的可以实现特定功能的函数,⽽而你只需要根据他提供好的接⼝口,也就是调⽤用他的⽅方法,传⼊入他规定的参数,然后这个函数就会帮你实现这些功能。
也就是操作系统留留给应⽤用程序的⼀一个调⽤用接⼝口,应⽤用程序通过调⽤用操作系统的 API ⽽而使操作系统去执⾏行行应⽤用程序的命令(动作)。
从接⼝口interface来说,在计算机领域是指两个不不同事物之间交互的地⽅方,⼤大可以到两个完整的不不同系统,⼩小可以到两段程序。
所以这个I就这么理理解。
在这个基础上,⼈人和程序交互的地⽅方,叫做UI,user interface,所有⼈人输⼊入的包括⿏鼠标键盘触摸屏声⾳音输⼊入都算。
那么程序和程序交互的就叫做API,所有⾮非⼈人对⾮非⼈人交互都通过API进⾏行行交互,所谓交互,其实就是传递数据,触发功能。
2.应⽤用案例例(1)示例例场景:你是⼀一家⼩小企业,公司⽹网站上有⼀一个表格是⽤用来给客户注册预约的。
你想要凭借这些预约细节信息,让客户能够⾃自动在⾕谷歌⽇日程上创建活动。
(2)API使⽤用:这就意味着,你的⽹网站服务器器需要直接与⾕谷歌服务器器进⾏行行对话,在掌握既定细节信息的情况下,申请创建活动。
之后,你的服务器器就会接收到⾕谷歌的响应并进⾏行行处理理,然后将相关信息发送回浏览器器,⽐比如说向⽤用户发送⼀一个确认信息。
(3)现在也有公司将API包装成产品案例例:Weather Underground出售其天⽓气数据API的访问权限给其他⼈人。
3.API的分类API⼜又分为(Windows、Linux、Unix等系统的)系统级API,及⾮非操作系统级的⾃自定义API。
qq互联.Android_SDK_V2.0接口调用说明
Android_SDK_V2.0接口调用说明1.Tencent类接口调用说明接口主要有:●登录/校验登录态:login(Activity activity, String scope, IUiListener listener)●注销:logout(Context context)●设置QQ头像:setAvatar(Activity activity, Bundle params, IUiListener listener)●增量授权:reAuth(Activity activity, String scope, IUiListener listener)●分享消息到QQ:shareToQQ(Activity activity, Bundle params, IUiListener listener) ●分享消息到QQ空间:shareToQzone(Activity activity, Bundle params, IUiListenerlistener)调用以上SDK提供的接口后,会弹出相应的界面,以完成后续的操作。
接口的参数说明如下:参数参数说明activity调用者activity。
应用使用SDK时,会从应用自己的Activity跳转到SDK的Activity,应用调用SDK的Activity即为这里的调用者activity。
scope 应用需要获得哪些接口的权限,由“,”分隔(仅login接口需要)。
params 以K-V组合的字符串参数。
Params是一个Bundle类型的参数,里面以键值对(Key-value)的形式存储数据,应用传入的邀请分享等参数就是通过这种方式传递给SDK,然后由SDK发送到后台。
listener 回调接口,IUiListener实例。
1.1 登录/校验登录态通过调用Tencent类的login函数发起登录/校验登录态。
该接口具有两个作用,1. 如果开发者没有调用mTencent实例的setOpenId、setAccessToken接口,则该接口执行正常的登录操作;2. 如果开发者先调用mTencent 实例的setOpenId、setAccessToken接口,则该接口执行校验登录态的操作。
Android_SDK编译,带自己api的android.jar编译
Android SDK编译——如何将自己源代码加入android.jar 在Android源码编译成功的基础上重新编译带自己API的android.jar需要进行以下几步操作。
1 添加自己源代码,在Android源码frameworks/base目录下新建一个文件夹保存代码,如tv,以包的形式命名添加的文件所在的路径,如/tv/java/android/tv,添加的java文件开头定义的包即是编译成功的class文件所在的包。
2 修改makefile文件2.1 修改build/core/pathmap.mk文件在FRAMEWORKS_ BASE_ SUBDIRS变量后添加tv\,代码如下(makefile 文件中的语句以Tab键空格开头)FRAMEWORKS_BASE_SUBDIRS := \$(addsuffix /java, \core \graphics \location \media \opengl \sax \telephony \wifi \vpn \keystore \tv \)2.2修改frameworks/base/Android.mk 文件在packages_to_ document变量后添加自己源代码的包名称,如android/tv,结果如下(makefile文件中的语句以Tab键空格开头)packages_to_document := \android \javax/microedition/khronos android/tv3 在ubuntu命令行终端使用如下命令进行编译:make cleanmake update-apimake PRODUCT-sdk-sdk最后一行也可以用如下两个命令代替:make –j4make sdk4 编译结果4.1 android.jar文件所在的目录为/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar 并在/out/target/common/obj/JA V A_LIBRARIES/android_stubs_current_interme diates/src目录下重新以package形式组织所有生成到android.jar中的源代码。
如何在Android应用中集成第三方SDK
如何在Android应用中集成第三方SDK随着移动应用的快速发展,很多开发者都会面临一个共同的问题:如何在自己的Android应用中集成第三方SDK,以便获得更多的功能和服务?在本文中,我将向大家介绍一些常用的方法和技巧,帮助大家顺利完成集成。
1. 研究第三方SDK的文档在集成第三方SDK之前,第一步需要做的就是仔细研究该SDK的文档。
文档中通常包含了SDK的各种功能、使用说明以及接口文档等。
通过仔细阅读官方提供的文档,你可以了解到该SDK的基本使用方法和注意事项。
2. 导入SDK到Android工程导入SDK的方式有多种,最常用的方式是通过Gradle来导入。
首先,你需要找到SDK的Maven或者JCenter地址,然后将其添加到你的项目的build.gradle文件中的dependencies中。
在进行导入之前,确保你的项目的build.gradle中的repositories配置与SDK的Maven地址一致。
3. 配置SDK的权限和依赖项在导入SDK之后,你需要在你的应用的AndroidManifest.xml中配置相关的权限和依赖项。
根据SDK文档提供的信息,添加所需的权限,并在dependencies中添加所需的库依赖。
4. 初始化SDK并集成功能大多数SDK都需要在你的应用程序启动时进行初始化。
根据SDK提供的文档,你可以在Application类中的onCreate方法中进行相关的初始化操作。
在此期间,你可以配置SDK相关参数,比如设置API密钥、配置用户认证信息等。
一旦SDK初始化完成,你就可以开始集成它的功能了。
根据SDK的文档,查找出你需要使用的功能接口和方法,并按照文档说明进行调用。
例如,如果你想在应用中集成广告功能,可以查看SDK文档中的广告API接口,并按照说明进行调用和展示。
5. 处理SDK的回调和错误在集成SDK的过程中,你可能会遇到一些回调和错误处理的情况。
SDK通常会提供一些回调接口,用于处理SDK的各种事件。
AndroidSDK目录具体结构及Android源码的具体结构
AndroidSDK⽬录具体结构及Android源码的具体结构Android SDK⽬录具体结构1. add-ons:这⾥⾯保存着附加库,⽐如Google Maps,当然你如果安装了OphoneSDK,这⾥也会有⼀些类库在⾥⾯。
2. docs:这⾥⾯是Android SDK API参考⽂档,所有的API都可以在这⾥查到。
3. market_licensing:作为AndroidMarket版权保护组件,⼀般发布付费应⽤到电⼦市场可以⽤它来反盗版。
4. platforms:是每个平台的SDK真正的⽂件,⾥⾯会根据API Level划分的SDK版本,这⾥就以Android 2.2来说,进⼊后有⼀个android-8的⽂件夹,android-8进⼊后是Android 2.2 SDK的主要⽂件,其中ant为ant编译脚本,data保存着⼀些系统资源,images是模拟器映像⽂件,skins则是Android模拟器的⽪肤,templates是⼯程创建的默认模板,android.jar则是该版本的主要framework⽂件,tools⽬录⾥⾯包含了重要的编译⼯具,⽐如aapt、aidl、逆向调试⼯具dexdump和编译脚本dx。
5. platform-tools:保存着⼀些通⽤⼯具,⽐如adb、和aapt、aidl、dx等⽂件,这⾥和platforms⽬录中tools⽂件夹有些重复,主要是从android 2.3开始这些⼯具被划分为通⽤了。
6. samples:是Android SDK⾃带的默认⽰例⼯程,⾥⾯的apidemos强烈推荐初学者运⾏学习,对于SQLite数据库操作可以查看NotePad这个例⼦,对于游戏开发Snake、LunarLander都是不错的例⼦,对于Android主题开发Home则是android m5时代的主题设计原理。
7. tools:作为SDK根⽬录下的tools⽂件夹,这⾥包含了重要的⼯具,⽐如ddms⽤于启动Android调试⼯具,⽐如logcat、屏=幕截图和⽂件管理器,⽽draw9patch则是绘制android平台的可缩放png图⽚的⼯具,sqlite3可以在PC上操作SQLite数据库,⽽monkeyrunner则是⼀个不错的压⼒测试应⽤,模拟⽤户随机按键,mksdcard则是模拟器SD映像的创建⼯具,emulator是android模拟器主程序,不过从android1.5开始,需要输⼊合适的参数才能启动模拟器,traceview作为android平台上重要的调试⼯具。
android 微信 sdk api调用不成功解决方案
android 微信sdkapi调用不成功解决方案最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官方里的文档也只是写得很模糊,说是按三步走。
1、申请App_ID2、填写包名3、获取程序签名的md5值,这三步只要你走对了就能调通,可是大家都不知道有时候我们打包的keystore和我们打包的keystore获取到的程序签名的md5是不一样的。
我们在申请的时候填的程序签名值是正式打包的,但我们在eclipse部署上去的却是用的我们默认的debug.keystore.而这样导致的后果就是程序签名不一样,会一直调不通。
甚至我们都不知道我们错在哪。
先说一下怎么部署微信官网下的demo吧:【下面引用的内容为微信官网】微信对Android API调用是需要严格的三个验证,只有app_id包名和程序签名完全对了的情况下才可以调得通。
如何运行sdkdemo工程1、解压sdk demo工程压缩包,并导入到workspace,如下图:2、选择Eclipse顶部菜单Window->Preferences,在弹出的对话框中,选择Android 目录下的Build,如下图:指定Custom debugkeystore选项的路径为sdk demo工程目录中的debug.keystore 文件,如下图:并应用该配置。
3、运行该sdk_sample工程。
好了,按以上三步走,你就能走通微信的DEMO,现在再来看我们自己的DEMO1、custom Debugkeystore:换成我们自己的keystore2、装上我们的应用到手机端,再去微信官网下载一个获取程序签名md5值的apk输入包名:3、去微信后台申请我们调试的应用:接着再写上示例代码中的代码:复制代码代码如下:private Button btn_share;public static final String WX_APP_ID = "wxc85b9dbef61b3fe4"; private IWXAPI api;private String text="testssss";@Overridepublic void onCreate(BundlesavedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);btn_share = (Button)findViewById(R.id.btn_share);api = WXAPIFactory.createWXAPI(this, WX_APP_ID,false); btn_share.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {api.registerApp(WX_APP_ID);// 初始化一个WXTextObject对象WXTextObjecttextObj = newWXTextObject();textObj.text = text;// 用WXTextObject对象初始化一个WXMediaMessage对象WXMediaMessagemsg = newWXMediaMessage();msg.mediaObject = textObj;// 发送文本类型的消息时,title字段不起作用msg.title = "Will be ignored";msg.description = "sdddd";// 构造一个ReqSendMessageToWX.Reqreq = newSendMessageToWX.Req();req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求req.message = msg;//req.scene = SendMessageToWX.Req.WXSceneTimeline ;// 调用api接口发送数据到微信api.sendReq(req);finish();}});}private StringbuildTransaction(finalString type) {return (type == null) ? String.valueOf(System.currentTimeMillis()):type + System.currentTimeMillis();}至此,大功告成。
iOS SDK API使用说明
//将内容分享到qqQQApiSendResultCode sent = [QQApiInterface sendReq:req];纯图片分享://开发者分享图片数据NSData *imgData = [NSData dataWithContentsOfFile:path];//QQApiImageObject *imgObj = [QQApiImageObject objectWithData:imgDatapreviewImageData:imgDatatitle:@"title"description:@"description"]; SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:imgObj]; //将内容分享到qqQQApiSendResultCode sent = [QQApiInterface sendReq:req];新闻分享://分享跳转URLNSString *url = @"http://xxx.xxx.xxx/";//分享图预览图URL地址NSString *previewImageUrl = @"preImageUrl.png";QQApiNewsObject *newsObj = [QQApiNewsObjectobjectWithURL:[NSURL URLWithString:utf8String]title: @"title";description:@"description";previewImageURL:[NSURL URLWithString:previewImageUrl]]; SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:newsObj]; //将内容分享到qq//QQApiSendResultCode sent = [QQApiInterface sendReq:req];//将内容分享到qzoneQQApiSendResultCode sent = [QQApiInterface SendReqToQZone:req];音乐分享://分享跳转URLNSString *url = @"http://xxx.xxx.xxx/";//分享图预览图URL地址NSString *previewImageUrl = @"preImageUrl.png";//音乐播放的网络流媒体地址NSString *flashURL = @"xxx.mp3 ";QQApiAudioObject *audioObj =[QQApiAudioObject objectWithURL:[NSURL URLWithString:ur l]title:@"title" description:@"description" previewImageURL:[NSURL URLWithString:previewImag eUrl]];//设置播放流媒体地址[audioObj setFlashUrl:flashURL];SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:audioObj]//将内容分享到qq//QQApiSendResultCode sent = [QQApiInterface sendReq:req];//将被容分享到qzoneQQApiSendResultCode sent = [QQApiInterface SendReqToQZone:req];注意:分享到QQ空间接口暂时不支持发送多张图片的能力,若开发者传入多张图片,则会自动选入第一张图片作为预览图。
android sdk帮助文档说明
1、解压Android SDK文件,里面有两个应用程序:“SDK Manager.exe”(负责下载或更新SDK包)和"AVD Manager.exe"(负责创建管理虚拟机)。
我们先运行“SDK Manager.exe”进行SDK下载。
2、运行后出现下面的界面,我们选择自己想安装的Android 版本,我选择了最新版本,然后点击“Install X packages”安装。
3、在新出现的界面上,选择接受并遵守所有许可内容(Accept All),再点击“Install”。
Android SDK 管理器就开始下载并安装你所选的包了,我们等上一段时间就好了。
4、安装好后,在Android SDK 管理器界面上你所选的包后面会显示“Installed”,表示已经安装好了。
5、接着我们回到文件夹界面,运行AVD Manager.exe。
6、打开AVD Manager.exe后,点击“New"创建新的模拟器:7、创建一个新的Android Virtual Device (AVD):输入AVD 名称、选择Target、输入模拟的SD Card 的容量大小、以及选择外观皮肤Skin。
然后“Create AVD”。
8、开始运行你新建的模拟器Virtual Device:选中这个虚拟设备并点击“Start”,在出现的界面上直接点击“Launch”就可以启动Android 模拟器了。
9、最后运行成功,是Android4.1,哦嚎嚎~~~PS:最后我在试玩的时候,发现在模拟器上打字,要鼠标点上面输入法的字母时,很痛苦。
所以这时我想能不能直接用键盘打字,这就方便多了。
经过一番折腾,终于找到了解决方法,看下图:。
androidsdk安装及开发环境部署
androidsdk安装及开发环境部署引⾔在windows安装Android的开发环境不简单也说不上算复杂,本⽂写给第⼀次想在⾃⼰Windows上建⽴Android开发环境投⼊Android浪潮的朋友们,为了确保⼤家能顺利完成开发环境的搭建,⽂章写的尽量详细,希望对准备进⼊Android开发的朋友有帮助。
本教程将分为五个步骤来完成Android开发环境的部署。
第⼀步:安装JDK。
第⼆步:配置Windows上JDK的变量环境。
第三步:下载安装Eclipse 。
第四步:下载安装Android SDK 。
第五步:为Eclipse安装ADT插件。
第⼀步:安装JDK下载到本地电脑后双击进⾏安装。
JDK默认安装成功后,会在系统⽬录下出现两个⽂件夹,⼀个代表jdk,⼀个代表jre。
JDK的全称是Java SE Development Kit,也就是Java 开发⼯具箱。
SE表⽰标准版。
JDK是Java的核⼼,包含了Java的运⾏环境(Java Runtime Environment),⼀堆Java⼯具和给开发者开发应⽤程序时调⽤的Java类库。
我们可以打开jdk的安装⽬录下的Bin⽬录,⾥⾯有许多后缀名为exe的可执⾏程序,这些都是JDK包含的⼯具。
通过第⼆步讲到的配置JDK的变量环境,我们可以⽅便地调⽤这些⼯具及它们的命令。
JDK包含的基本⼯具主要有:javac:Java编译器,将源代码转成字节码。
jar:打包⼯具,将相关的类⽂件打包成⼀个⽂件。
javadoc:⽂档⽣成器,从源码注释中提取⽂档。
jdb:debugger,调试查错⼯具。
java:运⾏编译后的java程序。
第⼆步:配置Windows上JDK的变量环境很多刚学java开发的⼈按照⽹上的教程可以很轻松配置好Windows上JDK的变量环境,但是为什么要这么配置并没有多想。
我们平时打开⼀个应⽤程序,⼀般是通过桌⾯的应⽤程序图标双击或单击系统开始菜单中应⽤程序的菜单链接,⽆论是桌⾯的快捷图标还是菜单链接都包含了应⽤程序的安装位置信息,打开它们的时候系统会按照这些位置信息找到安装⽬录然后启动程序。
sdk 和 api 使用场景
sdk 和 api 使用场景SDK (Software Development Kit) 是一个软件开发工具包,提供给开发者使用,用于开发特定平台的应用程序。
SDK通常包含库、工具和文档,用于帮助开发者在特定平台上构建、测试和部署应用程序。
API (Application Programming Interface) 是一组定义了软件组件之间通信规则的接口。
API允许不同的软件组件之间交换信息和相互操作。
API可以是标准化的接口,也可以是自定义的接口。
SDK一般用于特定平台的应用开发,而API则是用于不同软件组件之间的交互。
以下是一些常见的SDK和API使用场景:1. 移动应用开发:对于移动应用程序开发,开发人员可以使用特定平台的SDK,如iOS SDK或Android SDK,来构建和测试应用。
这些SDK提供了必要的库和工具,以便开发人员能够访问特定平台的功能和服务。
2. 网络开发:在网络开发中,开发人员可以使用各种API来访问网络服务和提供的功能。
例如,开发人员可以使用Google Maps API来集成地图功能,或使用Twitter API来访问和发布推文。
3. 人工智能和机器学习:针对人工智能和机器学习领域,开发人员可以使用AI和ML SDK和API来使用和集成各种机器学习算法和模型。
这些SDK和API提供了各种功能,如语音识别、图像分析和自然语言处理。
4. 云计算:对于云计算领域,开发人员可以使用云提供商(如AWS、Azure和Google Cloud)的SDK和API来访问和管理云资源。
这些SDK和API使开发人员能够在应用程序中使用云服务,如存储、计算和数据库。
总而言之,SDK和API广泛应用于各个领域的应用开发中,提供了更多的功能和服务,使开发人员能够更高效地构建应用程序。
android使用友盟分享sdk分享到qq成功后遇到app被销毁后回到此分享界面无法正常点击界面问题
Android 使用友盟分享SDK,分享到QQ成功后,遇到app 被销毁后,回到此分享界面无法正常点击界面问题。
当使用友盟分享SDK,成功分享到QQ界面后,在某些情况下自己的app会被销毁,而此时返回自己的app,发现界面展示没有问题,但是屏幕点击却一点效果都没有。
经仔细测试发现底部物理键和app外的手机系统状态栏却可以正常点击,且点击一次返回键后当前app的界面也可以正常点击了。
有点神乎其神。
问了友盟技术支持,他们的回答一点鸟用都木有~~那回答是非常非常官方的。
不知道是QQ的问题还是友盟的问题,由于项目紧急的原因,那只能自己强行解决了。
问题分析:在分享界面的activity生命周期中用代码输出当前app的栈顶activity发现,在以上情况下回来到当前app,栈顶activity 并不是自己的activity而是名为:mon.AssistActivity目测是腾讯的activity。
而此activity在app未被销毁时正常关闭自己,但是在app被销毁后变量还原,导致某些状态丢失而无法正常关闭自己(从分享成功后app再销毁,AssistActivity还是无法正常关闭可知并不是通过广播来关闭此界面,而是设置了某些状态来关闭自己)。
解决方案:经过测试发现(1)、app未被销毁时返回来分享activity生命周期:onRestart-->onStart: topactivity:mon.AssistActivity-->onResume: topactivity:mon.AssistActivity (2)、app被销毁时返回来分享activity生命周期:onCreate-->onStart: topactivity:mon.AssistActivity-->onRestoreInstanceState-->onResume: top activity:mon.AssistActivity-->onPause: top activity:mon.AssistActivity(3)、温习一下一般activity界面切换生命周期:A-->BA.onPause-->B.onCreate-->B.onStart-->B.onResume-->A.onStop从以上1,2,3可以分析出app销毁后回到此app分享界面并非在栈顶,且我们可以在onPause检测并处理,我是通过发出一个启动自己的intent,并设置清除栈顶activity来强行清除未被正常关闭的AssistActivity的。
社会化登录分享-QQ SDK接入
社会化登录分享-QQ SDK接入1 官方文档QQ的官方接入文档:/wiki/%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8% E6%8E%A5%E5%85%A5wiki%E7%B4%A2%E5%BC%95详细看里面的这个部分:QQ 官方文档2 回调通知在这里先说回调通知,因为qq的登录和分享的回调通知使用的是一个机制。
即在onActivityResult中调用Tencent.onActivityResultData。
所以我们将onActivityResult也放入SocialApi中,activity的onActivityResult中直接调用SocialApi即可:mSocialApi.onActivityResult(requestCode, resultCode, data);然后在mSocialApi中再分别调用各个SSOHandler的onActivityResult,这样就可以在QQHandler中实现Tencent.onActivityResultData。
@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {Tencent.onActivityResultData(requestCode, resultCode, data, null); }2 登录授权2.1 Android 接入授权代码先初始化mTencent:this.mTencent = Tencent.createInstance(mConfig.appId, mContext);授权登录时调用:this.mTencent.login(this.mActivity, "all", new IUiListener() {@Overridepublic void onComplete(Object o) {if (null == o || ((JSONObject)o) == null) {LogUtils.e("onComplete response=null");mAuthListener.onError(mConfig.getName(), "onComplete response=null");return;}JSONObject response = (JSONObject) o;initOpenidAndToken(response);mAuthListener.onComplete(mConfig.getName(),Utils.jsonToMap(response));mTencent.logout(mActivity);}@Overridepublic void onError(UiError uiError) {String errmsg = "errcode=" + uiError.errorCode + " errmsg=" + uiError.errorMessage + " errdetail=" + uiError.errorDetail;LogUtils.e(errmsg);mAuthListener.onError(mConfig.getName(), errmsg);}@Overridepublic void onCancel() {mAuthListener.onCancel(mConfig.getName());}});3 分享QQ分享只能有网页分享、图片分享、音乐分享。
API与SDK的区别
API与SDK的区别
API=Application Programming Interface,功能为Communication,具有抽象性及标准性的特点;
SDK=Software Development Kit,软件开发⼯具包,开箱即⽤。
区别:
1.api和sdk都是给⽤户调⽤的,API全部与通信有关,API作⽤是抽象出所有复杂的逻辑,按需索取数据;API的标准化,通过请求发送数据,对云端的数据进⾏请求;
2.api有⼀些设计标准协议,要根据标准⾃⼰配置请求,⽐如rest接⼝,需要请求类型、参数去配置拼接url地址,经过⽹络协议,返回json⾃⼰处理,可能是机器不⼀样或者应⽤之间的交互,不能直接编程,怎么使⽤要按别⼈接⼝定义来,不是亲⽣的代码;
3.sdk是应⽤内部或者同⼀个语系内部,不需要⾛协议标准,可以直接编程,就像那个⽅法是你⾃⼰写的⼀样,返回值是多样的,不⼀定是json,可能是⼀段代码或者数据等。
例⼦:1.api要远程调⽤别⼈的函数,sdk不⽤,把函数打包放你本地;
2.api就是⽐如你⼿机链接电脑才能使⽤它的功能,sdk就是我直接把功能安装到你⼿机⾥你⽤就好了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【QQ登录】Android_SDK使用说明QQ登录Android SDK以Jar包形式提供,封装了QQ登录的登录授权以及大部分OpenAPI,应用只需要修改少量代码,不需要理解验证授权流程,即可快速实现QQ登录功能。
Android平台上的应用,请在申请appid,appkey后,使用QQ互联提供的Android SDK。
注意:1. QQ登录Android SDK支持的Android版本:2.1及以上版本。
2. 支持的第三方浏览器:Android系统自带浏览器,Firefox,Opera Mobile。
3. 支持web view与浏览器两种方式,即支持跳转到手机浏览器上进行QQ登录与验证流程,开发者可在SDK包中选择浏览器模式即可,但浏览器方式用户跳跃较大,不建议使用。
4. 仅适用于移动应用,即基于【QQ登录】使用Implicit_Grant方式获取Access_Token接入的应用。
1. Android SDK 下载请到【QQ登录】SDK下载页面下载QQ登录Android SDK。
2. 创建工程及引用SDK源码文件以下以eclipse为开发的IDE进行范例说明:1. 创建一个工程,并把tencent_openapi.jar 放到lib中,如下图所示:2. 将tencent_openapi.jar加入编译路径中。
具体的操作步骤为:选中tencent_openapi.jar ,右键菜单中选择Build Path,选择Add to Build Path,如下图所示:看到类似以下的样子,说明已经成功将jar包加入build path :3. 修改必要的代码3.1 使用SDK提供的按钮样式SDK提供了大中小3种登录按钮,开发者可以在代码中设置按钮样式。
示例代码如下(在SDK包中的位置:\TAuthDemo\src\com\tencent\tauthdemo\TAuthDemoActivity.java )ImageViewloginBtn = (ImageView) findViewById(R.id.login);//大按钮loginBtn.setImageDrawable(TencentOpenRes.getBigLoginBtn(getAssets()));//中按钮//loginBtn.setImageDrawable(TencentOpenRes.getLoginBtn(getAssets()));//小按钮//loginBtn.setImageDrawable(TencentOpenRes.getSmallLoginBtn(getAssets()));3.2 获取access token(1)获取Access token 需要访问网络,所以需要修改AndroidManifest.xml,加入以下代码:<uses-permission android:name="android.permission.INTERNET"></uses-permission><activity android:name="com.tencent.tauth.TAuthView" android:launchMode="singleTask"> <intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><!—这里的scheme必须与下面设置的CALLBACK一致,且全部小写。
默认值是auth -><data android:scheme="auth"/></intent-filter></activity>(2)处理登录页面的打开方式在com.tencent.tauth.TAuthView.class这个类中。
需要以intent.putExtra下面是打开登录授权页面的示例代码(在SDK包中的位置:\TAuthDemo\src\com\tencent\tauthdemo\TAuthDemoActivity.java )private void auth(String clientId, String target){// 使用WebView打开Intent intent = new Intent(TAuthDemoActivity.this,com.tencent.tauth.TAuthView.class);intent.putExtra(TAuthView.CLIENT_ID, clientId);intent.putExtra(TAuthView.SCOPE, scope);intent.putExtra(TAuthView.TARGET, target);intent.putExtra(TAuthView.CALLBACK, CALLBACK);startActivity(intent);}(3)成功授权后会以广播的形式把相应的access token,expires_in的值广播,需要写一个接收器来接收相关的数值。
示例代码如下(在SDK包中的位置:\TAuthDemo\src\com\tencent\tauthdemo\TAuthDemoActivity.java ) public class AuthReceiver extends BroadcastReceiver{private static final String TAG="AuthReceiver";@Overridepublic void onReceive(Context context, Intent intent){Bundle exts = intent.getExtras();String raw = exts.getString("raw");String access_token = exts.getString("access_token");String expires_in = exts.getString("expires_in");Log.i(TAG, String.format("raw: %s, access_token:%s, expires_in:%s", raw, access_token, expires_in));if (access_token != null){//获取到access tokenmAccessToken = access_token;((TextView)findViewById(R.id.access_token)).setText(access_token);TDebug.msg("正在获取OpenID...", getApplicationContext());//用access token 来获取open idmTencentOpenAPI.openid(access_token, new OpenIDListener());}}}特别提示:获取到的access token具有3个月有效期,网站需实现防过期策略,并在过期后提示用户再次授权。
第三方网站可存储access token信息,以便后续调用OpenAPI访问和修改用户信息时使用。
3.3 获取OpenID获取到access token后,就可以依据access token 来获取相应的openid://用access token 来获取openidTencentOpenAPI.openid(access_token, new Callback());所有的开发接口的调用都通过TencentOpenAPI类来代理实现。
这个的类里的接口的调用是一个非阻塞模式进行的,所以要注册一个回调函数,当完成后进行相应的处理。
示例代码如下(在SDK包中的位置:\TAuthDemo\src\com\tencent\tauthdemo\TAuthDemoActivity.java )TencentOpenAPI.openid(access_token, new Callback() {@Overridepublic void onSuccess(final Object obj){runOnUiThread(new Runnable(){@Overridepublic void run(){setOpenIdText(((OpenId)obj).getOpenId());}});}@Overridepublic void onFail(int ret, final String msg){runOnUiThread(new Runnable(){@Overridepublic void run(){TDebug.msg(msg, getApplicationContext());}});}});4. 调用OpenAPI成功获取到access token和openid后,就可以调用QQ登录的OpenAPI了。
建议网站在用户登录后,即调用getUserInfo接口获得该用户的头像、昵称并显示在网站上,使用户体验统一。
调用OpenAPI的过程与获取OpenID类似,要注册一个回调函数,当完成后进行相应的处理。
下面以调用get_user_info接口为例(在SDK包中的位置:\TAuthDemo\src\com\tencent\tauthdemo\clickListener\GetUserInfoClickListener.java )erInfo(mActivity.mAccessToken, mActivity.mAppid, mActivity.mOpenId, new Callback() {@Overridepublic void onSuccess(final Object obj){mActivity.runOnUiThread(new Runnable(){@Overridepublic void run(){mActivity.dismissDialog(TAuthDemoActivity.PROGRESS);mActivity.showMessage("用户信息", obj.toString());}});}@Overridepublic void onFail(int ret, final String msg){mActivity.runOnUiThread(new Runnable(){@Overridepublic void run(){mActivity.dismissDialog(TAuthDemoActivity.PROGRESS);TDebug.msg(msg, mActivity);}});}});附录:Android SDK主要类说明1. TAuthView.java:这个类是处理用户授权登录的,如果成功返回access token, 会以广播的形式广播出去。