-6

我有一个 C# (.net 3.5) 桌面应用程序,它在屏幕上打印出一些数字。现在我想将其扩展到移动设备。(在我的情况下是 Android 设备。)它必须显示与计算机屏幕上相同的数字。整个事情只是一个概念证明,它不需要看起来很好,它不需要 100% 工作,有一个漂亮的 GUI 或简单的设置,它只需要显示一些数字。

我一直在研究 MonoDroid,因为它有可能使用 WCF 服务。(我知道移动设备和台式电脑将连接到同一个网络。)不幸的是,MonoDroid 的试用版不支持真实设备,我不想花几百块钱来证明一点。

我有 Java 的基本知识,并且我认为我能够使用 Android SDK 快速开发一个示例应用程序,以从网络上的网页获取数据、解释它(XML、JSON 等)并将其显示在屏幕上.

所以我的问题变成了:是否有可能从现有应用程序中创建某种 Web 服务(无需设置整个 IIS 服务器),其中包含一个带有一些 XML 数据的网页,我可以在给定的时间间隔刷新这些数据并且是从同一网络上的计算机访问?我该怎么做,使用哪种技术?

还是有其他方法可以实现这样的目标?

4

3 回答 3

6

我使用 C# HttpListener 如下...

private void CreateListener
{
    HttpListener listener = null;
    HttpListenerContext context = null;
    HttpListenerRequest request = null;
    HttpListenerResponse response = null;
    string PortNumber = "9876";
    string requestUrl;
    Boolean listen = false;

    try
    {
        if (listener == null)
        {
            listener = new HttpListener();
            listener.Prefixes.Add("http://*:" + PortNumber + "/");
            listener.Start();
            listen = true;
            while (listen)
            {
                try
                {
                    context = listener.GetContext();
                }
                catch (Exception e)
                {
                    listen = false;
                }
                if (listen)
                {
                    request = context.Request;
                    requestUrl = request.Url.ToString();

                    // Process request and/or request Url
                }
            }
        }
    }
}

基本上listener.GetContext();阻塞,直到收到 HTTP 请求。然后,您可以使用它request = context.Request来检索 HTTP 请求数据并对其进行处理。然后,您可以使用context.Response来返回响应。

实施和适应相当简单。

于 2011-04-16T16:45:00.627 回答
1

您可以在桌面上自行托管 WCF 服务服务(即,将其托管在您的应用程序中,而不是通过 IIS)。这相对容易做到。

http://msdn.microsoft.com/en-us/library/ms731758.aspx

只需设置您的 WCF 服务以返回 XML、JSON,无论您想要什么;然后从“机器人设备”中击中它。

于 2011-04-16T15:50:59.850 回答
1

您可以构建一个使用 Web 技术的 android 应用程序:HTML、CSS、Javascript - 本质上它就像显示一个网页,但您用一个应用程序封装它。然后,您可以在网络上从您的 PC 向其提供数据的想法运行,但不需要真正使用 Android SDK 和 Java。

O'Reilly 有一本关于这个主题的好书: Building Android Apps with HTML, CSS, and JavaScript。看起来它甚至可以在线免费访问。

于 2011-04-16T15:57:37.153 回答