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

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

3天内不再提示

编写机智云安卓开源框架的UI界面

9GxC_IoTMaker 来源:CSDN技术社区 作者:冷暖自知_源 2022-05-11 09:07 次阅读

前言

本项目通过阐述基于ESP8266作为处理器(SoC模式开发)接入机智云,借助机智云安卓开源框架设计的APP,实现了灯的控制、门禁的控制、温湿度的读取、有毒气体的检测、人体红外检测等功能

通过改造机智云开源框架,还实现了一个智能硬件系统支持多种控制方式,如:安卓APP控制、本地按键控制、红外遥控控制、天猫精灵控制,且每一种操作都能和APP同步显示。

本文是第二篇:UI界面编写

1.打开GosDeviceControlActivity这个类2.导入UI使用到的图片3.编写UI界面详解4.下载到真题验证5.编写密码输入的UI界面

进入正文

编写机智云安卓开源框架的UI界面,需要修改的是控制模块的部分

9f7449b8-d0c1-11ec-bce3-dac502259ad0.png


1.打开GosDeviceControlActivity这个类

9fad5c1c-d0c1-11ec-bce3-dac502259ad0.png

找到Oncreate()方法:

9feb5f62-d0c1-11ec-bce3-dac502259ad0.png

删除不必要的东西,如下图所示:

a0116112-d0c1-11ec-bce3-dac502259ad0.png

注意,因为在GosDeviceControlActivity.java中引用了我们删除的控件,所以在GosDeviceControlActivity也必须把这个引用删除,否则因为找不到对应的控件导致错误。


2.导入UI使用到的图片

  • 把我们在UI需要适用到的图片导入drawable,以便引用,文件如下

a02e10f0-d0c1-11ec-bce3-dac502259ad0.png

  • 复制到如下的路径:

a0bb8fca-d0c1-11ec-bce3-dac502259ad0.png


3.编写UI界面详解:

因为所有控件一个页面是显示不下的,所以此处需要使用一个 ScrollView ,使UI界面可以上下滑动

ScrollView具体使用方法:

https://blog.csdn.net/qq_36243942/article/details/82185051

android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" >
android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background02"android:fadingEdge="vertical"android:paddingBottom="10dp"android:paddingTop="20dp"android:scrollbars="vertical">

注意此处修改了背景为刚才我们导入的背景图片,视图如下:

a1074960-d0c1-11ec-bce3-dac502259ad0.png

  • 在最上边编写一个复位按钮,用来复位大灯,以及门禁系统:

也就是如下的界面:

a157d970-d0c1-11ec-bce3-dac502259ad0.png

在ScrollView中新建一个根布局为线性布局(LinearLayout)

备注:

1.控件布局相关知识:

https://blog.csdn.net/qq_36243942/article/details/81736744

2.线性布局相关知识:

https://blog.csdn.net/qq_36243942/article/details/81808833

2.为了让按钮看起来更美观,且有按下的效果,我们自己新建一个selector布局,然后引用这个布局文件

步骤:




  • 关于如何自定义按钮属性:https://blog.csdn.net/qq_36243942/article/details/82113312

UI界面代码如下:

android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" >
android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background02"android:fadingEdge="vertical"android:paddingBottom="10dp"android:paddingTop="20dp"android:scrollbars="vertical">android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:scrollbars="vertical"android:weightSum="1">android:id="@+id/Reset_ButtonId"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="300dp"android:background="@drawable/btn_beselected"android:text="复位" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="大灯开关面板"android:textColor="#f86354"android:textSize="30dp" />android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">


备注:在Button控件的background中引用这个drawable文件

a18eb648-d0c1-11ec-bce3-dac502259ad0.png

界面如下:

a1d6fba6-d0c1-11ec-bce3-dac502259ad0.png

  • 完成大灯控制的UI界面

如下:

a2141590-d0c1-11ec-bce3-dac502259ad0.png

这个按钮使用的控件是CheckBox,当这个CheckBox未被选中时,显示红色的图片,并显示开关状态为关,如果CheckBox被选中那么现实绿色的图片,并显示状态为开。

备注:

1.CheckBox的使用方法:https://blog.csdn.net/qq_36243942/article/details/81744237

2.创建一个selector布局,设置选中显示显示绿色,未选中选择红色

a2640fb4-d0c1-11ec-bce3-dac502259ad0.png

步骤:

a27e9df2-d0c1-11ec-bce3-dac502259ad0.png

a2a04902-d0c1-11ec-bce3-dac502259ad0.png

代码如下:

android:state_checked="true">android:state_checked="false">

详细代码代码如下:

android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" >
android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background02"android:fadingEdge="vertical"android:paddingBottom="10dp"android:paddingTop="20dp"android:scrollbars="vertical">
android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:scrollbars="vertical"android:weightSum="1">
android:id="@+id/Reset_ButtonId"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="300dp"android:background="@drawable/btn_beselected"android:text="复位" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="大灯开关面板"android:textColor="#f86354"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">
android:layout_width="match_parent"android:layout_height="match_parent"
android:layout_marginLeft="100dp"android:layout_weight="0.10"android:orientation="vertical">

android:id="@+id/TV_RedID"android:layout_width="match_parent"android:layout_height="match_parent"android:text="大厅灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox01_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />
android:id="@+id/TV_GreenID"android:layout_width="wrap_content"android:layout_height="wrap_content"
android:layout_marginTop="5dp"android:text="食厅灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox02_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />
android:id="@+id/TV_BlueID"android:layout_width="wrap_content"android:layout_height="wrap_content"
android:text="卧室灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox03_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />





备注:每个CheckBox的background属性都需要引用selector02_cb这个文件

a2dffade-d0c1-11ec-bce3-dac502259ad0.png

整体界面如下:

a304a44c-d0c1-11ec-bce3-dac502259ad0.png

  • 完成门禁开关面板的UI界面设计

如下:

a327e880-d0c1-11ec-bce3-dac502259ad0.png

这两个按钮实用的控件上ImageButton

备注:

1.ImageButton的使用:https://blog.csdn.net/qq_36243942/article/details/81783895

在上面的基础增加一个线性布局,注意此时线性布局的方向应该是水平的。

整体代码如下:

android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" >
android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background02"android:fadingEdge="vertical"android:paddingBottom="10dp"android:paddingTop="20dp"android:scrollbars="vertical">
android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:scrollbars="vertical"android:weightSum="1">
android:id="@+id/Reset_ButtonId"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="300dp"android:background="@drawable/btn_beselected"android:text="复位" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="大灯开关面板"android:textColor="#f86354"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">
android:layout_width="match_parent"android:layout_height="match_parent"
android:layout_marginLeft="100dp"android:layout_weight="0.10"android:orientation="vertical">

android:id="@+id/TV_RedID"android:layout_width="match_parent"android:layout_height="match_parent"android:text="大厅灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox01_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />
android:id="@+id/TV_GreenID"android:layout_width="wrap_content"android:layout_height="wrap_content"
android:layout_marginTop="5dp"android:text="食厅灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox02_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />
android:id="@+id/TV_BlueID"android:layout_width="wrap_content"android:layout_height="wrap_content"
android:text="卧室灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox03_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">
android:id="@+id/textView7"android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="门禁开关面板"android:textColor="#f86354"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:layout_weight="0.24"android:orientation="horizontal">
android:id="@+id/IV_ButtonID"android:layout_width="100dp"android:layout_height="100dp"android:layout_marginLeft="40dp"android:background="@drawable/mybtnopen" />
android:id="@+id/IV_closeButtonID"android:layout_width="100dp"android:layout_height="100dp"android:layout_marginLeft="80dp"android:background="@drawable/mybtnclose" />





整体界面如下:

a35b0c88-d0c1-11ec-bce3-dac502259ad0.png

  • 接下来就是温湿度检测,有毒气体,以及红外检测等一些TextView的设置,就不一一贴出来了,整体代码如下:

android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent">
android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background02"android:fadingEdge="vertical"android:paddingBottom="10dp"android:paddingTop="20dp"android:scrollbars="vertical">

android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:scrollbars="vertical"android:weightSum="1">
android:id="@+id/Reset_ButtonId"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="300dp"android:background="@drawable/btn_beselected"android:text="复位" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="大灯开关面板"android:textColor="#f86354"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="match_parent"
android:layout_marginLeft="100dp"android:layout_weight="0.10"android:orientation="vertical">

android:id="@+id/TV_RedID"android:layout_width="match_parent"android:layout_height="match_parent"android:text="大厅灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox01_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />
android:id="@+id/TV_GreenID"android:layout_width="wrap_content"android:layout_height="wrap_content"
android:layout_marginTop="5dp"android:text="食厅灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox02_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />
android:id="@+id/TV_BlueID"android:layout_width="wrap_content"android:layout_height="wrap_content"
android:text="卧室灯开关:关"android:textAllCaps="false"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/checkbox03_ID"android:layout_width="150dp"android:layout_height="85dp"android:background="@drawable/selecter02_cb"android:button="@null" />

android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:id="@+id/textView7"android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="门禁开关面板"android:textColor="#f86354"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:layout_weight="0.24"android:orientation="horizontal">
android:id="@+id/IV_ButtonID"android:layout_width="100dp"android:layout_height="100dp"android:layout_marginLeft="40dp"android:background="@drawable/mybtnopen" />
android:id="@+id/IV_closeButtonID"android:layout_width="100dp"android:layout_height="100dp"android:layout_marginLeft="80dp"android:background="@drawable/mybtnclose" />

android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="30dp"android:layout_marginTop="30dp"android:orientation="horizontal">
android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="门禁状态指示:"android:textColor="#33ff99"android:textSize="20dp" />

android:id="@+id/TV_indicateID"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="关闭"android:textColor="#ffff00"android:textSize="20dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:id="@+id/textView8"android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="温湿度检测"android:textColor="#f86354"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">
android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginBottom="1dp"android:layout_marginTop="20dp"android:orientation="horizontal"android:padding="50dp">

android:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="大气温度"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/tv_data_temp"android:layout_width="110dp"android:layout_height="match_parent"android:layout_marginLeft="30dp"android:textColor="@color/green"android:textSize="30dp" />android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="1dp"android:layout_weight="0.03"android:orientation="horizontal"android:padding="50dp">
android:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_centerVertical="true"android:text="相对湿度"android:textColor="#33ff99"android:textSize="20dp" />

android:id="@+id/tv_data_hum"android:layout_width="110dp"android:layout_height="match_parent"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_marginLeft="30dp"android:gravity="end"android:textColor="@color/green"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:id="@+id/textView6"android:layout_width="match_parent"android:layout_height="35dp"
android:gravity="center"android:text="有毒气体检测"android:textColor="#f86354"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="1dp"android:layout_weight="0.03"
android:padding="50dp">
android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_centerVertical="true"android:text="气体监测"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/tv_gsa_detection"android:layout_width="110dp"android:layout_height="match_parent"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:gravity="end"android:textColor="#FF0000"android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="35dp"android:gravity="center"android:text="红外感应检测"android:textColor="#f86354"
android:textSize="30dp" />
android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="1dp"android:layout_weight="0.03"android:padding="50dp">
android:id="@+id/textView5"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_centerVertical="true"android:text="人体检测"android:textColor="#33ff99"android:textSize="20dp" />
android:id="@+id/tv_body_move"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:gravity="end"android:textColor="#FF0000"android:textSize="30dp" />
android:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="horizontal">
android:id="@+id/Reset_DetnumId"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="30dp"android:background="@drawable/btn_beselected"android:text="复位检测" />
android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="    检测次数统计:"android:textColor="#ca8687"android:textSize="20dp" />
android:id="@+id/TV_Det_timesID"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=" 0次"android:textColor="#1d953f"android:textSize="20dp" />


android:layout_width="match_parent"android:layout_height="2dp"android:background="@color/alert_blue">

整体UI界面效果如下:

a3b59ac2-d0c1-11ec-bce3-dac502259ad0.png

a3dacd56-d0c1-11ec-bce3-dac502259ad0.png


4.下载到真题验证

修改完了UI界面之后,就可以下载到真题上体验一下:

步骤:

4.1.进入机智云官网,打开你的项目,打开虚拟设备

a41464e4-d0c1-11ec-bce3-dac502259ad0.png

4.2.点击二维码

a456b9fc-d0c1-11ec-bce3-dac502259ad0.png

4.3.使用APP扫描

a48a2ddc-d0c1-11ec-bce3-dac502259ad0.png

4.4.扫描后进入

a4c35f94-d0c1-11ec-bce3-dac502259ad0.png

4.5.接下来就可以看到我们写的UI界面啦

a52fc17a-d0c1-11ec-bce3-dac502259ad0.png


5.编写密码输入的UI界面

到了这一步好像UI设计已经全部完成了,但是上面还有一个门禁的Activity哦,就是当你按门禁开关面板的红色绿色按钮时,

进入密码输入界面,输入正确的密码则打开门禁,否则不打开。

在这里使用Intent进行Activity的跳转

备注:

5.1.何为Intent//blog.csdn.net/qq_36243942/article/details/81938476

步骤:

5.1.1.在ControlModule新建一个空的Activity

a58d2a54-d0c1-11ec-bce3-dac502259ad0.png

5.1.2.填写Activity的名称和所对应layout的名称,Androidstuio会自动

a5b16f90-d0c1-11ec-bce3-dac502259ad0.png

5.1.3.编写ActivityLock.xml文件

代码如下:

android:layout_width="match_parent"android:layout_height="match_parent"android:background="#D1EEEE"android:orientation="vertical">android:layout_width="368dp"android:layout_height="wrap_content"android:orientation="vertical"android:gravity="center">android:layout_width="match_parent"android:layout_height="wrap_content"android:text="请输入门禁密码"android:textSize="25dp"android:gravity="center"android:layout_marginTop="30dp"/>android:id="@+id/ED_Passward_ID"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入密码" />android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal">

android:id="@+id/BT_sure_ID"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="确定"android:layout_marginLeft="200dp"/>android:id="@+id/BT_cancle_ID"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="取消"/>
android:id="@+id/TV_reciveID"android:layout_width="match_parent"android:layout_height="match_parent"android:text=""android:textSize="25dp"android:gravity="center"android:layout_marginTop="30dp"/>




界面如下:

a5e087e4-d0c1-11ec-bce3-dac502259ad0.png

到这里所有的UI界面已经设计完成了,接下来就是需要写控制代码了。

(控制代码实现参考本系列文章第一篇)

原文标题:开发者作品:一款智能家居系统,实现了 4 种控制方式(二)

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


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

    关注

    3

    文章

    2985

    浏览量

    41718
  • 机智云
    +关注

    关注

    2

    文章

    542

    浏览量

    26216
  • ui界面
    +关注

    关注

    0

    文章

    11

    浏览量

    1540

原文标题:开发者作品:一款智能家居系统,实现了 4 种控制方式(二)

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

收藏 人收藏

    评论

    相关推荐

    物联网APP开源框架教程(二)—— iOS APP开发

    硬件相关的App实现方法。开源框架机智云的出品,包含Wi-Fi类智能硬件app通用功能的一套源码。只要使用机智云协议的产品,开发者可以直接用该框架
    发表于 12-07 10:54

    物联网APP开源框架教程(三)—— Andriod APP开发(安

    开源框架机智云的出品,包含Wi-Fi类智能硬件app通用功能的一套源码。只要使用机智云协议的产品,开发者可以直接用该框架的源码实现快速开发
    发表于 12-21 09:55

    机智开源框架介绍

    机智云物联网开源框架App工程(Eclipse工程)https://git.oschina.net/dantang/GizOpenSource_AppKit_Android 介绍:机智
    发表于 12-27 15:47

    机智云APP开源框架介绍

    机智云物联网开源框架App工程(Eclipse工程)介绍:机智开源框架(GizOpenSour
    发表于 02-15 17:56

    物联网平台机智云Android开源框架入门之旅

    下载地址。[size=1em]机智云Android开源框架 AndroidStudio版官方下载传送门: —— 【点击我进入下载AndroidStudio版本界面】[size=1em
    发表于 11-09 14:37

    机友分享 | 导入机智云Android开源项目的正确姿势

    以下文章来源于小雨编程 ,作者小雨tt“使用机智云AIoT平台支持项目自生成APP源码,即可轻松解决Android开源项目啦,”开发者下载源码后,只需要优化UI和设计设备控制界面控制逻
    发表于 09-28 10:58

    轻量级的ui框架如何去制作

    原创分享:自制轻量级单片机UI框架框架元素用户接口代码开源平时常看csdn,但是从来没有自己写过。正好这几天需要用单片机做一个简易的ui
    发表于 07-14 07:39

    开发者作品▏智能家居系统开发实践,实现了 4 种控制方式

    )1.界面演示2.下载机智云安开源框架3.创建项目4.修改App图标、名字等信息5.填写App
    发表于 05-11 12:02

    如何实现机智开源框架下的换肤操作?

    前言 本文主要是讲述用一个“取巧”的方法实现机智开源框架下的换肤操作。此外,还会推荐几种其他关于智能产品APP应用的开发。 开发背景 我最近在做基于机智云物联网的智能窗户设计,硬件部
    的头像 发表于 04-01 14:28 1301次阅读
    如何实现<b class='flag-5'>机智</b>云<b class='flag-5'>开源</b><b class='flag-5'>框架</b>下的换肤操作?

    使用机智开源框架开发一个智能家居系统?

    。本项目分成三部分来叙述。 本文是第一篇。 第一篇:总体介绍和安卓开发(逻辑控制部分实现) 1.界面演示2.下载机智云安开源框架3.创建项
    的头像 发表于 04-20 14:25 2075次阅读
    使用<b class='flag-5'>机智</b>云<b class='flag-5'>开源</b><b class='flag-5'>框架</b>开发一个智能家居系统?

    在HarmonyOS版本下如何基于JS UI框架来开发?

    作者:zhenyu ,华为软件开发工程师 在当前HarmonyOS版本下,如何基于JS UI框架来开发呢? 1JS UI框架下FA与PA交互的使用场景通常一个典型使用JS
    的头像 发表于 07-13 09:24 1888次阅读

    深入解析UI框架简介以及业界发展趋势

    作者:yuzhiqiang、sunfei、wanglei,华为软件架构工程师UI 框架简介以及业界发展趋势 UI,即用户界面,主要包含视觉(比如图像、文字、动画等可视化内容)以及交互(
    的头像 发表于 08-04 14:25 5035次阅读
    深入解析<b class='flag-5'>UI</b><b class='flag-5'>框架</b>简介以及业界发展趋势

    原创分享:自制轻量级单片机UI框架

    原创分享:自制轻量级单片机UI框架框架元素用户接口代码开源平时常看csdn,但是从来没有自己写过。正好这几天需要用单片机做一个简易的ui
    发表于 11-05 15:20 29次下载
    原创分享:自制轻量级单片机<b class='flag-5'>UI</b><b class='flag-5'>框架</b>

    Cosmac ELF1802 UI界面开源硬件

    电子发烧友网站提供《Cosmac ELF1802 UI界面开源硬件.zip》资料免费下载
    发表于 01-29 16:47 0次下载
    Cosmac ELF1802 <b class='flag-5'>UI</b><b class='flag-5'>界面</b><b class='flag-5'>开源</b>硬件

    机智云公版APP、APP开源框架、超赛在线配置APP服务有什么区别?

    最近后台有人问机智云公版APP、APP开源框架、APP代码自动生成服务、超赛在线配置APP,它们之间有啥区别?个人觉得,区别主要在于我想用它们做啥?想快速控制or测试——选机智云公版A
    的头像 发表于 11-30 09:26 522次阅读
    <b class='flag-5'>机智</b>云公版APP、APP<b class='flag-5'>开源</b><b class='flag-5'>框架</b>、超赛在线配置APP服务有什么区别?