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能成為物聯網研發的標准系統之一
流行,畢竟一是用戶基數大。二是開源,代碼可以審查。三是開發人員也比較多。
⑶ 安卓系統在物聯網的前景
不會啊,在今後的物聯網中除手機外的其他家電只要具有聯網功能就都有可能作為訂單產生、訂單查詢、收貨確認等步驟不可或缺的組成部分,現在韓國三星等公司製作的安卓系統的冰箱就是一個好例子。
⑷ 基於安卓開發物聯網APP
我們做智能家居項目是採用socket的通訊方式
⑸ android物聯網開發細致入門與最佳實踐 源代碼怎樣學習調試
對於讀項目源代碼來說,可能對大多數人是件困難的事。首先,第一個障礙:看到項目,就已經放棄!如果有十個人,可能有5個人以上會是上面這種情況,分析其想法:這么多的代碼,我要怎麼讀啊!我要讀好久啊!算了,還是看小Demo吧,所以這樣,他們也就只是把這個項目導入到eclipse中,點了幾下滑鼠,然後就沒有下文了。解決法:其實他們終止的原因很簡單,就是嫌麻煩,那好吧,告訴你,這點麻煩都能對你造成影響,其實你的開發之路也可以終止了。任何東西,你要學到它,你就必須花時間、花精力、還要有面對困難的准備。想一步登天,有可能,除非你是天才,但畢竟天才太少了!對於開發,不是學習1+1,所以,先擺正心態吧,那要具備怎樣的心態呢?那就是:有面對困難的准備,也有解決苦難的信心。心態問題解決了,那就是讀代碼的技巧了,很多人拿到一個項目不知道怎麼入手,乾脆就胡亂的一通看,看到一定時候發現,實在進行不下去了,又開始重新梳理自己的思路。這樣是很浪費時間的,其實對於讀一個項目,最好按照以下步驟進行(個人意見,僅供參考):1、使用這個應用或者游戲,直到熟悉它的使用流程和功能2、根據自己的體驗分析代碼實現(整體)3、如果有條件和原作者請教項目思路4、從最先啟動的Activity開始,弄懂每個Activity功能如何實現以及它的布局實現5、遇到不懂的代碼,首先找搜索引擎(一般都能解決)。還不行就可以請教他人了6、對新學到的知識點,一定要總結下來,並且定期的去回顧7、最重要的一點:我認為要自己動手寫,那怕是重新寫一遍這個項目,或者自己設計一個類似的,再或者只寫這個項目中的一部分。為什麼要自己動手呢?大家都知道coder這個東西,那怕你理論學得再好,不動手,那也是毫無意義的!所以,動手寫一下,你會遇到問題,你就會解決問題,這樣,你才能學到。這就是經驗·······
⑹ 物聯網技術好還是android開發好
肯定是安卓開發好一點,工資高一些,技術含量大。
學習java,安卓還是不錯的選擇,移動時代還是非常火的,可以網上找老羅的視頻資料看,
講得比較全面,也很好,網路就能找到。
⑺ 車聯網是基於安卓的開發么有安卓app開發經驗,做車聯網開發還需要什麼
車聯網指的是車與車之間的互聯互通,與是否安卓開發沒有關系。
它也不只是一個app,開發它需要兩台車載設備都有支持收發v2x協議消息的通信模塊。上層應用從該模塊收到它車的信息後和本車信息進行運算,得出目前是處於碰撞還是超車等等場景的預警。
請採納,謝謝。
⑻ 物聯網軟體開發需要學習什麼
物聯網工程師需要學習一下幾個方面:
1 、物聯網產業與技術導論:全面了解物聯網之 RFID 、 M2M 、感測網、兩化融合等技術與應用。
2 、 C 語言程序設計:物聯網涉及底層編程, C 語言為必修課,同時需要了解 OSGi , OPC , Silverlight 等技術標准。
3 、單片機原理及應用:物聯網的底層單片機及其相關應用技術,包括控制、多媒體等。
4 、 Java 程序設計:物聯網應用層,伺服器端集成技術,開放Java培訓技術也是必修課,同時需要了解 Eclipse,SWT,Flash,HTML5 等技術使用。
5 、物聯網工程概論:全面了解物聯網基本知識、技術體系以及相關理論,對物聯網的關鍵技術,如 EPC 和 RFID 技術、感測器技術、無線感測器網路技術、 M2M 技術等。同時應對與物聯網密切相關的雲計算、智能技術、安全技術也進行論述。
6 、無線感測網路概論:學習各種無線 RF 通訊技術與標准, Zigbee, 藍牙, WiFi , GPRS,CDMA , 3G,4G,5G 等等。
7 、 TCP/IP 網路與協議: TCP/IP 以及 OSI 網路分層協議標準是所有有線和無線網路協議的基礎, Socket 編程技術也是基礎技能。
8 、嵌入式系統技術:嵌入式系統是物聯網感知層和通訊層重要技術。
9 、感測器技術概論:物聯網專業學生需要對感測器技術與發展,尤其是在應用中如何選用有所了解,但不一定需要了解感測器的設計與生產,對相關的材料科學,生物技術等有深入了解。
10 、 RFID 技術概論: RFID 作為物聯網主要技術之一,需要了解。
11 、工業信息化及現場匯流排技術:工業信息化也是物聯網主要應用領域,需要了解。
物聯網軟體、標准、與中間件技術:物聯網產業發展的關鍵在於應用,軟體是靈魂,中間件是產業化的基石,需要學習和了解 。
⑼ 為什麼說Android系統不適合物聯網應用
好難說物聯網概念太廣了包括各種同類型終端能手機手持設備嵌入式設備等等還包括心伺服器要看學哪方向了般地終端應用程序根據終端同學安卓、IOS、嵌入式Linux或WINCE等應用開發而心應用軟體開發更廣了各種同語言Linux和Windows平台都有能