事先声明——JR只是一个小白!
本帖子只是一个没有任何安卓开发经验的小白记录他在尝试进行无人机开发时候遇到的问题,和最终解决办法的记录!不能够当作教程仅供参考!
介绍-在本期博客中准备进行的事情
需要完成通过自制程序操控Mavic 3T完成红外自动路线生成和拍照的工作。
由于JR真的是小白,没有任何SDK开发和Android的经验,所以需要从构建一个Android项目开始,学习Kotlin代码开始,一步一步理解官方提供的示例项目,并最终实现自己尝试构建程序!
在这一期记录贴中,我的最终目标是能够顺利解读主页的启动调用顺序,即示例程序主要功能调用链,以及学会如何使用官方的示例程序来帮助我调试参数!
图中为我们在上一个文档中成功运行的官方MSDK V5的示例程序,如何配置运行环境、打开这个程序的过程我都记录在了上一期!请参考:
Dji-MSDKv5开发 记录贴【1】准备运行环境_SOP-JR!的博客-CSDN博客
Android开发基础准备
在进行开发和代码阅读前,需要先理解一个Android程序构建运行的方式。谷歌官方的Android学习文档和优秀的国内Android开发教程都可以作为参考,虽然开发工具的版本迭代非常快,但基础的架构和调用方式随时间变化不大。
而且在官方的V5中有别于上一代,这一代示例程序的开发主要是用kotlin语言完成的。所以我需要具备基础的阅读kotlin代码的能力;
在Java中可以像调用普通Java类一样调用Kotlin类和函数。Kotlin中的扩展函数等功能也可以在Java中使用,所以不影响我们自己的开发,只需要注意一些涉及到可空/非空的参数传递就可以了(两个语言的一点区别,在kotlin中的变量是默认不能为空的,但在Java中可以)
Android开发基础学习(Java语言)
JR(作者自称)是根据以前寻找到的经验贴找到的开发教程,另外JR自己做过一些前端所以了解xml设定和调用的一些逻辑,学起来不算费力。下面放一些好用的学习链接,包括谷歌官方提供的学习文档(有中文),以及b站的优秀教学视频:
Android 开发者基础知识 | 培训课程 | Android Developers (google.cn)
更新:谷歌官方已经停止维护Java开发App的教程,而开始推荐使用Kotlin进行Android开发。
【2021最新版】Android从零开始学习入门篇,涵大量案例实战 android studio_哔哩哔哩_bilibili
注:这是JR自己在学习过程中参考的视频,版本可能已经过时,b站很多安卓开发视频都值得参考。
以下是根据hello Android总结出来的一个基础的安卓项目的调用顺序:
AndroidManifest.xml是清单文件,可以看作是从这里配置了整个应用程序,需要获取的权限、使用的组件和所有交互界面都需要在这里进行注册。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.dji.exampleapp">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ExampleApp"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.ExampleApp">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>