android物聯網
㈠ Android開發在物聯網系統中怎麼去用
移動便攜設備,手機、平板是Android系統,在最底層感測器是檢測模塊。收集到的數據通過zigbee 發送給協調器,協調器給網關,最後到伺服器,然後Android將伺服器的數據外部調用(歸根結底,還是與伺服器的通信)。這時候用到的就是Web Service,而手機端就是客戶端。完成這個調用,首先要在伺服器端部署Web Service,之後再在客戶端書寫代碼,訪問介面,調用數據。把這個思路理清,接下來再去做,而我在這里首先將客戶端的代碼書寫,伺服器端在下一篇中給出詳細的說明。
一、准備工作
1.SDK中並沒有Web Service的類庫,這就需要第三方類庫調用,就是koasp2,簡單的說,你得先導入一個jar包。完成之後如下圖。
2.部署伺服器端首先需要Tomcat,這是下一篇中才會用到的,我在這兒只是先把它准備好,客戶端的簡單調用用不到它。http://jingyan..com/article/86f4a73e5be03237d65269ef.html這是tomcat的安裝教程,過程很詳細;之後,http://www.hu.com/question/22893032這是將tomcat導入到ADT環境下的eclipse的教程,它的下載過程還是比較虐心的。
二、接下來就是代碼的編寫過程(註:這是客戶端的)
1.首先還是Manifest,給它一個網路訪問許可權
2.書寫xml布局文件(還是因為自己做得界面太丑,不粘了)
3.書寫Activity。新建一個類(這只是代碼示例,需要寫的就是這些,可以傳多個參數),
public class CommonWebService {
// 所調用的WebService的終端
public static String endpoint = "http://192.168.1.21:8080/hello/hellowordPort";
// 所調用的WebService的地址
public static String ip = "192.168.1.21";
// 所調用的WebService的命名空間
public static String namespace = "http://abcde/";
// 所調用的WebService中的方法
public static final String Infusion_METHOD = "MygetInfusion";
public void show_Infusion() {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// 定義命名空間
String nameSpace = "http://abcde/";
// 定義調用方法名稱
String methodName = "query_Infusion";
// endPoint以及soapAction
String endPoint = "http://192.168.1.21:8080/hello/hellowordPort";
String soapAction = "http://abcde/openlamp";
// 指定WebService的命名空間和調用方法
SoapObject soapObject = new SoapObject(nameSpace, methodName);
// 生成調用WebService方法調用的soap信息,並且指定Soap版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = soapObject;
//並不是dotnet開發的Web Service
envelope.dotNet = false;
// 輸出
envelope.setOutputSoapObject(soapObject);
// 定義一個HttpTransportSE對象
HttpTransportSE transport = new HttpTransportSE(endPoint);
try {
transport.call(soapAction, envelope);
// transport.call(null, envelope);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 獲取返回的數據
SoapObject object = (SoapObject) envelope.bodyIn;
// 獲取返回的結果
String result = null;
result = object.getProperty(0).toString();
Message message = handler_shuye.obtainMessage();
message.obj = result;
handler_shuye.sendMessage(message);
}
}).start();
}
public static String reslut_shuye;
private static Handler handler_shuye = new Handler() {
@Override
public void handleMessage(android.os.Message msg) {
// 將WebService得到的結果返回給TextView
reslut_shuye = msg.obj.toString();
};
};
}
4.在上述的代碼中,需要注意的幾點,你調用Web Service,你得先弄明白四個值:命名空間、調用的方法名稱、EndPoint、SOAP Action。因為伺服器端是自己部署,wsdl就要自己寫,自己會部署伺服器端了,這四個值也就一幕瞭然了。
㈡ android物聯網開發細致入門與最佳實踐 源代碼怎樣學習調試
對於讀項目源代碼來說,可能對大多數人是件困難的事。首先,第一個障礙:看到項目,就已經放棄!如果有十個人,可能有5個人以上會是上面這種情況,分析其想法:這么多的代碼,我要怎麼讀啊!我要讀好久啊!算了,還是看小Demo吧,所以這樣,他們也就只是把這個項目導入到eclipse中,點了幾下滑鼠,然後就沒有下文了。解決法:其實他們終止的原因很簡單,就是嫌麻煩,那好吧,告訴你,這點麻煩都能對你造成影響,其實你的開發之路也可以終止了。任何東西,你要學到它,你就必須花時間、花精力、還要有面對困難的准備。想一步登天,有可能,除非你是天才,但畢竟天才太少了!對於開發,不是學習1+1,所以,先擺正心態吧,那要具備怎樣的心態呢?那就是:有面對困難的准備,也有解決苦難的信心。心態問題解決了,那就是讀代碼的技巧了,很多人拿到一個項目不知道怎麼入手,乾脆就胡亂的一通看,看到一定時候發現,實在進行不下去了,又開始重新梳理自己的思路。這樣是很浪費時間的,其實對於讀一個項目,最好按照以下步驟進行(個人意見,僅供參考):1、使用這個應用或者游戲,直到熟悉它的使用流程和功能2、根據自己的體驗分析代碼實現(整體)3、如果有條件和原作者請教項目思路4、從最先啟動的Activity開始,弄懂每個Activity功能如何實現以及它的布局實現5、遇到不懂的代碼,首先找搜索引擎(一般都能解決)。還不行就可以請教他人了6、對新學到的知識點,一定要總結下來,並且定期的去回顧7、最重要的一點:我認為要自己動手寫,那怕是重新寫一遍這個項目,或者自己設計一個類似的,再或者只寫這個項目中的一部分。為什麼要自己動手呢?大家都知道coder這個東西,那怕你理論學得再好,不動手,那也是毫無意義的!所以,動手寫一下,你會遇到問題,你就會解決問題,這樣,你才能學到。這就是經驗·······
㈢ 安卓系統在物聯網的前景
不會啊,在今後的物聯網中除手機外的其他家電只要具有聯網功能就都有可能作為訂單產生、訂單查詢、收貨確認等步驟不可或缺的組成部分,現在韓國三星等公司製作的安卓系統的冰箱就是一個好例子。
㈣ 為什麼android能成為物聯網研發的標准系統之一
流行,畢竟一是用戶基數大。二是開源,代碼可以審查。三是開發人員也比較多。
㈤ 物聯網技術好還是android開發好
肯定是安卓開發好一點,工資高一些,技術含量大。
學習java,安卓還是不錯的選擇,移動時代還是非常火的,可以網上找老羅的視頻資料看,
講得比較全面,也很好,網路就能找到。
㈥ 基於android物聯網網關怎麼跟伺服器通信
物聯網網關是把感測器(網)的數據採集,轉發(也可以進行一部分預處理),上傳到廣域網的一個設備。 國外對接xively,axeda,國內的中移動物聯網設備雲等平台都有這么一層網管設備在前端,打通感測網和互聯網吧。
㈦ 如何看待谷歌推出的新物聯網平台 Android Things以及前景如何
3D列印被用作《經濟學人》雜志封面,主題為《看製造業新技術如何改變世界》,詳細介紹了3D列印的歷史和發展,可見人們對於3D列印成為一項可以改變世界的影響力日益關注。回顧2011年,3D列印市場並購整合成為主流,業內主流3D列印公司完成了大規模收購,建立未來3D列印全方位服務平台,以拓展更廣的用戶與合作夥伴群及聯合研發更多適合市場推廣的產品。 而3D列印的價值體現在想像力馳騁的各個領域,3D列印正讓「天馬行空」轉變為「腳踏實地」的可能,人們利用3D列印為自己所在的領域貼上了個性化的標簽。人們紛紛展示了如何3D列印馬鈴薯、巧克力、小鎮模型,甚至擴展到用3D列印汽車和飛機。3D列印行業的發展猶如其定義本身,始終凸顯著「創新突破」這一關鍵特質。 創新突破1:3D列印應用領域擴展延伸 3D列印的優勢在2011年被充分應用於生物醫葯領域,利用3D列印進行生物組織直接列印的概念日益受到推崇。比較典型的包括Open3DP創新小組宣布3D列印在列印骨骼組織上的應用獲得成功,利用3D列印技術製造人類骨骼組織的技術已經成熟;哈佛大學醫學院的一個研究小組則成功研製了一款可以實現生物細胞列印的設備;另外,3D列印人體器官的嘗試也正在研究中。【而在3D列印材料方面,Objet 公司相繼推出新型生物相容性3D 列印材料以用於醫療和牙科解決方案。】 隨著3D列印材料的多樣化發展以及列印技術的革新,3D列印不僅在傳統的製造行業體現出非凡的發展潛力,同時其魅力更延伸至食品製造、服裝奢侈品、影視傳媒以及教育等多個與人們生活息息相關的領域。 【以影視傳媒為例,在2011年11月,由史蒂文·斯皮爾伯格監制、休·傑克曼主演的動作勵志影片《鐵甲鋼拳》,圍繞未來世界的機器人拳擊比賽,講述了一個飽含夢想與親情的勵志故事,其中的父子情是影片大受歡迎的一大賣點。為了讓片中的主角——機器人看起來更逼真,Legacy Effects特效公司使用Objet公司的3D列印機製作了1:5大小的模型。在完成建模、手繪、拋光和審核後,全尺寸的機器人「亞當」、「吵鬧小子」和「奇襲」相繼製作完成,高精度的3D列印製作呈現出了活靈活現的主角們。通過動作捕捉技術與實際大小模擬機器人模型的完美結合,則生動演繹了熱血澎湃的機器人打鬥畫面,為影片加分不少。】 【除此之外,Legacy Effects公司還與Objet攜手製作了好萊塢巨制《侏羅紀公園3》、《鋼鐵俠2》、《阿凡達》及動畫片《鬼媽媽》中的各尺寸模型。】 創新突破2:3D列印速度、尺寸及技術日新月異 在速度突破上,2011年,個人使用3D列印機的速度已突破了送絲速度300mm每秒的極限,達到350mm每秒。在體積突破上,3D列印機體積為適合不同行業的需求,也呈現「輕盈」和「大尺寸」的多樣化選擇。目前已有多款適合辦公室列印的小巧3D列印機,並在不斷挑戰「輕盈」極限,為未來進入家庭奠定基礎。 在Vienna University of Technology的一個研究項目中,該團隊設計了迄今為止世界上最小的3D列印設備,並且降低了列印設備的製造成本,也有望未來進駐家庭。 在「大尺寸」領域,在德國的3D列印公司發布了4000x2000x1000mm尺寸的3D列印機,該款大尺寸3D列印機使列印大尺寸部件一次成型成為可能。 3D列印技術日新月異,在2011年Lexus對外發布了新3D列印技術,該技術基於高科技循環編織技術,使用激光進行3D列印, 能夠以編織的方式製作復雜的3D模型。 利用3D列印技術改善藝術及生活的例子屢見不鮮。例如荷蘭時尚設計師Iris van Herpen 展示了它的服裝設計作品,這些服裝作品全部使用3D列印機一次成型。通過3D列印技術製造的服裝,突破了傳統服裝剪裁的限制,幫助設計師完整地展現其靈感。而在Cornell大學的一個項目中,研究團隊製造了一台3D列印機用於列印食物,展現了烹調的獨特方式。其優勢在於能夠精確控制食物內部材料分布和結構,將原本需要經驗和技術的精細烹調轉換為電子屏幕前的簡單設計。 創新突破3:設計平台革新 基於3D列印民用化普及的趨勢,3D列印的設計平台正從專業設計軟體向簡單設計應用發展,其中比較成熟的平台有基於WEB的3D設計平台——3D Tin,另外,微軟、谷歌以及其他軟體行業巨頭也相繼推出了基於各種開放平台的3D列印應用,大大降低了3D設計的門檻,甚至有的應用已經可以讓普通用戶通過類似玩樂高積木的方式設計3D模型。 ---以上內容來自網路
㈧ 為什麼說Android系統不適合物聯網應用
好難說物聯網概念太廣了包括各種同類型終端能手機手持設備嵌入式設備等等還包括心伺服器要看學哪方向了般地終端應用程序根據終端同學安卓、IOS、嵌入式Linux或WINCE等應用開發而心應用軟體開發更廣了各種同語言Linux和Windows平台都有能
㈨ 基於安卓開發物聯網APP
我們做智能家居項目是採用socket的通訊方式