一、物料准备
- Raspberry Pi 3 Model B with Android Things -- 怎样刷入Android Things
- Android Studio 2.2+
二、创建Android Things项目
1. 新建Android Studio项目
Android Things项目和普通的Android App项目结构相同,直接在Android Studio中新建项目
- 项目类型:手机和平板
- Minimum SDK :API 24: Android 7.0(Nougat)
- 选择Empty Activity
-
可以取消创建布局文件和向后兼容选项
2. 在app级别的gradle文件中添加依赖
dependencies {
...
provided 'com.google.android.things:androidthings:0.1-devpreview'
}
3. 配置manifest文件
- 在manifest文件中添加things shared library
<application ...>
<uses-library android:name="com.google.android.things"/>
...
</application>
- 声明MainActivity
因为该程序运行在嵌入式设备上,需要在manifest中声明一个Activity作为程序的主入口,该Activity需要添加一个intent filter,包含一下属性:
- Action: ACTION_MAIN
- Category: CATEGORY_DEFAULT
- Category: IOT_LAUNCHER
<application
android:label="@string/app_name">
<uses-library android:name="com.google.android.things"/>
<activity android:name=".MainActivity">
<!-- Launch activity as default from Android Studio -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<!-- Launch activity automatically on boot -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
4. 打印可用的General Purpose Input/Output(GPIO)端口
系统服务PeripheralManagerService负责管理外设的连接,可以使用该服务列出所连接外设的所有可用GPIO端口。
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 创建PeripheralManagerService的实例
PeripheralManagerService service = new PeripheralManagerService();
// 打印可用的GPIO端口
Log.d(TAG, "Available GPIO: " + service.getGpioList());
}
}
三、连接设备并运行程序
启动树莓派并通过adb工具连接到树莓派,可以参考《AndroidThings之Start With Raspberry Pi 3》,连接成功后在Android Studio运行项目,选择安装到树莓派。
运行成功后可以看到logcat中看到打印打端口列表