2012-02-07 92 views
1

我想開發一個與C#交互的Android應用程序(只需來回發送字符串)。不過,我沒有聽過端口並從兩種語言中獲取數據的經驗。 PC和設備將位於同一網絡上。我需要什麼「基本代碼」才能在Android和C#之間發送字符串值?Android如何與C#代碼交互?

+1

是否需要PC來「推」到Android,或將Android輪詢PC定期對新的信息,或者是溝通總是請求/響應對,......? – mbeckish 2012-02-07 21:08:40

+0

您是否看到monoandroid? – 2012-02-07 21:16:35

+0

感謝您的及時迴應。我認爲最好能夠推動它,那麼它會比等待一段時間刷新更快。 – thewikus 2012-02-07 21:17:42

回答

0

我猜你想要兩者之間的異步,隨機通信。一個發送另一個數據,另一個發送某種響應?

你可能想要套接字。 http://www.edumobile.org/android/android-development/socket-programming/

這是C#的側頗爲相似。

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx

希望它可以幫助...

+0

謝謝西蒙,我期待着它,並會讓你知道它是否有幫助。 – thewikus 2012-02-07 21:31:06

+0

這是最好的答案,但我發現Android應用程序需要重定向端口才能工作,所以它目前不在我的手機上工作,只有模擬器 – thewikus 2012-02-18 18:47:59

0

如果是客戶端到服務器通信,我會建議在您的服務器上使用JSON或XML。在過去,我嘗試過使用KSOAP作爲客戶端的庫,但這是一個痛苦。我會讓服務器使用休息方法來打印JSON。 eg www.myamazingapp.com/givemethedatababy.asp

在android內部,您可以使用異步任務或意向服務向上述URL發出請求。如果您嘗試在UI線程上發出任何請求,Android將會崩潰,因此使用這些方法可以解決此問題。

一旦你的字符串進行解析到一個變量,我會用一個ArrayList,使其內存。

很抱歉,如果這是模糊的,但這種整體思維過程可能會有點難以在第一讓你的頭部周圍。

去檢查出vogella.de爲Android Web服務的東西,它會給你噸信息。

希望這會有所幫助。

+0

謝謝傑克,你是對的,這是一個難以理解的概念,但我正在研究它。 – thewikus 2012-02-07 21:32:59

+0

是的,你也會想看看java中的arraylist,如果你想從服務器中取回任何數據,你是否熟悉它們? – JakeWilson801 2012-02-07 21:38:11

+0

我對arraylist很熟悉,並且使用過它們很多,但我仍然無法弄清楚它們是如何工作的。我首先嚐試C#方面,因爲我有更多的體驗,或者我想。 – thewikus 2012-02-08 20:32:06

0

我建議你到一個web服務,比如我使用Android XML RPC,在我的Android服務器等待傳入的數據,你可以做通常是相同的與C#

你需要的僅僅是REDIR添加TCP通過或你的仿真器發送數據。參見[這裏}(http://developer.android.com/guide/developing/devices/emulator.html)在模擬器聯網節medtail

PS:XML RPC是容易impementable和IT方面很輕對於Android和C#類