2012-02-07 99 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#类