Android Things物联网开发--实战之部署app到开发板(八)

如何部署app到开发板


在此之前一定要先参照文章 Android Things物联网开发–硬件和软件环境(二)部署好硬件和软件开发环境。因为本人使用的是树莓派3b,所以这里以树莓派3b为例,在Windows下的开发过程。


1. 给树莓派插上网线,HDMI线并接通电源,启动Android Things。


  1. 打开Android Studio,配好环境后开始写一些简单的代码。
  2. 如下图运行代码:

这里写图片描述
这里写图片描述

如果显示没有可用设备的话,需要使用adb命令根据IP地址连接到树莓派:
首先找到Android sdk(安装Android Studio时指定的目录)所在目录,打开 platform-tools 文件夹之后打开命令行工具,如下图:

这里写图片描述

在命令行中输入一下命令:
adb connect 你的树莓派的IP地址
回车,出现: connected to 你的IP地址:5555,说明连接成功:
这里写图片描述

此时Android Studio中就存在该设备了,再按照部署Android app到手机一样的步骤即可将app部署到树莓派。

下图是我写的一个简单的demo部署到树莓派的效果:

这里写图片描述

这里给出简单的代码:

AndroidManifest.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.heqing.androidthings.firstandroidthings">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

        <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>

            <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>

</manifest>

MainActivity.java文件:

public class MainActivity extends AppCompatActivity {
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView) findViewById(R.id.gpio);

        PeripheralManagerService peripheralManagerService = new PeripheralManagerService();
        List<String> gpioList = peripheralManagerService.getGpioList();
        StringBuilder builder = new StringBuilder(100);
        if (gpioList.isEmpty()) {
            builder.append("没有可用的GPIO端口");
            Log.i("tag", "没有gpio端口");
        } else {
            builder.append("available GPIO port : \n\t");
            for (String s : gpioList) {
                builder.append(s).append(" ,");
                Log.i("tag", "GPIO端口名:" + s);
            }
            builder.deleteCharAt(builder.length() - 1);
        }
        textView.setText(builder.toString());
        builder.setLength(0);
    }
}

activity_main.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Hello,Android Things!"
            android:textColor="@android:color/holo_red_light"
            android:textSize="30dp"
            android:textStyle="bold" />

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="5dp"
            android:background="@android:color/holo_red_dark" />

        <TextView
            android:id="@+id/gpio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Hello,Android Things!"
            android:textColor="@android:color/holo_red_light"
            android:textSize="20dp"
            android:textStyle="bold" />

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@mipmap/hero" />
    </LinearLayout>

</FrameLayout>

build.gradle文件:

android {
    compileSdkVersion 24
    buildToolsVersion '25.0.0'
    ...
    ...
}

dependencies {
    ...
    ...
    provided 'com.google.android.things:androidthings:0.2-devpreview'
}

发布了64 篇原创文章 · 获赞 80 · 访问量 14万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览