吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony應(yīng)用場景 鴻蒙智能家居【1.0】

ArkUI詳解 ? 來源:鴻蒙實(shí)驗(yàn)室 ? 作者:鴻蒙實(shí)驗(yàn)室 ? 2022-07-13 09:24 ? 次閱讀

應(yīng)用場景:

智能家居

今天打造的這一款全新智能家庭控制系統(tǒng),凸顯應(yīng)用在智能控制和用戶體驗(yàn)的特點(diǎn),開創(chuàng)國內(nèi)智能家居系統(tǒng)體驗(yàn)新局面。新的系統(tǒng)主要應(yīng)用在鴻蒙生態(tài)。

在開始之前大家可以先預(yù)覽一下我完成之后的效果。

智能家居中控

是不是很炫酷呢?

搭建OpenHarmony環(huán)境

完成本篇Codelab我們首先要完成開發(fā)環(huán)境的搭建,本示例以DaYu200開發(fā)板為例,參照以下步驟進(jìn)行:

獲取OpenHarmony系統(tǒng)版本:標(biāo)準(zhǔn)系統(tǒng)解決方案(二進(jìn)制)

以3.0版本為例:

img

搭建燒錄環(huán)境

完成DevEco Device Tool的安裝

完成Dayu200開發(fā)板的燒錄

搭建開發(fā)環(huán)境

開始前請參考工具準(zhǔn)備 ,完成DevEco Studio的安裝和開發(fā)環(huán)境配置。

開發(fā)環(huán)境配置完成后,請參考使用工程向?qū)?創(chuàng)建工程(模板選擇“Empty Ability”),選擇eTS語言開發(fā)。

工程創(chuàng)建完成后,選擇使用真機(jī)進(jìn)行調(diào)測 。

相關(guān)概念

容器組件

Column

Row

Stack

基礎(chǔ)組件

Text

TextInput

Button

Image

Navigation

通用

邊框設(shè)置

尺寸設(shè)置

點(diǎn)擊控制

布局約束

背景設(shè)置

點(diǎn)擊事件

TS語法糖

好的接下來我將詳細(xì)講解如何制作

開發(fā)教學(xué)

創(chuàng)建好的 eTS工程目錄

新建工程的ETS目錄如下圖所示。

img

各個文件夾和文件的作用:

index.ets:用于描述UI布局、樣式、事件交互和頁面邏輯。

app.ets:用于全局應(yīng)用邏輯和應(yīng)用生命周期管理。

pages:用于存放所有組件頁面。

resources:用于存放資源配置文件。

接下來開始正文。

我們的主要操作都是在在pages目錄中,然后我將用不到10分鐘的時間,帶大家實(shí)現(xiàn)這個功能。

拆解

image-20220706230542588

根據(jù)設(shè)計(jì)圖,我們可以分層展示,用Column包裹,大致分為這幾步

image-20220706231016908

可以看下本頁的結(jié)構(gòu):

image-20220706232242915

再詳細(xì)一點(diǎn):

image-20220706232343167

import

{

SettingDetails

}

from

'./common/SettingDetails'

;

import

router

from

'@ohos.router'

;

?

@

Entry

@

Component

struct

Index

{

@

State

title

:

string

=

'智能家居體驗(yàn)'

@

State

message

:

string

=

'你現(xiàn)在想要打開那些設(shè)置?'

@

State

desc

:

string

=

'點(diǎn)擊所有適用的選項(xiàng)。這將幫助我們\n自定義您的主頁'

@

State

Number

:

String

[]

=

[

'0'

,

'1'

,

'2'

,

'3'

,

'4'

]

@

State

private

isSelect

:

boolean

=

true

;

?

build

() {

?

Column

() {

Text

(

this

.

title

)

.

fontSize

(

80

)

.

fontWeight

(

FontWeight

.

Bold

).

onClick

(()

=>

{

router

.

push

({

url

:

'pages/SensorScreen'

})

}).

margin

({

bottom

:

60

,

top

:

40

})

Text

(

this

.

message

)

.

fontSize

(

50

)

.

fontWeight

(

FontWeight

.

Bold

).

onClick

(()

=>

{

router

.

push

({

url

:

'pages/SensorScreen'

})

}).

margin

({

bottom

:

60

})

Text

(

this

.

desc

)

.

fontSize

(

30

)

.

textAlign

(

TextAlign

.

Center

)

.

fontWeight

(

FontWeight

.

Bold

)

.

onClick

(()

=>

{

?

})

.

margin

({

bottom

:

60

})

Row

() {

?

SettingDetails

({

image

:

"common/images/setting.png"

,

title

:

"Maintenance\nRequests"

,

isSelected

:

this

.

isSelect

!

})

?

SettingDetails

({

image

:

"common/images/grain.png"

,

title

:

"Integrations\n"

,

isSelected

:

this

.

isSelect

!

})

?

SettingDetails

({

image

:

"common/images/ic_highlight.png"

,

title

:

"Light\nControl"

,

isSelected

:

this

.

isSelect

!

})

?

}

Row

() {

SettingDetails

({

image

:

"common/images/opacity.png"

,

title

:

"Leak\nDetector"

,

isSelected

:

this

.

isSelect

!

})

SettingDetails

({

image

:

"common/images/ac_unit.png"

,

title

:

"Temperature\nControl"

,

isSelected

:

this

.

isSelect

!

})

SettingDetails

({

image

:

"common/images/key.png"

,

title

:

"Guest\nAccess"

,

isSelected

:

this

.

isSelect

!

})

?

?

}

Button

(

"NEXT"

)

.

fontSize

(

60

)

.

fontColor

(

Color

.

Black

)

.

width

(

600

)

.

height

(

100

)

.

backgroundColor

(

Color

.

Red

)

.

margin

({

top

:

100

})

.

onClick

(()

=>

{

router

.

push

({

url

:

'pages/SensorScreen'

})

})

}

.

width

(

'100%'

)

.

height

(

'100%'

).

backgroundColor

(

"#F5F5F5"

)

}

}

具體布局

具體布局設(shè)計(jì)到一些細(xì)節(jié)的地方,例如間隔,邊框,當(dāng)前組件尺寸設(shè)置等一些特殊情況,基本上就是嵌套,一層一層去實(shí)現(xiàn)。

代碼結(jié)構(gòu)

image-20220706231113785

編碼

Index.ets

import

{

SettingDetails

}

from

'./common/SettingDetails'

;

import

router

from

'@ohos.router'

;

?

@

Entry

@

Component

struct

Index

{

@

State

title

:

string

=

'智能家居體驗(yàn)'

@

State

message

:

string

=

'你現(xiàn)在想要打開那些設(shè)置?'

@

State

desc

:

string

=

'點(diǎn)擊所有適用的選項(xiàng)。這將幫助我們\n自定義您的主頁'

@

State

Number

:

String

[]

=

[

'0'

,

'1'

,

'2'

,

'3'

,

'4'

]

@

State

private

isSelect

:

boolean

=

true

;

?

build

() {

?

Column

() {

Text

(

this

.

title

)

.

fontSize

(

80

)

.

fontWeight

(

FontWeight

.

Bold

).

onClick

(()

=>

{

router

.

push

({

url

:

'pages/SensorScreen'

})

}).

margin

({

bottom

:

60

,

top

:

40

})

Text

(

this

.

message

)

.

fontSize

(

50

)

.

fontWeight

(

FontWeight

.

Bold

).

onClick

(()

=>

{

router

.

push

({

url

:

'pages/SensorScreen'

})

}).

margin

({

bottom

:

60

})

Text

(

this

.

desc

)

.

fontSize

(

30

)

.

textAlign

(

TextAlign

.

Center

)

.

fontWeight

(

FontWeight

.

Bold

)

.

onClick

(()

=>

{

?

})

.

margin

({

bottom

:

60

})

Row

() {

?

SettingDetails

({

image

:

"common/images/setting.png"

,

title

:

"Maintenance\nRequests"

,

isSelected

:

this

.

isSelect

!

})

?

SettingDetails

({

image

:

"common/images/grain.png"

,

title

:

"Integrations\n"

,

isSelected

:

this

.

isSelect

!

})

?

SettingDetails

({

image

:

"common/images/ic_highlight.png"

,

title

:

"Light\nControl"

,

isSelected

:

this

.

isSelect

!

})

?

}

Row

() {

SettingDetails

({

image

:

"common/images/opacity.png"

,

title

:

"Leak\nDetector"

,

isSelected

:

this

.

isSelect

!

})

SettingDetails

({

image

:

"common/images/ac_unit.png"

,

title

:

"Temperature\nControl"

,

isSelected

:

this

.

isSelect

!

})

SettingDetails

({

image

:

"common/images/key.png"

,

title

:

"Guest\nAccess"

,

isSelected

:

this

.

isSelect

!

})

?

?

}

Button

(

"NEXT"

)

.

fontSize

(

60

)

.

fontColor

(

Color

.

Black

)

.

width

(

600

)

.

height

(

100

)

.

backgroundColor

(

Color

.

Red

)

.

margin

({

top

:

100

})

.

onClick

(()

=>

{

router

.

push

({

url

:

'pages/SensorScreen'

})

})

}

.

width

(

'100%'

)

?

.

height

(

'100%'

).

backgroundColor

(

"#F5F5F5"

)

}

}

image-20220706230620896

針對這一頁:首先是頭部

image-20220706232459401

代碼如下:

Row() {

?

Image($r("app.media.logo"))

.objectFit(ImageFit.Contain)

.width(200)

.height(200)

.borderRadius(21)

?

Column() {

Text('June 14, 2022')

.fontSize(40).opacity(0.4)

.fontWeight(FontWeight.Bold)

Text('Good Morning,\nJianGuo',)

.fontSize(60)

.fontWeight(FontWeight.Bold)

}

?

?

}

其次是個人信息,包括頭像等信息:

image-20220706232621793

代碼如下:

?

接下來就是溫度和濕度

image-20220706232715798

代碼如下:

ow

({

space

:

120

}) {

Column

() {

Text

(

'40°'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

.

fontWeight

(

FontWeight

.

Bold

)

Text

(

'TEMPERATURE'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

}.

margin

({

left

:

60

})

?

Column

() {

Text

(

'59%'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

.

fontWeight

(

FontWeight

.

Bold

)

Text

(

'HUMIDITY'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

}.

margin

({

right

:

60

})

}.

margin

({

top

:

20

})

SensorScreen.ets

import

{

HomeDetails

}

from

'./common/homedetails'

;

// second.ets

import

router

from

'@ohos.router'

;

?

@

Entry

@

Component

struct

Second

{

@

State

message

:

string

=

'Hi there'

@

State

private

isSelect

:

boolean

=

true

;

?

build

() {

?

Column

() {

Row

() {

?

Image

(

$r

(

"app.media.back"

))

.

objectFit

(

ImageFit

.

Contain

)

.

width

(

80

)

.

height

(

80

)

.

onClick

(()

=>

{

router

.

back

()

})

?

Blank

()

?

Text

(

'Home'

)

.

fontSize

(

45

)

.

fontWeight

(

FontWeight

.

Bold

)

?

?

Blank

()

Image

(

$r

(

"app.media.notifications_none"

))

.

objectFit

(

ImageFit

.

Contain

)

.

width

(

80

)

.

height

(

80

)

.

onClick

(()

=>

{

router

.

back

()

})

?

}

?

.

width

(

'100%'

)

?

Row

() {

?

Image

(

$r

(

"app.media.logo"

))

.

objectFit

(

ImageFit

.

Contain

)

.

width

(

200

)

.

height

(

200

)

.

borderRadius

(

21

)

?

Column

() {

Text

(

'June 14, 2022'

)

.

fontSize

(

40

).

opacity

(

0.4

)

.

fontWeight

(

FontWeight

.

Bold

)

Text

(

'Good Morning,\nJianGuo'

,)

.

fontSize

(

60

)

.

fontWeight

(

FontWeight

.

Bold

)

}

?

?

}

?

Row

({

space

:

120

}) {

Column

() {

Text

(

'40°'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

.

fontWeight

(

FontWeight

.

Bold

)

Text

(

'TEMPERATURE'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

}.

margin

({

left

:

60

})

?

Column

() {

Text

(

'59%'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

.

fontWeight

(

FontWeight

.

Bold

)

Text

(

'HUMIDITY'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

}.

margin

({

right

:

60

})

}.

margin

({

top

:

20

})

?

?

Row

() {

HomeDetails

({})

?

HomeDetails

({

image

:

"common/images/lightbull.png"

,

isSelected

:

this

.

isSelect

!

})

?

}

?

Row

() {

?

?

HomeDetails

({

image

:

"common/images/opacity.png"

})

HomeDetails

({

image

:

"common/images/yytem0.png"

})

?

?

}

?

Row

(){

Column

(){

Text

(

'ADD'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

.

fontWeight

(

FontWeight

.

Bold

)

Text

(

'NEW CONTROL'

,)

.

fontSize

(

40

).

opacity

(

0.4

)

}

Blank

()

?

Image

(

$r

(

"app.media.add"

))

.

objectFit

(

ImageFit

.

Contain

)

.

width

(

100

)

.

height

(

100

)

.

borderRadius

(

21

).

margin

({

right

:

40

})

?

}.

border

({

color

:

Color

.

White

,

width

:

8

,

radius

:

20

}).

width

(

"88%"

).

height

(

150

)

?

}.

width

(

"100%"

)

.

height

(

'100%'

).

backgroundColor

(

"#F5F5F5"

)

}

}

我們可以對,下面的這塊進(jìn)行封裝

image-20220706231310224

代碼如下

@

Entry

@

Component

export

struct

SettingDetails

{

@

State

private

image

:

string

=

"common/images/setting.png"

@

State

private

title

:

string

=

"Maintenance\nRequests"

@

State

private

isSelected

:

boolean

=

true

;

?

build

() {

?

?

Column

() {

Image

(

this

.

image

)

.

objectFit

(

ImageFit

.

Contain

)

.

width

(

140

)

.

height

(

120

)

.

margin

(

20

)

.

border

({

width

:

12

,

color

:

this

.

isSelected

?

Color

.

White

:

Color

.

Red

,

radius

:

20

})

.

onClick

(()

=>

{

this

.

isSelected

=

!

this

.

isSelected

;

})

Text

(

this

.

title

).

fontSize

(

32

).

width

(

200

).

textAlign

(

TextAlign

.

Center

)

}

}}

我們可以對,下面的這塊進(jìn)行封裝

image-20220706231425068image-20220706232810459

代碼如下

@

Entry

@

Component

export

struct

SettingDetails

{

@

State

private

image

:

string

=

"common/images/setting.png"

@

State

private

title

:

string

=

"Maintenance\nRequests"

@

State

private

isSelected

:

boolean

=

true

;

?

build

() {

?

?

Column

() {

Image

(

this

.

image

)

.

objectFit

(

ImageFit

.

Contain

)

.

width

(

140

)

.

height

(

120

)

.

margin

(

20

)

.

border

({

width

:

12

,

color

:

this

.

isSelected

?

Color

.

White

:

Color

.

Red

,

radius

:

20

})

.

onClick

(()

=>

{

this

.

isSelected

=

!

this

.

isSelected

;

})

Text

(

this

.

title

).

fontSize

(

32

).

width

(

200

).

textAlign

(

TextAlign

.

Center

)

}

}}

最后就是底部

image-20220706232904753

代碼如下:

Row(){

Column(){

Text('ADD',)

.fontSize(40).opacity(0.4)

.fontWeight(FontWeight.Bold)

Text('NEW CONTROL',)

.fontSize(40).opacity(0.4)

}

Blank()

Image($r("app.media.add"))

.objectFit(ImageFit.Contain)

.width(100)

.height(100)

.borderRadius(21).margin({right:40})

}.border({

color:Color.White,

width:8,

radius:20

}).width("88%").height(150)

恭喜你

在本文中,通過實(shí)現(xiàn)智聯(lián)汽車App示例,我主要為大家講解了如下ArkUI(基于TS擴(kuò)展的類Web開發(fā)范式)組件,以及路由跳轉(zhuǎn)。

容器組件

Column

Row

Stack

基礎(chǔ)組件

Text

Button

Image

Navigation

通用

邊框設(shè)置

尺寸設(shè)置

點(diǎn)擊控制

布局約束

背景設(shè)置

點(diǎn)擊事件

TS語法糖

希望通過本教程,各位開發(fā)者可以對以上基礎(chǔ)組件具有更深刻的認(rèn)識。

后面的計(jì)劃:

智能互聯(lián)

硬件交互

動畫交互

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 智能家居
    +關(guān)注

    關(guān)注

    1930

    文章

    9607

    瀏覽量

    186437
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1982

    瀏覽量

    30582
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3747

    瀏覽量

    16594
收藏 人收藏

    評論

    相關(guān)推薦

    NanoEdge AI的技術(shù)原理、應(yīng)用場景及優(yōu)勢

    硬件設(shè)計(jì)則是為了確保設(shè)備在執(zhí)行這些任務(wù)時能夠保持低能耗,從而提高其續(xù)航能力。 2、應(yīng)用場景 NanoEdge AI 可以廣泛應(yīng)用于各種物聯(lián)網(wǎng)設(shè)備和傳感器,如智能家居、工業(yè)自動化、智能交通、醫(yī)療健康
    發(fā)表于 03-12 08:09

    #硬聲創(chuàng)作季 #某些喜歡 #智能家居智能家居角度看鴻蒙 #鴻蒙

    智能家居鴻蒙
    Hello,World!
    發(fā)布于 :2022年11月02日 11:36:24

    智能攝像機(jī) 引領(lǐng)智能家居潮流

    直至如今,整個市場還沒有一家能夠形成較大的規(guī)模。之所以他們還難以實(shí)現(xiàn)市場規(guī)模化的成績,進(jìn)而代表他們身處品類帶動整個智能家居行業(yè)的發(fā)展,和他們的產(chǎn)品應(yīng)用場景與應(yīng)用頻率還不夠高有著很大關(guān)系。與之相比,近期
    發(fā)表于 12-28 17:33

    選擇智能家居的幾點(diǎn)理由?

    。2.便利隨著物聯(lián)網(wǎng)、云計(jì)算、無線通信等新技術(shù)的發(fā)展,智能家居得到了快速發(fā)展更大的方便了人們的生活。智能家居能讓用戶利用智能手機(jī)來控制家中的設(shè)備,實(shí)現(xiàn)遠(yuǎn)程控制、場景控制、聯(lián)動控制和定時
    發(fā)表于 01-30 16:45

    未來智能家居場景分哪種類型?

    升至2018年的約4.9億部,其中運(yùn)動監(jiān)測、移動醫(yī)療、智能手表類將成為最主要的可穿戴產(chǎn)品形態(tài)。   隨著科學(xué)技術(shù)發(fā)展,人們生活的場景類型可能不會大幅增加,但切換變化卻只會更頻繁,隨之適應(yīng)人們使用習(xí)慣的LivingLab智能家居
    發(fā)表于 02-01 14:51

    邁入智能場景時代!2018年智能家居能否迎來爆點(diǎn)時刻?

    去年,智能門鎖和智能音箱作為智能家居領(lǐng)域的兩個熱銷產(chǎn)品橫空出世。同期,智能家居企業(yè)關(guān)注的重點(diǎn)由單品轉(zhuǎn)入到了智能
    發(fā)表于 04-17 13:38

    選擇智能家居的幾點(diǎn)理由。

    的發(fā)展,智能家居得到了快速發(fā)展更大的方便了人們的生活。智能家居能讓用戶利用智能手機(jī)來控制家中的設(shè)備,實(shí)現(xiàn)遠(yuǎn)程控制、場景控制、聯(lián)動控制和定時控制等功能。紅外線遙控開關(guān)通過遠(yuǎn)程控制,用戶可
    發(fā)表于 04-18 15:51

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件試用 】金典智能家居

    項(xiàng)目名稱:金典智能家居試用計(jì)劃:申請理由本人在智能家居領(lǐng)域有5年多的學(xué)習(xí)和開發(fā)經(jīng)驗(yàn),曾參與金典智能家居產(chǎn)品的開發(fā),產(chǎn)品包括門鎖,加濕器,智能燈等,產(chǎn)品支持過近程遠(yuǎn)程協(xié)議,wifi,藍(lán)牙
    發(fā)表于 09-25 10:09

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件試用 】基于鴻蒙OS系統(tǒng)的智能家居智能安防系統(tǒng)

    項(xiàng)目名稱:基于鴻蒙OS系統(tǒng)的智能家居智能安防系統(tǒng)試用計(jì)劃:申請理由本人在嵌入式開發(fā)領(lǐng)域有7年多的學(xué)習(xí)和開發(fā)經(jīng)驗(yàn),并且從業(yè)以來一直從事智能家居類產(chǎn)品的開發(fā),曾設(shè)計(jì)基于zigbee協(xié)議的
    發(fā)表于 10-29 14:33

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件試用 】智能家居項(xiàng)目

    項(xiàng)目名稱:智能家居項(xiàng)目試用計(jì)劃:本人基于興趣愛好,具有飛凌、瑞芯微、全志開發(fā)板學(xué)習(xí)和開發(fā)經(jīng)驗(yàn),成功移植、調(diào)試安裝。具有全志、瑞芯微智能芯片開發(fā)能力。想借助發(fā)燒友論壇和參與鴻蒙硬件的學(xué)習(xí)和設(shè)計(jì)。項(xiàng)目
    發(fā)表于 10-29 14:46

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件試用 】智能家庭

    項(xiàng)目名稱:智能家庭試用計(jì)劃:探索鴻蒙智能家居方面的應(yīng)用場景和效果
    發(fā)表于 10-29 15:13

    智能家居的應(yīng)用研究現(xiàn)狀 精選資料分享

    電子設(shè)備發(fā)展快。智能家居的四大應(yīng)用場景智能家電、家用安防、照明系統(tǒng)和連接控制設(shè)備。物聯(lián)網(wǎng)技術(shù)是智能家居的基礎(chǔ),家...
    發(fā)表于 07-19 09:08

    【直播回顧】OpenHarmony知識賦能六期第一課—OpenHarmony智能家居項(xiàng)目介紹

    6月16日晚上19點(diǎn),知識賦能第六期第一節(jié)課 《OpenHarmony智能家居項(xiàng)目介紹》 ,在OpenHarmony開發(fā)者成長計(jì)劃社群內(nèi)成功舉行。本次直播是“OpenHarmony開源
    發(fā)表于 06-17 11:08

    中軟國際智能家居中控屏通過OpenHarmony兼容性測評

    ,獲頒OpenHarmony生態(tài)產(chǎn)品兼容性證書。 家居中控屏是智能家居場景的控制中心,也是智慧家居解決方案中人與設(shè)備間溝通的重要橋梁,此次
    的頭像 發(fā)表于 12-26 20:20 ?1523次閱讀

    什么是Matter 1.0?它將如何顛覆智能家居

    什么是Matter 1.0?它將如何顛覆智能家居
    的頭像 發(fā)表于 11-28 17:25 ?828次閱讀
    什么是Matter <b class='flag-5'>1.0</b>?它將如何顛覆<b class='flag-5'>智能家居</b>?
    百家乐官网塑料扑克牌盒| 赌博游戏机| 百家乐筹码币方形| 菲律宾百家乐官网太阳城| 同乐城百家乐娱乐城| 战神百家乐官网娱乐城| 百家乐官网稳赢赌法| 威尼斯人娱乐城 色情| 百家乐官网平注法到| 百家乐官网在线小游戏| 大发888洗码| 百家乐白菜价| 网址百家乐官网的玩法技巧和规则| 百家乐官网破解之法| 大发888娱乐城 下载| 真人百家乐蓝盾娱乐网| 千亿百家乐官网的玩法技巧和规则| 百家乐官网出千大全| 大发888娱乐城 17| 网上百家乐赌场娱乐网规则| 太阳百家乐官网网| 百家乐官网白菜价| 网络百家乐| 大发888开户xa11| 百家乐大路图| 百家乐怎么注册| A8百家乐官网娱乐网| 安国市| 大发888娱乐游戏下载 客户端| 百家乐现金网平台排行榜| 香港百家乐官网赌场娱乐网规则| 百家乐官网网站那个好| 网球比赛直播| 全讯网程序| 百家乐英皇娱乐平台| 沙龙百家乐破解| 百家乐官网和21点| 百家乐官网是哪个国家| 太阳城娱乐城| 大发888大发888m摩卡游戏博彩官方下载| 百家乐网络赌城|