基于Android平台的智能家居系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
鍩轰簬Android骞冲彴鐨勬櫤鑳藉灞呯郴缁熻璁?
鎽? 瑕侊細涓轰簡瀹炵幇瀹跺眳鐢熸椿鏅鸿兘銆佹柟渚跨瓑鐩殑锛屾彁鍑轰竴绉嶅熀浜嶢ndroid骞冲彴鐨勬櫤鑳藉灞呯郴缁熴€傞噰鐢ㄥ唴澶栫綉閫氫俊鏂瑰紡锛屼娇寰楀綋瀹跺涵瀹藉甫涓嶅彲鐢ㄦ椂浠嶈兘閫氳繃鍐呯綉瀹炵幇瀵瑰灞呰澶囩殑鎺у埗銆傚皢鐢ㄦ埛閰嶇疆淇℃伅銆佽澶囦俊鎭瓨鍦ㄧ綉鍏充娇寰椾笉鍚屽鎴风鑳戒俊鎭叡浜紝瀹炵幇鍔ㄦ€佹坊鍔犮€佸垹闄ゅ姩浣溿€傞噰鐢ㄦ帹閫佽€屼笉鏄疆璇紝瀹炴椂鎬уソ銆傚鎴风APP鍔熻兘榻愬叏锛屼簯璁$畻鐨勪娇鐢ㄥ疄鐜颁簡澶栫綉鎺у埗锛屽悓鏃朵究浜庢湭鏉ョ殑绯荤粺鎵╁睍銆?
鍏抽敭璇嶏細鏅鸿兘瀹跺眳锛汚ndroid锛涗俊鎭帹閫侊紱浜戣绠楋紱杩滅▼鎺у埗
0 寮曡█
銆€銆€鏅鸿兘瀹跺眳閫氳繃鐗╄仈缃戞妧鏈皢瀹跺眳瀛愮郴缁熸湁鏈虹粨鍚堝湪涓€璧峰舰鎴愰珮搴︽櫤鑳藉寲鐨勬櫤鎱у搴璠1]銆傜墿鑱旂綉銆佷簯姒傚康鐨勬彁鍑哄姞閫熶簡鏅鸿兘瀹跺眳鐨勫彂灞曪紝Android鏅鸿兘鎵嬫満鍜岀綉缁滄妧鏈殑鍙戝睍涔熺粰鏅鸿兘瀹跺眳甯︽潵浜嗘柊鐨勬€濊矾[2]銆傛湰鏂囨彁鍑轰竴涓熀浜嶢ndroid骞冲彴鐨勬櫤鑳藉灞呯郴缁熻璁℃柟妗堛€備互Android鎵嬫満浣滀负瀹跺眳鎺у埗缁堢锛岄€氳繃浜戝钩鍙拌浆鍙戞秷鎭紝鐪熸瀹炵幇杩滅▼鎺у埗锛屽皢鐢ㄦ埛淇℃伅銆佽澶囦俊鎭瓨鍦ㄧ綉鍏充娇涓嶅悓瀹㈡埛绔兘瀹炵幇淇℃伅鍏变韩锛屽疄鐜板姩鎬佹坊鍔犮€佸垹闄ゅ姩浣溿€傜粨鍚堟帹閫佹妧鏈幏寰楄壇濂界殑瀹炴椂鎬с€?
1 绯荤粺鎬讳綋妗嗘灦鍥?
銆€銆€绯荤粺鐢卞鎴风銆佷簯璁$畻涓績銆佺綉鍏冲拰瀹跺涵璁惧缁勬垚銆傜郴缁熸鏋躲€?
銆€銆€瀹㈡埛绔疄鐜板搴曞眰璁惧鐨勬帶鍒舵柟寮忓寘鎷細(1)鍐呯綉鎺у埗锛氬鎴风浣跨敤瀹跺涵缃戠粶涓庣綉鍏崇洿鎺ラ€氫俊锛岀敱缃戝叧鎺у埗搴曞眰璁惧锛?2)澶栫綉鎺у埗锛氬鎴风涓庣綉鍏充笉鍦ㄥ悓涓€缃戞鍐咃紝瀹㈡埛绔寚浠ょ敱浜戞湇鍔″櫒杞彂缁欏搴旂殑缃戝叧锛屽啀鐢辩綉鍏虫帶鍒跺簳灞傝澶囥€傞噰鐢ㄥ唴澶栫綉鐨勯€氫俊鏂瑰紡锛屼娇寰楀搴甯︾綉缁滃湪涓嶅彲浣跨敤鐨勬儏鍐典笅锛屼粛鑳介€氳繃鍐呯綉閫氫俊瀹炵幇瀵硅澶囩殑鎺у埗锛屽悓鏃惰妭鐪佺敤鎴锋暟鎹祦閲廩3]銆傛瘡娆¤繍琛屽鎴风杞欢锛屼細鑷姩鑾峰彇缃戝叧澶勭殑閰嶇疆淇℃伅銆佽澶囦俊鎭€傜綉鍏冲悓姝ュ簳灞傝澶囩姸鎬侊紝褰撳彂鐢熸敼鍙樻椂鐢辩綉鍏宠浆鍙戠粰瀹㈡埛绔紝浣跨敤鎴疯兘鍙婃椂鑾风煡搴曞眰璁惧鐨勬渶鏂扮姸鎬併€?
2 瀹㈡埛绔璁′笌瀹炵幇
銆€銆€2.1 瀹㈡埛绔姛鑳借鏄?
銆€銆€Android瀹㈡埛绔姛鑳芥ā鍧椼€?
銆€銆€璁惧绠$悊鏄牳蹇冩ā鍧楋紝鍖呮嫭鑷畾涔夋埧闂村拰璁惧銆傚彲娣诲姞銆佸垹闄ゃ€佷慨鏀规埧闂达紝鎴块棿涓嬪彲娣诲姞璁惧銆傜偣鍑昏澶囩鐞嗭紝閫氳繃鍚庡彴鑾峰彇褰撳墠鐢ㄦ埛涓嬬殑鎵€鏈夋埧闂村苟浠SON鏍煎紡杩斿洖锛屽鎴风瀹屾垚瑙f瀽骞舵樉绀哄湪鐣岄潰涓婏紝鐐瑰嚮娣诲姞鍥炬爣杩涘叆娣诲姞鎴块棿鐣岄潰锛屽~鍐欐埧闂村悕绉板苟灏嗙敤鎴稩D涓庢埧闂村悕绉板彂寰€缃戝叧骞朵繚瀛樿嚦鏁版嵁搴撱€傞€氳繃闀挎寜鎴块棿鐣岄潰瀹炵幇鍒犻櫎涓庝慨鏀瑰姩浣溿€傜偣鍑绘埧闂翠細鏄剧ず璇ユ埧闂翠笅鐨勬墍鏈夎澶囷紝鍙坊鍔犺澶囷紝闀挎寜鍒犻櫎璁惧锛屼笉鎻愪緵淇敼璁惧鍔ㄤ綔銆傚彲浠ユ帶鍒跺崟涓澶囨垨鍖哄煙鍐呯殑鎵€鏈夎澶囷紝涔
熷彲浠ュ鏌愪釜鎯呮櫙妯″紡鍏宠仈鐨勮澶囪繘琛岃仈鍔ㄦ帶鍒躲€?
銆€銆€2.2 瀹㈡埛绔鏋?
銆€銆€鍦‥clipse寮€鍙戠幆澧冧笅锛岄噰鐢╦ava璇█锛屽熀浜嶮VC妯″紡瀵瑰鎴风杩涜璁捐銆傝鍥惧眰View璐熻矗鐢熸垚鐢ㄦ埛鐣岄潰锛屾帴鏀惰緭鍏ュ苟鏄剧ず缁撴灉銆傛帶鍒跺眰Controller鐢ㄤ簬鐩戝惉鐢ㄦ埛鎿嶄綔骞朵綔鍑哄弽搴斻€傛ā鍨嬪眰Model瀹氫箟浜嗗悇绉嶅姛鑳芥ā鍧楋紝鍖呮嫭閫氫俊妯″潡銆佹暟鎹簱妯″潡銆佹暟鎹牸寮忕殑灏佽鍜岃В鏋愭ā鍧楃瓑[4]锛屽叾涓€氫俊妯″潡鏄牳蹇冦€?
銆€銆€2.3 閫氫俊妯″潡
銆€銆€閫氫俊妯″潡璐熻矗瀹㈡埛绔拰鏈嶅姟鍣ㄦ垨缃戝叧闂寸殑娑堟伅閫氫俊鍜岄摼璺淮鎶ゃ€傞€氫俊鏂瑰紡鏈夛細TCP/UDP銆丠ttp銆丮QTT鎺ㄩ€併€傜郴缁熺殑閫氫俊鍗忚銆?
銆€銆€2.4 閫氫俊妯″潡瀹炵幇
銆€銆€2.4.1 Http閫氫俊
銆€銆€澶栫綉閫氫俊鏂瑰紡涓嬶紝鐢ㄦ埛鐧诲綍銆佽幏鍙栬澶囦俊鎭瓑鐢卞鎴风
閲囩敤Http寤虹珛涓诲姩杩炴帴锛屾湇鍔″櫒灏嗙粨鏋滀互JSON鏍煎紡杩斿洖銆傛ā鍧椾腑鐨凥ttp璇锋眰鐢ˋndroid-Async-Http缃戠粶璇锋眰搴撳疄鐜帮紝瀹冩槸鍩轰簬Apache HttpClient搴撲箣涓婄殑涓€涓紓姝ョ綉缁滆姹傚鐞嗗簱锛岀綉缁滃鐞嗗潎鍩轰簬Android鐨勯潪UI绾跨▼锛屼笉闃诲UI鎿嶄綔锛岄€氳繃鍥炶皟鏂规硶澶勭悊璇锋眰缁撴灉銆?
銆€銆€Android-Async-Http浣跨敤绠€鍗曪紝閫氳繃鏍稿績绫籄syncHttp-
銆€銆€Client鐨勫疄渚嬪氨鍙互鎵ц缃戠粶璇锋眰锛屾彁渚沺ut銆乸ost绛夋柟娉曘€傜櫥闄嗚繃绋嬪涓嬶細
銆€銆€(1)鍒涘缓AsyncHttpClient鐨勫疄渚?
銆€銆€AsyncHttpClient client = new AsyncHttpClient();
銆€銆€(2)鍒涘缓璇锋眰鍙傛暟鐨勫皝瑁呭璞?
銆€銆€RequestParams params = new RequestParams();
銆€銆€params.put("username", userName);
銆€銆€params.put("userpass", userPass);
銆€銆€(3)鎵цpost鏂规硶
銆€銆€client.post(url, params,
銆€銆€new AsyncHttpResponseHandler (){
銆€銆€public void onSuccess(int statusCode, Header[] headers,
銆€銆€byte[] responseBody){
銆€銆€if(statusCode == 200){//鎴愬姛
銆€銆€Toast.makeText(this,new String(responseBody) ).show();}}
銆€銆€Public void onFailure(int statusCode, Header[] headers,
銆€銆€byte[] responseBody Throwable error){
銆€銆€error.printStackTrace();//澶辫触
銆€銆€}}鈥?;
銆€銆€new AsyncHttpResponseHandler()杩欎釜瀹炰緥鐢ㄤ簬鎺ユ敹璇锋眰缁撴灉锛屼竴鑸噸鍐檕nSuccess()鍜宱nFailure()鏂规硶鎺ユ敹璇锋眰鎴愬姛鎴栧け璐ョ殑娑堟伅銆俹nSuccess()鏂规硶鐨勫弬鏁皉esponseBody涓哄搷搴斿唴瀹瑰瓧鑺傘€?
銆€銆€2.4.2 MQTT鎺ㄩ€?