Bmob Androidstudio配置


AndroidStudio配置

鑒於目前Google官方推薦使用 Android Studio 進行Android項目開發,自 V3.4.2 開始,Bmob Android SDK 可以使用Gradle來進行包依賴管理,如果你使用Android Studio來進行基於BmobSDK的項目開發,有兩種方式:

自動導入(推薦)

請按照如下兩個步驟進行:

  1. Projectbuild.gradle 文件中添加 Bmob的maven倉庫地址,示例如下:(注意文字說明部分):

    buildscript {

     repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' }

    }

    allprojects {

     repositories { jcenter() //Bmob的maven倉庫地址--必填 maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" } }

    }

  1. appbuild.gradle文件中添加compile依賴文件,示例如下:(注意文字說明部分):

    apply plugin: 'com.android.application'

    android {

    compileSdkVersion 22 buildToolsVersion '22.0.1' **兼容Android6.0系統所需,如果這句話報錯,可在dependencies標簽下使用compile 'cn.bmob.android:http-legacy:1.0'** useLibrary 'org.apache.http.legacy' ...

    }

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //以下SDK開發者請根據需要自行選擇 //bmob-sdk:Bmob的android sdk包,包含了Bmob的數據存儲、文件等服務,以下是最新的bmob-sdk: //3.5.0:請務必查看下面注釋[1] compile 'cn.bmob.android:bmob-sdk:3.5.0' //bmob-push:Bmob的推送包 compile 'cn.bmob.android:bmob-push:0.8' //bmob-im:Bmob的即時通訊包,注意每個版本的im依賴特定版本的bmob-sdk,具體的依賴關系可查看下面注釋[2] compile 'cn.bmob.android:bmob-im:2.0.5@aar' compile 'cn.bmob.android:bmob-sdk:3.4.7-aar' //bmob-sms :Bmob單獨為短信服務提供的包 compile 'cn.bmob.android:bmob-sms:1.0.1' //如果你想應用能夠兼容Android6.0,請添加此依賴(org.apache.http.legacy.jar) compile 'cn.bmob.android:http-legacy:1.0' }

注:

[1]、為了降低開發者的使用成本,自v3.4.7開始,同步提供aar格式的文件,此aar包含libbmob.so、依賴jar包(okhttp、okio、rx、gson等)及自動更新組件所需要的資源文件。開發者再也不需要配置libbmob.so,不需要添加依賴jar,也不需要復制自動更新組件的資源文件啦,只需要添加以下依賴即可。

compile 'cn.bmob.android:bmob-sdk:3.5.0'

注:由於PermissionManager權限管理類需要依賴support-v4:23.2.1的jar包,導致開發者認為SDK依賴文件較多,故分離出SDK。開發者如果需要兼容Android6.0系統,可以在下載的SDK的官方Demo的com.example.bmobexample.permission包下面查看該類源碼。

[2]、每個版本的im依賴特定版本的bmob-sdk:

  • bmob-im:1.1.8--->bmob-sdk:3.3.5
  • bmob-im:1.1.9--->bmob-sdk:3.4.3
  • bmob-im:2.0.1--->bmob-sdk:3.4.6-0304
  • bmob-im:2.0.2--->bmob-sdk:3.4.6-0304
  • bmob-im:2.0.3--->bmob-sdk:3.4.6
  • bmob-im:2.0.4--->bmob-sdk:3.4.6
  • bmob-im:2.0.5--->bmob-sdk:3.4.7-aar

其中

  • bmob-sdk:3.4.6-0304是Bmob Android SDK的過渡版本,主要用於NewIM_v2.0.1及v2.0.2
  • bmob-sdk:3.4.6的相關依賴包可見注釋[3]

[3]、bmob-sdk:3.4.6依賴以下包:

compile 'cn.bmob.android:bmob-sdk:3.4.6' compile 'com.squareup.okhttp:okhttp:2.4.0'//CDN文件服務使用okhttp相關包進行文件的上傳和下載(必填) compile 'com.squareup.okio:okio:1.4.0'

如果需要兼容Android6.0系統,請添加以下兩項:

compile 'com.android.support:support-v4:23.2.1' compile 'cn.bmob.android:http-legacy:1.0'

[4]、bmob-sms適用於只需要使用Bmob短信功能的開發者,而bmob-sdk內部包含了bmob-sms的短信功能,請不要重復添加。

[5]、BmobSDK的官方倉庫:bmob-android-sdk,開發者可到此倉庫查看最新發布的各版本SDK,我們會盡量與官網發布的SDK保持同步更新。

手動導入

  1. 開發者到SDK下載中心下載 數據服務 的Android 版本的SDK,並將下載下來的libs文件夾里面的文件根據需要復制到工程的libs目錄下(注意,自v3.4.7開始提供libbmob.so文件);

  2. appbuid.gradle文件中添加SO庫目錄配置:

     android { sourceSets { main.jniLibs.srcDirs = ['libs'] } }
  3. 點擊Sync,同步配置。

Eclipse導入

開發者到 SDK下載中心 下載 數據服務 的Android 版本的SDK,在Eclipse工程的項目根目錄中新建libs文件夾,將下載的jar包添加到此文件夾即可。

注:

1、若配置不成功,則需要額外增加以下步驟:

右鍵工程根目錄,選擇Properties -> Java Build Path -> Libraries,然后點擊Add External JARs... 選擇指向該libs文件夾下的jar的路徑,點擊OK即可

2、BmobSDK_v3.5.0需要依賴rxjava(1.1.6)、rxandroid(1.2.0)、gson(2.6.2)、okhttp3(3.3.1)、okio(1.7.0)libbmob.so庫;

3、BmobSDK_v3.4.7需要依賴okhttp3(3.2.0)、okio(1.7.0)libbmob.so庫;

4、BmobSDK_v3.4.6需要依賴okhttp(2.4.0)、okio(1.4.0),如果需要兼容Android6.0系統,則還需要添加support-v4(23.2.1)及org.apache.http.legacy依賴包。

配置AndroidManifest.xml

在你的應用程序的AndroidManifest.xml文件中添加相應的權限:

 <!--允許聯網 --> <uses-permission android:name="android.permission.INTERNET" /> <!--獲取GSM(2g)、WCDMA(聯通3g)等網絡狀態的信息 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--獲取wifi網絡狀態的信息 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--保持CPU 運轉,屏幕和鍵盤燈有可能是關閉的,用於文件上傳和下載 --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!--獲取sd卡寫的權限,用於文件上傳和下載--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--允許讀取手機狀態 用於創建BmobInstallation--> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.bmob.example" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name="cn.bmob.example.MainActivity" android:screenOrientation="portrait" android:label="@string/app_name"> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> <activity android:name=".CreateActivity" android:screenOrientation="portrait"> <activity android:name=".DeleteActivity" android:screenOrientation="portrait"> <activity android:name=".UpdateActivity" android:screenOrientation="portrait"> <activity android:name=".FindActivity" android:screenOrientation="portrait"> </application> </manifest>

初始化BmobSDK

在你應用程序啟動的Activity的onCreate()方法中初始化Bmob功能。代碼如下所示:

package com.bmob.example; import cn.bmob.v3.Bmob; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //提供以下兩種方式進行初始化操作: //第一:默認初始化 Bmob.initialize(this, "Your Application ID"); //第二:自v3.4.7版本開始,設置BmobConfig,允許設置請求超時時間、文件分片上傳時每片的大小、文件的過期時間(單位為秒), //BmobConfig config =new BmobConfig.Builder(this) ////設置appkey //.setApplicationId("Your Application ID") ////請求超時時間(單位為秒):默認15s //.setConnectTimeout(30) ////文件分片上傳時每片的大小(單位字節),默認512*1024 //.setUploadBlockSize(1024*1024) ////文件的過期時間(單位為秒):默認1800s //.setFileExpiration(2500) //.build(); //Bmob.initialize(config);


注:

[1]、為了降低開發者的使用成本,自v3.4.7開始,同步提供aar格式的文件,此aar包含libbmob.so、依賴jar包(okhttp、okio、rx、gson等)及自動更新組件所需要的資源文件。開發者再也不需要配置libbmob.so,不需要添加依賴jar,也不需要復制自動更新組件的資源文件啦,只需要添加以下依賴即可。

compile 'cn.bmob.android:bmob-sdk:3.5.0'

注:由於PermissionManager權限管理類需要依賴support-v4:23.2.1的jar包,導致開發者認為SDK依賴文件較多,故分離出SDK。開發者如果需要兼容Android6.0系統,可以在下載的SDK的官方Demo的com.example.bmobexample.permission包下面查看該類源碼。

[2]、每個版本的im依賴特定版本的bmob-sdk:

  • bmob-im:1.1.8--->bmob-sdk:3.3.5
  • bmob-im:1.1.9--->bmob-sdk:3.4.3
  • bmob-im:2.0.1--->bmob-sdk:3.4.6-0304
  • bmob-im:2.0.2--->bmob-sdk:3.4.6-0304
  • bmob-im:2.0.3--->bmob-sdk:3.4.6
  • bmob-im:2.0.4--->bmob-sdk:3.4.6
  • bmob-im:2.0.5--->bmob-sdk:3.4.7-aar

其中

  • bmob-sdk:3.4.6-0304是Bmob Android SDK的過渡版本,主要用於NewIM_v2.0.1及v2.0.2
  • bmob-sdk:3.4.6的相關依賴包可見注釋[3]

[3]、bmob-sdk:3.4.6依賴以下包:

compile 'cn.bmob.android:bmob-sdk:3.4.6' compile 'com.squareup.okhttp:okhttp:2.4.0'//CDN文件服務使用okhttp相關包進行文件的上傳和下載(必填) compile 'com.squareup.okio:okio:1.4.0'

如果需要兼容Android6.0系統,請添加以下兩項:

compile 'com.android.support:support-v4:23.2.1' compile 'cn.bmob.android:http-legacy:1.0'

[4]、bmob-sms適用於只需要使用Bmob短信功能的開發者,而bmob-sdk內部包含了bmob-sms的短信功能,請不要重復添加。

[5]、BmobSDK的官方倉庫:bmob-android-sdk,開發者可到此倉庫查看最新發布的各版本SDK,我們會盡量與官網發布的SDK保持同步更新。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM