Android教程-從零開始一步一步接入SDK,androidsdk

來源:互聯網
上載者:User

Android教程-從零開始一步一步接入SDK,androidsdk

從零開始一步一步接入SDK


  本篇部落格想總結一下筆者在接入手遊渠道SDK的一些經驗方法,為想接入手遊渠道或者想學習如何接入SDK的童鞋們提供一個參考。本篇部落格基於Android平台,關於IOS接入SDK的方法,筆者以後有機會也會整理。

  首先來給大家說明一下SDK,何為SDK?它的全稱是,SoftWare Develop Kit,意思是軟體開發套件,它是可以輔助我們去開發某類軟體的相關文檔,範例和工具的集合。關於SDK,這裡推薦一個服務商店,名叫Devstore(http://www.devstore.cn/),它聚集了各種各類的服務提供者,並為每個渠道SDK提供了專業且詳細的評測,筆者很榮幸成為Devstore的特約評測員這個榮譽,在Devstore也可以看到筆者對一些渠道所做的評測報告。

  對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就需要這些許可權:

   <!-- 91社區 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.SEND_SMS" />    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />    <uses-permission android:name="android.permission.CALL_PHONE" />    <uses-permission android:name="android.permission.GET_TASKS" />    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />        <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />  <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />     <!-- 91社區 -->

需要配置的組件:

        <!-- 91社區 -->        <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>        <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" />        <!-- 91社區 -->        <activity            android:name="com.nd.complatform.stardemo.StartActivity"            android:configChanges="orientation|navigation|screenSize"            android:label="@string/app_name"            android:screenOrientation="landscape"            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        

配置完之後,我們就可以根據功能點,找到對應的API調用的方法,我們就可以知道如何傳參和回調API的方法。


五、運行測試專案

我們整合完SDK之後,就可以運行測試專案看看效果了,測試我們想要測試的功能,比如登入、支付、懸浮框等功能。




這裡只是給大家示範91渠道SDK的接入,這個是測試Demo所呈現的效果,具體的展示效果由開發自行開發實現。

關於SDK的接入,筆者就介紹到這裡,SDK的接入並不是什麼技術含量很高的事情,只要有相應編程基礎和相關平台的開發經驗就能很快熟悉SDK的接入。但這裡並不意味著能渠道好好玩耍了,接入渠道有很多坑,並不是所有渠道都像91有完善的開發文檔和封裝的比較好的API,有些渠道可能出現各種各樣莫名奇妙的問題,有時候我們開發就需要去填這些坑,這就很考驗開發人員的靈活應對了,必要的時候需要找到對應渠道的支援人員,並向他們反映相關問題。



以上是筆者作為渠道接入的開發人員的所總結的一些經驗,可能有不盡完善的地方,如果有什麼相關疑問可以給筆者留言,筆者可以在部落格中繼續補充相關內容。希望本篇部落格能幫到大家,謝謝。







C++遊戲怎接入iOS版SDK

C++開發的比如使用 cocos2dx 引擎的遊戲接入91SDK通常做法是:是C++和OC 一起混編 ,具體做法直接百度,很成熟的技術。
 
Android 視頻教程,誰給推薦下·····?

Mars的視屏教程,講的很詳細,我只學了兩個月的java看了他的視屏以後都能夠自己開發android的軟體了,很不錯的,望採納。
以上
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.