0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用机智云的Android开源app修改教程

9GxC_IoTMaker 来源:山上有个小和尚 作者:山上有个小和尚 2021-07-05 10:39 次阅读

前言

为了使自己的app更加的有个人风格,故在网上寻找了很多的参考资料,这里是对自己设计的总结,具体机智云APP生成流程请参考我上一篇博客:基于stm32的连接机智云教程

1、下载机智云开源APP

进行以下操作之前请确保已经在机智云中创建了一个产品,下面点击添加应用,选择Android生成一个app应用

然后按照提示,将密匙填入到相应位置,具体参考我上一篇博客,点击下载,将app工程下载到本地

2、Andriod方面处理

2.1 、AS软件安装与源码修改

Android studio软件安装与源码修改

将下载好了的文件解压出来,然后将第二个文件夹复制出来,粘贴到存放Android studio文件例程文件夹中,若还没有安装Android studio的请参考这位大佬的详细例程,这边建议下载的Android studio版本不要太新,不然工程可能编译不成功。

然后自己新建一个Android工程作为参考,方便修改源码,

第一处参考新建例程修改机智云APP

将此处修改为对应的新建工程的内容

第二处按照此路径参考新建工程修改,这里是我自己的按照自己的新建工程修改完毕的代码

需注意这里的compile 均替换为implementation,testcompile均替换为testimplementation。

然后可以从Android studio里面打开修改好的机智云开源app,等待一段时间打开后,

2.2、修改APP图标和名称

首先在网上下载相关素材备用,若大小不一,请自行修改图片或者图标的大小。这时将我们下载好的图标或者图片放置到桌面,然后分别复制一下,依次粘贴到drawable-xhdpi目录下(注意鼠标放在drawable-xhdpi上右击选Paste便出现如下界面)

点击确定,将此名称复制到按照如下图这个文件,红框内既是我们可以替换的app图标,将你的图标名称填上就ok,

2.3、修改启动页面和内部UI

现在修改启动界面,这里的图片在前面我们已经复制到了相关目录下,现在可以按照下图将红框出修改成为你的图片名称,见下图

然后在172行和174行两处替换为你的设备离线图标

同样是这个目录下,在117行和119行相应位置替换为自己的设备在线图标

2.4、修改设备监控界面

这是我已经修改好的界面UI,最后效果图如下(这里的图标可自行修改为自己的图标,若是仅仅复制代码会报错)

代码如下所示,可根据需要自行修改(仅供参考,最好要读懂代码)

《?xml version=“1.0” encoding=“utf-8”?》《LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”android:layout_width=“match_parent”android:layout_height=“match_parent”android:orientation=“vertical”》

《include layout=“@layout/header_toolbar” /》

《ScrollViewandroid:layout_width=“match_parent”android:layout_height=“match_parent”android:background=“@color/background_color”android:fadingEdge=“vertical”android:paddingBottom=“10dp”android:paddingTop=“20dp”android:scrollbars=“vertical” 》

《LinearLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:orientation=“vertical”android:scrollbars=“vertical” 》《LinearLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:orientation=“horizontal”android:scrollbars=“horizontal” 》

《!-- 灯(布尔可写) --》《RelativeLayoutandroid:layout_width=“0dp”android:layout_height=“match_parent”android:layout_marginBottom=“1dp”android:layout_weight=“3”android:alpha=“1”android:background=“@color/white”android:gravity=“center_horizontal”android:padding=“10dp”》

《ImageViewandroid:id=“@+id/LED”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_alignParentTop=“true”android:layout_centerHorizontal=“true”android:src=“@drawable/led” /》

《TextViewandroid:id=“@+id/Led_text”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_below=“@+id/LED”android:layout_centerHorizontal=“true”android:layout_centerVertical=“true”android:text=“灯” /》

《Switchandroid:id=“@+id/sw_bool_LED”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_below=“@id/Led_text”android:layout_alignParentBottom=“true”android:layout_centerHorizontal=“true”android:textOff=“关闭”android:textOn=“开启” /》《/RelativeLayout》

《!-- 蜂鸣器(布尔可写) --》《RelativeLayoutandroid:layout_width=“0dp”android:layout_weight=“3”android:layout_height=“wrap_content”android:layout_marginBottom=“1dp”android:background=“@color/white”android:padding=“10dp” 》

《ImageViewandroid:id=“@+id/BEEP”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_alignParentTop=“true”android:layout_centerHorizontal=“true”android:src=“@drawable/beep” /》

《TextViewandroid:id=“@+id/BEEP_text”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:layout_centerVertical=“true”android:layout_centerHorizontal=“true”android:layout_below=“@+id/BEEP”android:text=“蜂鸣器” /》

《Switchandroid:id=“@+id/sw_bool_BEEP”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:layout_below=“@+id/BEEP_text”android:layout_centerHorizontal=“true”android:layout_centerVertical=“true”android:textOff=“关闭”android:textOn=“开启” /》《/RelativeLayout》

《!-- 开关(布尔可写) --》《RelativeLayoutandroid:layout_width=“0dp”android:layout_weight=“3”android:layout_height=“wrap_content”android:layout_marginBottom=“1dp”android:background=“@color/white”android:padding=“10dp” 》

《ImageViewandroid:id=“@+id/LED1”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_alignParentTop=“true”android:layout_centerHorizontal=“true”android:src=“@drawable/kaiguan” /》《TextViewandroid:id=“@+id/LED1_text”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:layout_below=“@+id/LED1”android:layout_centerHorizontal=“true”android:layout_centerVertical=“true”android:text=“开关” /》《Switchandroid:id=“@+id/sw_bool_LED1”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:layout_below=“@+id/LED1_text”android:layout_centerHorizontal=“true”android:layout_centerVertical=“true”android:textOff=“关闭”android:textOn=“开启” /》《/RelativeLayout》《/LinearLayout》

《LinearLayoutandroid:layout_width=“match_parent”android:layout_height=“101dp”android:orientation=“horizontal”android:scrollbars=“horizontal”》《!-- 温度(数值只读) --》《RelativeLayoutandroid:layout_width=“0dp”android:layout_weight=“3”android:layout_height=“wrap_content”android:background=“@color/white”android:padding=“10dp” 》

《ImageViewandroid:id=“@+id/Temp”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_alignParentTop=“true”android:layout_centerHorizontal=“true”android:src=“@drawable/wd” /》《TextViewandroid:id=“@+id/tv_data_Temp”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_below=“@+id/Temp”android:layout_centerHorizontal=“true”android:layout_centerVertical=“true” /》《TextViewandroid:layout_marginLeft=“5dp”android:id=“@+id/Temp_text”android:layout_below=“@+id/Temp”android:layout_toRightOf=“@id/tv_data_Temp”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“℃” /》《TextViewandroid:id=“@+id/Temp_text1”android:layout_toLeftOf=“@id/Temp”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“温度” /》

《/RelativeLayout》

《!-- 湿度(数值只读) --》《RelativeLayoutandroid:layout_width=“0dp”android:layout_height=“wrap_content”android:layout_marginBottom=“1dp”android:layout_weight=“3”android:background=“@color/white”android:padding=“10dp”》《ImageViewandroid:id=“@+id/Shidu”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_alignParentTop=“true”android:layout_centerHorizontal=“true”android:src=“@drawable/sd” /》《TextViewandroid:layout_marginLeft=“5dp”android:id=“@+id/Shidu_text”android:layout_below=“@+id/Shidu”android:layout_toRightOf=“@id/tv_data_Shidu”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“%” /》《TextViewandroid:id=“@+id/tv_data_Shidu”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_below=“@+id/Shidu”android:layout_centerHorizontal=“true”android:layout_centerVertical=“true” /》《TextViewandroid:id=“@+id/Shidu_text1”android:layout_toLeftOf=“@id/Shidu”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“湿度” /》《/RelativeLayout》

《!-- 光照强度(数值只读) --》《RelativeLayoutandroid:layout_width=“0dp”android:layout_height=“wrap_content”android:layout_marginBottom=“1dp”android:layout_weight=“3”android:background=“@color/white”android:padding=“10dp”》

《ImageViewandroid:id=“@+id/GQ”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_alignParentTop=“true”android:layout_centerHorizontal=“true”android:src=“@drawable/sun” /》

《TextViewandroid:id=“@+id/GQ_text”android:layout_marginLeft=“5dp”android:layout_below=“@+id/GQ”android:layout_toRightOf=“@id/tv_data_GQ”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“lx” /》《TextViewandroid:id=“@+id/tv_data_GQ”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:layout_below=“@+id/GQ”android:layout_centerHorizontal=“true”android:layout_centerVertical=“true” /》《TextView

android:id=“@+id/GQ_text1”android:layout_toLeftOf=“@id/GQ”android:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“光强” /》《/RelativeLayout》《/LinearLayout》《!-- 温度阈值范围(数值可写) --》《RelativeLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:layout_marginBottom=“1dp”android:background=“@color/white”android:padding=“10dp” 》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“温度阈值范围(℃)” /》

《TextViewandroid:id=“@+id/tv_data_Temp_AlarmScope”android:layout_width=“110dp”android:layout_height=“wrap_content”android:layout_alignParentRight=“true”android:textSize=“16sp”android:gravity=“end” /》

《LinearLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:layout_below=“@+id/tv_data_Temp_AlarmScope”android:layout_marginTop=“10dp”android:gravity=“center_vertical”android:orientation=“horizontal” 》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”android:textSize=“16sp”android:text=“0” /》

《SeekBar

android:id=“@+id/sb_data_Temp_AlarmScope”android:thumb=“@drawable/bar1”android:thumbOffset=“0dp”android:layout_width=“0dp”android:layout_height=“wrap_content”android:layout_weight=“3”android:max=“50” /》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”android:textSize=“16sp”android:text=“50” /》《/LinearLayout》

《/RelativeLayout》

《!-- 湿度阈值范围(数值可写) --》《RelativeLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:layout_marginBottom=“1dp”android:background=“@color/white”android:padding=“10dp” 》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“湿度阈值范围(%)” /》

《TextViewandroid:id=“@+id/tv_data_Shidu_AlarmScope”android:layout_width=“110dp”android:layout_height=“wrap_content”android:layout_alignParentRight=“true”android:textSize=“16sp”android:gravity=“end” /》

《LinearLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:layout_below=“@+id/tv_data_Shidu_AlarmScope”android:layout_marginTop=“10dp”android:gravity=“center_vertical”android:orientation=“horizontal” 》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”android:textSize=“16sp”android:text=“20” /》

《SeekBarandroid:id=“@+id/sb_data_Shidu_AlarmScope”android:thumb=“@drawable/bar”android:thumbOffset=“0dp”android:layout_width=“0dp”android:layout_height=“wrap_content”android:layout_weight=“3”android:max=“75”

android:progress=“0”/》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”android:textSize=“16sp”android:text=“95” /》《/LinearLayout》

《/RelativeLayout》

《!-- 光强阈值范围(数值可写) --》《RelativeLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:layout_marginBottom=“1dp”android:background=“@color/white”android:padding=“10dp” 》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“光强阈值范围(lx)” /》

《TextViewandroid:id=“@+id/tv_data_GQ_AlarmScope”android:layout_width=“110dp”android:layout_height=“wrap_content”android:layout_alignParentRight=“true”android:textSize=“16sp”android:gravity=“end” /》

《LinearLayoutandroid:layout_width=“match_parent”android:layout_height=“wrap_content”android:layout_below=“@+id/tv_data_GQ_AlarmScope”android:layout_marginTop=“10dp”android:gravity=“center_vertical”android:orientation=“horizontal” 》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”android:textSize=“16sp”android:text=“0” /》

《SeekBar

android:id=“@+id/sb_data_GQ_AlarmScope”android:thumb=“@drawable/bar2”android:thumbOffset=“0dp”android:layout_width=“0dp”android:layout_height=“wrap_content”android:layout_weight=“3”android:max=“65535” /》

《TextViewandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”android:textSize=“16sp”android:text=“65535” /》《/LinearLayout》

《/RelativeLayout》

《/LinearLayout》

《/ScrollView》《/LinearLayout》

2.5、安装软件

因为我们的程序编译无错误,故开始安装app,用数据线将电脑手机连接,进入手机的开发者模式,打开开发者模式,允许进行USB调试

然后在android studio端点击运行,app便安装成功了

感谢大家观看,有问题记得留言哟。

原文转载于:https://blog.csdn.net/Zgc6666/article/details/104187111

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    2985

    浏览量

    41718
  • andriod
    +关注

    关注

    1

    文章

    18

    浏览量

    13735

原文标题:基于机智云的Android开源app修改教程

文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Android APP如何进行访问硬件驱动

    本文我们要讲的是在用 i.MX8 平台开发时,Android APP 如何进行访问硬件驱动。
    的头像 发表于 12-04 13:50 471次阅读
    <b class='flag-5'>Android</b> <b class='flag-5'>APP</b>如何进行访问硬件驱动

    Android App环境检测分析

    这个原理就是APPAndroidManifest.xml文件中application是否配置了android:debuggable="true",设置true支持动态调试
    的头像 发表于 12-01 10:26 451次阅读

    ESP8266-01烧写机智GAgent使用哪种SPI模式?

    ESP8266-01烧写机智GAgent使用哪种SPI模式 官网有DIO和QIO两种
    发表于 11-10 08:06

    ESP8266-01烧录机智GAgent时SPI Mode选择哪种?

    ESP8266-01烧录机智GAgent时SPI Mode选择哪种?是选择合并的固件还是单独烧写
    发表于 11-10 07:54

    用ESP8266接入机智可以不刷他们的固件吗?

    使用ESP-01自带固件可以接入机智吗,好像必须要刷机智的固件才行啊。
    发表于 11-09 07:22

    ESP8266-01如何单模块连接机智或ONENET等平台?

    ESP8266-01单模块可以直接连接机智吧,不通过MCU。 另外,如何利用APP控制ESP8266做一个智能插座。这个APP有可供直接使
    发表于 10-19 07:07

    VisionFive 2成功集成Android开源项目(AOSP)!

    的开创性合作(https://github.com/android-risc-v, Peter Yoon)。 赛昉团队利用AOSP的开源性质定制了软件,与VisionFive 2的硬件功能保持一致
    发表于 10-16 13:11

    【IoT毕设】机智平台+STM32+树莓派的草莓采摘机器人控制系统

    功能中,并将其修改成真正的传输接口功能。最后在新建一个线程定时上报数据,至此机智移植完成。除此之外,启动机智的传输需要在系统初始化中设置
    发表于 08-16 17:35

    Arduino Android APP来控制8个继电器

    电子发烧友网站提供《Arduino Android APP来控制8个继电器.zip》资料免费下载
    发表于 07-10 10:48 1次下载
    Arduino <b class='flag-5'>Android</b> <b class='flag-5'>APP</b>来控制8个继电器

    机智物联网低功耗转接板】远程环境数据采集探索

    MCU的代码。 看下生成的代码结构。 了解一下主要文件功能。 增加DHT11的驱动库,并在主程序增加相应读取,上报程序语句。 机智还提供了方便的APP和微信小程序创建
    发表于 06-27 18:02

    基于机智物联网平台的智能种树小车

    种树小车,在工作之前利用机智物联网平台下发每辆车的种植区域。此时种树车向前运动至预定的区域,钻头利用GPS定位模块确定种树地点,钻头开始
    发表于 05-31 19:38

    【CW32饭盒派开发板试用体验】利用机智模块联网(3)

    ; 2) << 5 | ((b) >> 3)) 3. 利用机智App控制CW32饭盒派的LCD屏显示 最后介绍一下使用
    发表于 05-20 21:13

    【CW32饭盒派开发板试用体验】利用机智模块联网(2)

    : GPIO_WritePin(CW_GPIOC,GPIO_PIN_13,GPIO_Pin_RESET); break; 3. 利用机智App控制CW32饭盒派的LED灯 下面
    发表于 05-18 21:30

    【CW32饭盒派开发板试用体验】利用机智模块联网(1)

    );//STM32 test demo } } 3.定时器设置 机智的代码需要一个1ms的定时器,我们将BTIM1设置为1ms。修改后的BTIM_init函数如下: void BTIM_init
    发表于 05-16 20:35