开发者作品▏智能家居系统开发实践,实现了 4 种控制方式为
发布时间:2025/09/25 12:16 来源:大丰家居装修网
匹配到这里:
简化后:
4.4.简化踏入App基本上浏览器弹出的相片,此处基本上浏览器为幽默感名曰的,过去我们换如此一来自己的相片
简化如此一来如下的相片:
把这个特所写复制到,如下的附录下:drawable附录下
按如下的必需简化:
简化如此一来我们就让的相片:
基本数据简化完如此一来后可以电子书到真机下看一下这个App的变化:
5.填所写App ID与App Secret时APP和幽默感名曰名曰后端适配
App ID与App Secret用法与起到
App ID:运用于标上码,当开发新者需为一款智能产品开发新运用于(包括iOS、Android、Web运用于等)时,在幽默感名曰开发新者中所创建人运用于的时候,除此以外可能会相应生如此一来一个AppID,并与此器材透过关联。运用于开发新时需抽出此AppID。在APP注册的所有浏览器适配在该Appid下。
App Secret:App ID的验证密钥。
如下图所示,为APPID在开发新APP过程中所的起到。
必需:
1.踏入幽默感名曰开发新者中所心,敞开开发新的概念设计,寻觅如下的数据
2.敞开Android sturio的APP->src-assets下的UIconfig.jsonPDF填所写资料如下:
此PDF参考说明: ... 8D%A2%E8%82%A4.html
备注:在这个PDF同样可以简化可选的肌肤:
概念如下:
buttonColor:按动紫色
buttonTextColor:按动书所写紫色
navigationBarColor:定位系统栏中紫色
navigationBarTextColor:定位系统栏中书所写紫色
configProgressViewColor:内置中所插件 progress view 紫色
先简化肤色为:
则互换的标上符为:
"buttonColor": "16B599","buttonTextColor": "FFFFFF","navigationBarColor": "16B599","navigationBarTextColor": "FFFFFF","configProgressViewColor": "000000",
请注意:这里的紫色值,字幕需大所写
6.UI插件编纂
因为这均具体内容来得多,所以并不需放在另一篇网站了:UI插件编纂
插件如下:
7.出发点整理及准备文书工作
各种GUI的适用匹配链接:
TextViewGUI适用: _36243942/article/details/82107426 ButtonGUI的适用: _36243942/article/details/82113312 ImageView的适用: _36243942/article/details/81783895 CheckBox的适用: _36243942/article/details/81744237 Toast的适用 _36243942/article/details/82622796在透过操纵标上符编纂前先理确实一下出发点:
7.1. 我们所写的操纵标上符如何和ESP8266显卡联系一起?
在第5步的时候适配了App和名曰后端,幽默感名曰OpenBSD基本的SDK有一个难以实现应用程序。
SDK难以实现应用程序说明:
APP后端接收到MCU上交资料的难以实现应用程序:didReceiveData,辨别result为GizWifiErrorCode.GIZ_SDK_SUCCESS,则接收到的资料可能为基本上资料点或者扩张资料点。
那么我们只需在工程施工中所初始化这个难以实现应用程序formula_,就可以在幽默感名曰服务器提供我们工程施工相应的资料点。
所谓,幽默感名曰也提供了一个GizWifiDevice这个类,让我们能去操纵名曰后端资料点的资料,通过这个类的write()分析方法就可以操纵。
如果当我们所写好了ESP8266的标上符,并它刻录进开发新台湾版,透过医疗系统和名曰后端透过连接,ESP开发新台湾版就可能会根据名曰后端的资料去操纵开发新台湾版(当然这均标上符还是得我们自己来所写,幽默感名曰只是提供了资料操纵点)
7.2.在工程施工中所建立联系操纵资料点的名称
我们操纵一个器材也是通过辨别哪一个资料点来透过操纵的,因此我们设的资料点的名称需和工程施工资料点的名称互换:
看一下工程施工的资料点的标上名:
7.3.在工程施工中所建立联系复原资料的数组
既然我们能从名曰后端提供这些资料,那我们就需把这些资料复原一起,并存储在本地数组中所 。
7.4.建立联系一个ConcurrentHashMap的全局数组
用于存储报送的指示:
范例:
比如需使Red_OnOff 这个资料点变如此一来1,那么只需认真如下加载:
map=new ConcurrentHashMap<>();map.put(RED_OnOff,true);//初始化device的write分析方法device.write(map,0);
需使Red_OnOff 这个资料点变如此一来0,那么只需认真如下加载:
map=new ConcurrentHashMap<>();map.put(RED_OnOff,false);//初始化device的write分析方法device.write(map,0);7.5.**layoutPDF中所GUI的的数组
//**两个按动数组,分别是罢黜和侦测罢黜private Button btn_Reset;private Button btn_reset_det;
//**TextView主要是标示出一些长时间private TextView tv_RED; //标示出一楼灯具长时间的数组private TextView tv_GREEN; //标示出食厅灯具长时间的数组private TextView tv_BLUE; //标示出卧室灯具长时间的数组private TextView tv_indicate;//标示出后门长时间的数组private TextView tv_racall; //湿度标示出private TextView tv_hum; //湿度标示出private TextView tv_body; //消化系统红外线侦测private TextView tv_gas; //烟雾侦测private TextView tv_dettimes; //消化系统红外线放电次数
private CheckBox cb_01; //一楼灯具继电器的CheckBOxprivate CheckBox cb_02; //食厅灯具继电器的CheckBOxprivate CheckBox cb_03; //卧室灯具继电器的CheckBOx
private ImageButton iv_door_open; //后门开的IamgeButtonprivate ImageButton iv_door_close;//后门关的IamgeButton//记录消化系统红外线侦测的次数private static int detcton_times=0;
7.6.在initView分析方法中所提供所有GUI;也8.编纂操纵标上符
那就顺着UI插件一个大编纂吧。
8.1.编纂罢黜按动的标上符:
敞开GosDeviceControlActivity.java这个类,在initView中所为btn_Reset互换的按动适配**
8.2编纂红外线侦测罢黜按动的点击意外事件
8.3.编纂车头灯具LCD的点击意外事件(CheckBox)
也就是所如果指名所第一个CheckBox让Red_OnOff资料点替换如此一来低电平,否则替换如此一来低电平。
指名所第二CheckBox让Green_OnOff资料点替换如此一来低电平,否则替换如此一来低电平。
指名所第三个CheckBox让Blue_OnOff资料点替换如此一来低电平,否则替换如此一来低电平。
标上符如下,这均标上符同样所写在initView中所:
//车头灯具LCD的点击意外事件 cb_01.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View view) {if(cb_01.isChecked()) {map=new ConcurrentHashMap<>();map.put(RED_OnOff,true); device.write(map,0); tv_RED.setText("一楼灯具继电器:开"); }else {
map=new ConcurrentHashMap<>();map.put(RED_OnOff,false); device.write(map,0); tv_RED.setText("一楼灯具继电器:关"); }
} }); cb_02.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View view) {if(cb_02.isChecked()) {map=new ConcurrentHashMap<>();map.put(GREEN_OnOff,true); device.write(map,0); tv_GREEN.setText("食厅灯具继电器:开");
}else {map=new ConcurrentHashMap<>();map.put(GREEN_OnOff,false); device.write(map,0); tv_GREEN.setText("食厅灯具继电器:关"); }
} }); cb_03.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View view) {if(cb_03.isChecked()){//开蓝灯具指示map=new ConcurrentHashMap<>();map.put(BLUE_OnOff,true); device.write(map,0); tv_BLUE.setText("卧室灯具继电器:开"); }else {map=new ConcurrentHashMap<>();map.put(BLUE_OnOff,false); device.write(map,0); tv_BLUE.setText("卧室灯具继电器:关"); }
} })
8.4.编纂后门继电器LCD
这均相对于于在后来说是来得复杂的,因为当点击了绿色按动开门的时候是需回传攻击者的,在这里的加载是适用Intent匹配到另一个Activity,同时适用Intent传输资料,如果在另一个Activity回传正确的攻击者,那么就可能会回到原来这个Activity,并敞开后门,否则敞开后门,停止后门这个按动相对于简单一点,就并不需是发送一个停止的命令而已。
所以当我们在后门继电器点击了绿色按动就可能会匹配到LockActivity
也就是如下这个插件:
那么过去去LockActivity.java这个类去所写特别的操纵formula_了
8.5.LockActivity特别标上符
和上面一样,这个GUI有一个EditView,两个按动:具体,取消,还需适用一个数组来复原攻击者,基本上浏览器为"abc"
同样在initView提供GUI;也:
初始化EidtView的addTextChangedListener分析方法来复制到我们回传EditView回传的资料:
再一就是编纂确认按动(sure_button)和取消按动(cancle_button)的标上符了。
出发点:当在EditView回传攻击者时,上后端的具体内容可能会实时复原在mpassward这个数组中所,当按下确认按动,就去辨别这个mpassward这个数组中所前提复原有“open”这个表达式,如果有的话就返回上一级,并返回正确的结果,如果回传攻击者为空提示回传正确的攻击者,回传攻击者误判提示误判;按下取消按动并不需返回上一级,并返回失败!
在此段程中所更新UI,标上符如下:
仍要在initDevide()分析方法中所,设难以实现的**
自始,所有的逻辑操纵标上符并未编纂完如此一来。
8.8.自动化飞行测试
必需:
1.踏入幽默感名曰部落格,敞开你的概念设计,敞开虚拟器材
2.点击二维码
3.适用APP扫描
4.扫描后踏入
5.适用APP操纵看自动化结果
经过验证,我们所所写的操纵标上符并未能完如此一来我们的需求了,既能操纵工程施工名曰后端的资料点,又能把工程施工名曰后端的资料点推送到APP上。
。武汉看妇科去什么医院好上海看男科去哪家医院好
成都男科医院哪家好
沈阳白癜风医院哪里好
泰州白癜风专科医院哪好
润喉药
媒体资讯
婴儿口臭
紧急提醒:新冠“反扑”,中老年人或面临更高风险!
秋冬小儿化痰止咳的药哪个效果好
上一篇: PICK这些超好用的P图软件,轻松让你的录像A爆朋友圈!
下一篇: 人工智能系统里的不确定性量化
-
7大一些公司重磅齐发,这很“龙湖”!
源咫尺在握。而前不久横扫的怡心湖畔的39亩地块,同属范围是城南端合合力汇聚的产城湖畔信息化岩石圈,显现出昆明以“公园营城”的举足轻重理念,也能满足昆明人对于临湖畔而居的居住所需。北湖畔单
- 2025-10-23银保监会:一季度原保险保费收入1.8万亿元,累计增长4.4%
- 2025-10-23哈尔滨银行承压:原高管相继被查、净利润连年急剧下降
- 2025-10-23安徽潜山官庄镇:百亩梨花班车“美丽经济”
- 2025-10-23一季度销售额下跌22%!机构预测:月份楼市成交额下跌10%
- 2025-10-23《精灵旅社4》曝“冒险囧途”终极预告片 预售开启全员冒险欢乐满分
- 2025-10-23银保监会传达学习贯彻全市保障物流畅通促进产业链供应链稳定电视电话会议精神
- 2025-10-23为何说稳房地产如此重要?看看房地产跟农业增长的关系
- 2025-10-23中国人银保监会厦门监管局关于中国人人民财产保险股份有限公司厦门市南山支公司滨北营销服务部营业场所变更的批复
- 2025-10-23深圳银保监局关于天安财产保险股份有限公司深圳分公司龙岗支公司变更营业公共场所的批复
- 2025-10-23央行、外汇局:不搞“一刀切” 保有房地产开发贷款平稳有序投放