打造自己的HelloDrone 無人機APP過程《0》
目錄
文章目錄
摘要
本節主要記錄開發自己的HelloDrone無人機的過程,本節是第一節歡迎批評指正!
參考資料:
部落格參考
dronekit-android原始碼
Tower原始碼
usb-serial-for-android庫
1.專案設定
1.設定一個基本的Android Studio專案
1.建立一個空白的專案
2.建立專案名稱及儲存位置
3.最後點選完成
2.新增客戶端庫
1.開啟build.gradle(Module:app),在依賴關係部分,新增下方庫並同步:
implementation 'com.o3dr.android:dronekit-android:3.0.2'
最後同步下來的資料:
3.實現TowerListener的監聽事件
public class MainActivity extends AppCompatActivity implements TowerListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onTowerConnected() {
}
@Override
public void onTowerDisconnected() {
}
}
4.初始化ControlTower 並繫結activity的生命週期
package com.example.dzuav_hellodrone;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.o3dr.android.client.ControlTower;
import com.o3dr.android.client.interfaces.TowerListener;
public class MainActivity extends AppCompatActivity implements TowerListener {
//定義私有的Tower APP控制
private ControlTower controlTower;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//建立私有物件
this.controlTower = new ControlTower(getApplicationContext());
}
@Override
protected void onStart() {
super.onStart();
//實現連線
this.controlTower.connect(this);
}
@Override
protected void onStop() {
super.onStop();
this.controlTower.disconnect();
}
@Override
public void onTowerConnected() {
Log.i("LXW","onTowerConnected");
}
@Override
public void onTowerDisconnected() {
Log.i("LXW","onTowerDisconnected");
}
}
5.實現無人機監聽事件
public class MainActivity extends ActionBarActivity implements DroneListener, TowerListener {
@Override
public void onDroneEvent(String event, Bundle extras) {//連線成功的回撥
}
@Override
public void onDroneServiceInterrupted(String errorMsg) {//連線失敗的回撥
}
...
}
6.無人機例項化並在tower上註冊
到這裡基本就完成了一個簡單的呼叫3DR庫的無人機連線過程,但是由於呼叫的庫內容是不可以修改的,很不方便我們的學習,因此,我們可以參考官網提供的DEMO去學習,拿到原始碼進行實現自己的無人機APP。
官網提供的原始碼可以修改的地址:dronekit-android demo
下面是自己呼叫3DR的DEMO進行修改得到的原始碼圖片
最終實現的介面是:
相關文章
- app的啟動過程(三)APP
- 使用Minifly打造基於視覺感知的跟蹤無人機視覺無人機
- 打造自己的專屬軍團,《奇幻東征》今日啟程!
- Android App啟動過程AndroidAPP
- iOS App啟動過程iOSAPP
- 通過Consul Raft庫打造自己的分散式系統Raft分散式
- 讓別人的小程式執行在自己的app中APP
- APP爬蟲-某APP iOS版逆向過程APP爬蟲iOS
- 過程化技術:打造「開放世界」的秘密
- 亞馬遜無人機送貨:過程心酸操碎心,但結果令人欣慰亞馬遜無人機
- 深入理解 iOS App 的啟動過程iOSAPP
- 無人機任務管理:用數字孿生打造穩定高效的MMC無人機
- 無線通訊的發展過程
- 打造自己的 APP「冰與火百科」(三):Material Design 控制元件APPMaterial Design控制元件
- 如何打造自己的npm庫NPM
- 打造自己的JavaScript工具庫JavaScript
- 成長,就是不斷向自己妥協的過程
- 高通聯手AT&T,打造一臺能使用4G的無人機無人機
- UAVIA打造遠端操控軍用無人機,完成不可能完成的任務無人機
- 不要因為別人的過錯懲罰自己
- 隨機過程(高斯隨機過程、譜分析、白噪聲)隨機
- 無人飛機
- 俄羅斯研發可以通過思維操控的無人機無人機
- VOODOO:換自己的皮 讓別人無娃可套Odoo
- App 啟動過程(含 Activity 啟動過程) | 安卓 offer 收割基APP安卓
- 為機器人打造萬能底座:機器人安卓的產業機遇機器人安卓產業
- 【路徑規劃】基於蟻群的多無人機攻擊排程無人機
- 告別原生,打造自己的topBar
- Mac - 打造自己的工作流Mac
- 使用 Azure OpenAI 打造自己的 ChatGPTOpenAIChatGPT
- APP自動化測試過程概述APP
- 分享APP專用密碼app-specific password配置過程APP密碼
- ABB機器人安全皮膚DSQC623維修過程機器人
- 電商APP測試過程中遇到的問題APP
- RPA機器人專案實施過程中常見的十大陷阱機器人
- 0.去O過程實踐筆記-前言筆記
- Alphabet積極打造送貨無人機平臺,機體設計卻在“拖後腿”Alphabet無人機
- Android無障礙服務 x itchat 打造微信半自動機器人Android機器人