2008年5月28日星期三

Windows Mobile 开发常见问题集(五)



Windows Mobile 开发常见问题集(五)
http://www.csai.cn 作者:不详 来源:aspxboy 2006年6月8日 发表评论 进入社区

1、Q:如果创建一个XML节点<a>1<b>2</b></a>,怎样创建a节点的第一个子节点?也就是那个没有LocalName但是有InnerText的节点?

  A:  XmlDo***ent doc = new XmlDo***ent();

    XmlElement a = doc.CreateElement("a");

    a.InnerText = "1";

    XmlElement b = doc.CreateElement("b");

    b.InnerText= "2";

    a.AppendChild(b);

    doc.AppendChild(a);

  或者:

    XmlDo***ent doc = new XmlDo***ent();

    XmlElement a = doc.CreateElement("a");

    XmlText aText = doc.CreateTextNode("1");

    XmlElement b = doc.CreateElement("b");

    XmlText bText = doc.CreateTextNode("2");

    b.AppendChild(bText);

    a.AppendChild(aText);

    a.AppendChild(b);

    doc.AppendChild(a);

2、Q:System.Environment起什么作用?

  A:System.Environment类提供有关当前环境和平台的信息以及操作它们的方法。

3、Q:100多k的数据载入都要30几秒,这个速度是否太慢了?有没有什么办法使时间提高到10秒以内?

  A:数据量大的情况下,建议使用XmlTextReader来读取而不要使用XMLDo***ent和DataSet来处理。

4、Q:能具体讲讲tick吗?

  A:Ticks的值为自0001年1月1日午夜12:00以来所经过时间,以100毫微秒为间隔表示时的数字。 

5、Q:可以使用哪些库来处理XML?保存XML的常用方法有哪些?

  A:1)在.NET Compact Framework中,我们主要使用XmlDocoment对象或者是XmlTextReader以及XmlTextWriter对象来处理XML数据。2)使用XmlDo***ent的Save方法或者XmlTextWriter可以很方便地将XML数据保存成文件。

6、Q:有没有一个标准来区分是使用XmlReader好还是XmlDo***ent好?

  A:XmlDo***ent类因为采用的是W3C的DOM模型所以在遇到大型XML数据的时候性能偏低,但是XmlDou***net类支持修改和删除;而XmlReader虽然性能较好但是是只读的。 

7、Q:Xml序列化后的数据,PDA能读取吗?有能读取条码的PDA吗?

  A:XML序列化之后的数据就是XML文本,可以用PDA读取。市面上有可以读取条形码的PDA,具体型号可以自行搜索。

8、Q:请问有没有使用XML和SQL Mobile的性能对比方面的数据?

  A:没有。 

9、Q:Windows Mobile 5.0中Pocket IE支持AJAX吗?或者.NET Compact Framework 2.0有些什么样的支持吗?

  A:AJAX其实是一组技术的一个集合,主要是DHTMLJavascript、XML等等,Pocket IE支持其中的很多特性,具体请参见http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceinternet5/html/wce50oripocketinternetexplorer.asp至于.NET Compact Framework 2.0(包括.NET Freamework 2.0)中,并没有对AJAX做什么样特殊的支持。

10、Q:请问XML跟HTML最大的区别是什么?它的优越性主要在哪里?

  A:XML注重对数据内容的描述,HTML注重数据表现的描述。优势在于XML可以将数据内容和显示分离。 

11、Q:Mobile 5.0是否支持.NET Remoting?

  A:很遗憾,在.NET Compact Framework 2.0中尚不支持Remoting。

12、Q:既然XML的效率不高,能处理的数据量不大,在哪些实用场合中使用XML更合适?

  A:在处理小数据量的数据,以及一些非结构化的不适于数据库存储的数据的时候用XML比较方便。

13、Q:在Mobile开发的时候,考虑到程序的运行性能,怎样处理好使用技术和硬件约束的矛盾呢?有没有一个量化的标准?

  A:没有量化的指标,实践是检验的指标。

14、Q:Window PC上的程序移植到CE上时,XML文件读写什么要注意的地方?

  A:.NET Compact Framework上的XML处理方式比完整版的.NET Framework要少很多可用的类和方法,需要加以修改。同时,在Mobile设备上,性能的优化很重要。 

15、Q:如果要在.NET Compact Framework 1.0上写XML反序列化为对象的方法时,该怎样进行类型转换呢?

  A:在.NET Compact Framework 1.0中不支持XML序列化,所以反序列化XML数据到对象的工作相对比较麻烦,可以自行定义一套XML数据的Schema来规范XML数据中的结构,然后再来解析它生成对象。

16、Q:既然不建议使用Web Service返回DataSet,那么使用什么方式将信息反馈回客户端好呢?能给一些建议吗?比如将一张表的信息通过Web Service反馈回客户端?

  A:建议通过纯粹的字符串数组等来传递数据,Mobile端接受到之后再将其转换为本地便于处理的对象。

17、Q:调用窗体的this.Close()方法是否将该对象在内存中销毁?

  A:是的。

18、Q:使用什么方法能在打开SIP键盘输入框时,不会挡住该范围内的控件?

  A:应该尽可能不在屏幕下方80个像素之内的区域中放置输入控件,如果一定要放置,可以在激活SIP时调整控件位置或者使用滚动条来让控件不被遮挡。 

19、Q:设置用户界面在Pocket与Smartphone有什么需要注意和区别的地方吗?可具体讲解一下InputPanel控件吗?

  A:最大的区别是Pocket PC和Smartphone可以使用的控件不同,例如最常用的Button控件在Smartphone中不能使用,还有一点就是Smartphone不支 持手写。InputPanel控件的功能是控制Pocket PC上的软输入面板(SIP),其用法十分简单,属性和事件非常少,可自行查找MSDN上面的文档。

20、Q:请问,如何在Visual Studio 2005中制作手机安装程序?

  A:在Visual Studio 2005创建Smart Device CAB Project类型的项目即可。 

21、Q:.NET 2.0中的开发的控件可以在.NET 1.0中使用吗?

  A:不可以。

22、Q:string d1 = DateTime.Now.ToString("yyyymmddhhmmssfff"); DateTime.P***(d1);为什么遮掩做会出现错误?

  A:DateTime.P***只能针对当前区域性初始化的DateTimeFormatInfo中的格式信息来分析字符串,不可能识别自定义的日期格式字符串。

没有评论: