1、環境準備
1.1系統環境:Windows10 64位
圖1.1 Windows系統信息圖
1.2軟件:Android Studio 3.2.1
圖1.2 AndroidStudio版本信息圖
1.3 Android SDK:
圖1.3 Android SDK版本信息圖
1.4螢石雲SDK:
圖1.4 螢石雲SDK版本信息圖
2 配置工程
本小結將介紹在AndroidStuido中配置開發工程,在進行這一步之前,將默認開發者已經下載好了螢石雲的SDK、安裝好了Android Stuido軟件以及該軟件的SDK也已經配置好。在調試的過程中本Demo是利用真機進行調試開發的,若想達到和該Demo一樣的效果,請儘量保持和本開發案例一樣的配置環境。若開發者想用Eclipse進開發可以看官方的視頻,或者下載我們錄製的配置視頻,其視頻內容爲官方視頻的截屏,想看原版請訪問官方網。
文檔的開發介紹中,已默認開發者已有一定的開發經驗,知道一些基本的操作,所有後面的截圖會因爲篇幅的原因給出關鍵的配置頁面,若後面部分看起來非常吃力,請先學習一些基本的Android開發知識再繼續查閱本文。
下面給出個部分下載和視頻連接,感興趣的可以直接通過連接下載本工程的源碼以及SDK,當然同樣建議大家去官網下載最新版,對於最新版在函數調用和配置上可能會有些區別,請認真查閱資料對照版本號進行開發。
視頻鏈接:https://download.csdn.net/download/shamozhihuong/11174449
SDK下載鏈接:https://download.csdn.net/download/shamozhihuong/11174475
Android Studio官網下載鏈接:https://developer.android.google.cn/
Demo下載鏈接:https://download.csdn.net/download/shamozhihuong/11174461
螢石雲官網鏈接:https://open.ys7.com/
注:本文作者可能在開發和撰寫上存在着錯誤或者考慮不周的地方請各位讀者海涵,若可以的話可以給作者(QQ:1965257078)留言。
2.1新建工程
圖2.1 選擇最小的SDK版本信息圖
圖2.2 選擇添加一個空的Activity信息圖
2.2 添加螢石雲SDK、OS文件
本步可以,將SDK中的文件直接複製粘貼到工程的libs文件夾中,如圖2.3中,a,b,c所示。
(a)
(b)
(c)
圖2.3 SDK、OS文件添加示意圖
2.3 配置AndroidManifest.xml
在AndroidManifest.xml中需要配置權限,以及添加server和Activity等,這一步強烈推薦看視頻,視頻中講得非常的詳細。
2.3.1添加權限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
2.3.2添加activity:
(此activity是調用SDK中的EzvizWebViewActivity進行螢石雲的登錄。)
<activity
android:name="com.videogo.main.EzvizWebViewActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait" />
2.3.3 添加廣播服務:
(此EzvizBroadcastReceiver是作者新建的,會在2.4節中介紹)
<receiver
android:name=".EzvizBroadcastReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.vedeogo.action.OAUTH_SUCCESS_ACTION" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
2.3.4 其他修改:
在AndroidManifest.xml文件中還將默認的標本欄設置成無:
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
添加了一個Application,這個Application在後面會講到。
android:name=".EzvizApplication"
2.4 配置build.gradle(Module.app)
2.4.1 defaultConfig中添加:
ndk { abiFilters "armeabi-v7a"//只支持v7a}
2.4.2 android中添加:
sourceSets { main { jniLibs.srcDirs = ['libs'] }
添加完後點擊同步(File—>Sync project with Gradle Files)這時工程就配置好了,可以進行下一步開發。
3、應用開發
3.1 頁面設計
界面設計中主要爲了實現功能爲目的,所有Demo的界面儘量的設計簡單,界面中包括了兩個按鍵、一個SurfaceView,SurfaceView是用顯示視頻的。
圖3.1 Demo界面
3.2 創建EzvizBroadcastReceiver
@Override
public void onReceive(Context context, Intent intent) {
if(TextUtils.equals(intent.getAction(),"com.vedeogo.action.OAUTH_SUCCESS_ACTION"))
{
accessToken = EZOpenSDK.getInstance().getEZAccessToken();
this.Login0K = true;
}
}
3.3 配置EzvizApplication
EzvizApplication文檔可以直接從螢石雲SDK的demo中拷貝過來,在這裏需要配置AppKey,這個APPKey是通過螢石雲官網申請的。
圖3.2 螢石雲Secret截圖
登錄螢石開放平臺—>我的應用,在中創建應用,由於該Demo是Android開放,所有要選擇移動應用,同時在應用包名中要填入包名,如圖:
圖3.3 Demo Package配置示意圖
3.4 編寫MainActivity
由於此次代碼衆多,不全部粘出來了,感興趣的讀者可以下載源碼細度,下面介紹主要的幾個地方。
配置設備的序列號,這個序列號可以同樣可以再螢石雲開發平臺上獲得。
圖3.4 螢石雲設備序列號與通信號截圖
在獲得了序列號後,將序列號修改到MainActivity中的相應位置,如下圖所示:
圖3.5 Demo的Mainactivity中代碼修改截圖
3.5 配置AndroidManifest.xml
圖3.6 Mainactivity添加Application截圖
若代碼在安裝到手機閃退,很有可能是上面這個application沒有添加。
4、效果顯示
將代碼安
裝手機後,在一開始運行將會彈出螢石雲的登錄界面,這個登錄界面只會在第一次調試的時候會彈出,這個主要是給用戶的手機
圖4.1 初次調試登錄界面圖
圖4.2 登錄異常界面圖
如果報以上錯誤異常,定然是螢石開放平臺中的應用包名和Android APP中的應用包名不一致。
圖4.3 視頻監控效果圖
點擊開始就能看到如上界面,到此整個基於螢石SDK、海康威視攝像頭在Android Studio中的實時監控Demo已經全部介紹完了,中間若有什麼撰寫錯誤或者介紹不對的地方請與作者聯繫(QQ:1965257078),作者將會一一改正。
5、Demo下載鏈接
5.1 視頻鏈接:https://download.csdn.net/download/shamozhihuong/11174449
5.2 SDK下載鏈接:https://download.csdn.net/download/shamozhihuong/11174475
5.3 Android Studio官網下載鏈接:https://developer.android.google.cn/
5.4 Demo下載鏈接:https://download.csdn.net/download/shamozhihuong/11174461
5.5 螢石雲官網鏈接:https://open.ys7.com/
5.6 開發聯繫QQ:1965257078
5.6 淘寶開發合作鏈接:https://shop157002201.taobao.com/