主要开发工具是Visual Studio 2012
(注意metro应用的开发工具为
Visual Studio 2012,系统环境为Windows 8)。
大家一起来看下我的解决方案管理器,
App_Code 文件夹是我存放用来序列化从爱帮api提供的公车查询类,
其中one文件夹是里面的类是用类序列化公交乘驾查询 也就是页面MainPage.xaml调用
two文件夹是用来序列化公交线路查询的 也就是App_Page2.xaml调用
three文件夹用类序列化公交站点查询 也就是App_Page3.xaml
CityInfo.cs类用来提供省份和城市查询的数据
Key.cs类用类提供爱帮api的密钥
XmlSerialize.cs类用来进行序列化和方序列化类
附上序列化类的代码,方便大家在这里看序列化方式:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace SitTogetherToPlay.App_Code
{
public class XmlSerialize
{
/// <summary>
/// 反序列化XML为类实例
/// Root root = XmlSerialize.DeserializeXML<Root>(sy);
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="xmlObj"></param>
/// <returns></returns>
public static T DeserializeXML<T>(string xmlObj)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (StringReader reader = new StringReader(xmlObj))
{
return (T)serializer.Deserialize(reader);
}
}
/// <summary>
/// 返序列代码
/// Root sroot = XmlSerialize.XMLToObject<Root>(sy, Encoding.GetEncoding("UTF-8"));
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="source">字符集</param>
/// <param name="encoding">编码方式</param>
/// <returns></returns>
public static T XMLToObject<T>(String source, Encoding encoding)
{
XmlSerializer mySerializer = new XmlSerializer(typeof(T));
using (MemoryStream stream = new MemoryStream(encoding.GetBytes(source)))
{
return (T)mySerializer.Deserialize(stream);
}
}
/// <summary>
/// 序列化类实例为XML
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <returns></returns>
public static string SerializeXML<T>(T obj)
{
using (StringWriter writer = new StringWriter())
{
new XmlSerializer(obj.GetType()).Serialize((TextWriter)writer, obj);
return writer.ToString();
}
}
}
}
公交站点查询界面
可以通过选择省份然后在选择相应的市来进行查询,输入站点名称就可以进行查询了
公交线路查询
可以通过选择省份然后在选择相应的市来进行查询,输入站点线路好进行查询
公交驾乘查询
可以通过选择省份然后在选择相应的市来进行查询,输入开始地和结束地就可以查询出你要到达的地方