我正在尝试为同一个应用程序开发ASP.NET Web应用程序和Android UI。 我是android的新手。我开发了一个带有文本框和按钮的简单屏幕。 输入内容并单击按钮,将文本保存在数据库中。
现在我正在转向复杂的功能。我需要实施一份登记表。我会在手机屏幕上放置更多文本框。所以我打算将它们传递给对象中的Web服务。
我在C#中创建了一个网络服务,方法注册将对象客户作为参数。客户类有几个字段,如姓名,电子邮件,电话等。
请指导/建议一个示例,以实现将对象从orroind传递到C#webservice并访问返回的对象值的功能。
我正在使用KSoap2 for Android webservices。 感谢
答案 0 :(得分:1)
您可以通过不同方式实施服务。一些例子是:
您可以使用JSON将数据从客户端(Android应用程序)发送到您的服务。在这个服务中你应该实现一些东西来将这个JSON表示法转换回.net对象。你可以使用JSON.net。有关这方面的更多信息,请访问:
http://james.newtonking.com/projects/json-net.aspx
你应该牢记这一点:
以下是Android的一些示例:
http://sarangasl.blogspot.nl/2011/10/android-web-service-access-tutorial.html http://www.youtube.com/watch?v=v9EowBVgwSo
希望这可以帮助你。
答案 1 :(得分:0)
也许一个具体的例子也很有用。假设您可以调用AndroidHttpClient来执行HttpPost,您可以利用一个简单的asp.net mvc控制器操作来处理帖子(作为xml)并相应地返回xml(或其他)以供您解析。
对于你的asp.net mvc动作,尝试这样的事情(路由到http://foo.com/Something/ProcessSomething):
...
[ ValidateInput(false)
]
public class SomethingController : Controller
{
...
[ HttpPost
]
public ActionResult ProcessSomething(SomeParameters Parameters, String Options)
{
...
String sProcessed = Parameters.Descriptor.ParamA + Parameters.Descriptor.ParamB;
...
return this.Content
( String.Format
( "<result><processed>{0}</processed></result>"
, sProcessed
)
, "text/xml"
);
}
/// <summary>
/// Description of a view model instance.
/// </summary>
[ XmlRoot("something")
]
public class SomethingDescriptor
{
private String _ParamA = String.Empty;
private String _ParamB = String.Empty;
[ XmlElement("paramA")
]
public String ParamA
{
set
{
this._ParamA = value;
}
get
{
return this._ParamA;
}
}
[ XmlElement("paramB")
]
public String ParamB
{
set
{
this._ParamB = value;
}
get
{
return this._ParamB;
}
}
}
/// <summary>
/// View parameter deserializer.
/// </summary>
public class SomethingParameters
{
private SomethingDescriptor _Descriptor = new SomethingDescriptor();
public SomethingDescriptor Descriptor
{
get
{
return this._Descriptor;
}
}
public String Something
{
set
{
try
{
using (StringReader sR = new StringReader(value))
{
XmlSerializer xS = new XmlSerializer(typeof(SomethingDescriptor));
this._Descriptor = xS.Deserialize(sR) as SomethingDescriptor;
}
}
catch
{
}
}
get
{
return String.Empty;
}
}
}
}
您的Android应用会发布一个变量,例如“Something =&lt; something&gt;&lt; paramA&gt;这是pA&lt; / paramA&gt;&lt; paramB&gt;这是paramB&lt; / paramB&gt;&lt; / something&gt;”到http://foo.com/Something/ProcessSomething并获取可用于向用户呈现内容的xml。