当前位置: 首页 > web >正文

Android教程-从零开始一步一步接入SDK

对SDK有了基本的概念之后就可以学习如何来从零开始一步一步接入SDK,每个渠道或者服务商面对开发者都会提供相应的SDK,里面就包含相应的开发文档,开发Demo还有jar包或者项目所需的资源。

这里笔者提供一个范例来说明如何去接入SDK,大纲如下:

1.到渠道服务官网获取我们所需的SDK

2.解压缩SDK包,获得开发文档、Demo、jar包

3.查看开发文档,导入Demo到Eclipse中

4.新建项目,参考Demo集成SDK

5.运行测试目标项目

一、到渠道官网获取我们所需的SDK


笔者这里以91移动开放平台为例,我们渠道官网SDK下载地址:http://dev.91.com/DocumentCenter/SdkDownload,下载我们所需的SDK,这里笔者下载的是Android版本的SDK。

点击下载完毕之后,会看到这样一个压缩包:

二、解压缩SDK包,获得开发文档、Demo、jar包


91开放平台也算是一个受众比较多的一个渠道了,它的SDK提供的内容也是比较完备的:

我们可以看到,91SDK很清晰的为我们分好不同的文件夹,从开发文档、客户端接口范例到运营规范都提供了完备的资料。我们接入其他渠道的时候也许需要了解SDK为我们提供了什么东西,哪些是我们开发需要的。

这里,我们最主要看01、02、04这三个,这是我们接入SDK需要使用到的

接入流程文档:

范例和开发文档:

配置说明和开发包

三、查看开发文档、导入Demo到Eclipse中


我们开发者自然想快速的接入SDK,并且不想浪费太多时间,最快的办法就是先浏览一遍SDK提供的开发文档,然后测试它提供的范例,弄懂整个集成流程之后,我们就会明白如何来配置相关文件,但具体的API使用还是需要详细查看开发文档和范例的使用。

如果查看过91接入文档就会发现它写的非常详细,并不需要笔者多说,你自己试一遍也可以集成SDK。

查看文档:

导入Demo和开发包到Eclipse

到这里笔者要好好提一下,关于集成SDK的两种方式,91这种是通过引入库项目文件的形式来集成的,另一种方式是以jar包形式集成的,但可能还需要复制相应的assert资源到目标项目中去,主要还是要看渠道的SDK是否有提供。

四、新建项目,参考Demo集成SDK


我们可以从Demo中得到很多信息,一个是项目的配置,一个是API接口使用方法,我们只要通过查看Demo就可以弄清楚整个渠道的接入流程。那么怎么来看Demo,笔者总结了下面的经验:

查看AndroidManifest.xml文件,了解项目必须的配置,比如权限配置,Activity、Service或者meta-data的配置。

比如91就需要这些权限:

<uses-permission android:name="com.android.launcher.p外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

资料获取→专栏
ermission.INSTALL_SHORTCUT" />

需要配置的组件:

<activity

android:name=“com.nd.commplatform.activity.SNSControlCenterActivity”

android:configChanges=“orientation|keyboardHidden|navigation|screenSize”

android:launchMode=“singleTask”

android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”

android:windowBackground=“@null”

android:windowSoftInputMode=“adjustPan” >

<activity

android:name=“com.nd.commplatform.activity.SNSLoginActivity”

android:configChanges=“orientation|keyboardHidden|navigation|screenSize”

android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”

android:windowBackground=“@null”

android:windowSoftInputMode=“adjustPan” />

<receiver

android:name=“com.nd.commplatform.versionupdate.ND2VersionUpdateNotify”

android:exported=“false”

android:process=“android.intent.nd.sns.commplatform.versionupdate” />

<service

android:name=“com.nd.commplatform.versionupdate.ND2VersionUpdateService”

android:exported=“false”

android:process=“android.intent.nd.sns.commplatform.versionupdate” />

<service

android:name=“com.nd.commplatform.service.NdNewMessageNotification”

android:enabled=“true”

android:exported=“false” />

<activity

android:name=“com.nd.commplatform.activity.SNSAppPromotionActivity”

android:configChanges=“orientation|keyboardHidden|navigation”

android:launchMode=“singleTask”

android:theme=“@android:style/Theme.NoTitleBar”

android:windowBackground=“@null”

android:windowSoftInputMode=“adjustPan” />

<service

android:name=“com.nd.commplatform.service.NdDownloadService”

android:enabled=“true”

android:exported=“false”

android:process=“:com.nd.commplatform.download” />

<activity

android:name=“com.nd.commplatform.gc.activity.ForumActivity”

android:configChanges=“orientation|keyboardHidden|navigation|screenSize”

android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”

android:windowSoftInputMode=“adjustPan” />

android:process=“:com.nd.commplatform.download” />

<activity

android:name=“com.nd.commplatform.gc.activity.ForumActivity”

android:configChanges=“orientation|keyboardHidden|navigation|screenSize”

android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”

android:windowSoftInputMode=“adjustPan” />

http://www.xdnf.cn/news/11399.html

相关文章:

  • 维纳滤波——Wiener Filter(一些理解)
  • MNA由来
  • Batch(合批)全面讲解(二)
  • RYU入门教程
  • 电脑知识:显卡的四种接口类型介绍
  • PACS系统全景图:软件源码、核心组件、覆盖科室与关键技术解析
  • Point-wise、Pair-wise、List-wise区别
  • 【C++面向对象】C++图书管理系统 (源码)【独一无二】
  • 华为VRP系统简介
  • 基于STM32的NRF24L01 2.4G通讯模块的驱动实验(HAL库)
  • MeeGo的前世今生和诺基亚的何去何从
  • linux中的jobs命令,jobs命令_Linux jobs 命令用法详解:显示Linux中的任务列表及任务状态...
  • sparkling-water的介绍与实践(command line)
  • EPSON RX8010SJ RTC 调试笔记之七, 频率停止检测功能(Frequency Stop Detection Function)和频率输出功能 (FOUT Function)
  • CodeIgniter Composer Installer:简化你的开发流程
  • 数据库相关中间件收录集
  • TCP/IP网络层ip协议实现(lwip)
  • C# 常用的正则表达式
  • 深入了解:Java中BigDecimal比较大小的方法_bigdecimal compareto
  • 红客联盟是什么?红客需要传承!
  • 工作经验总结之C语言关键字的作用、特性和使用方式
  • OCCT基础
  • 高性能内存对象缓存
  • 从零开始学C--4初识操作符
  • 什么是L298N
  • unbuntu 命令汇总
  • FastMCP vs MCP:协议标准与实现框架的协同
  • virtualbox 下载安装
  • 关于 TRTC (实时音视频通话模式)在我司的实践
  • Java——位图