• 女性之声——全国妇联 2019-05-13
  • 互助献血成有偿兼职 揭秘新型“血头”的“生财术” 2019-05-13
  • 全国妇联运用网络新媒体线上线下促女性“双创”能力提升  2019-05-11
  • [大笑]此文逻辑通透无懈可击!小萌们别费劲了,咬不动滴! 2019-05-09
  • 廉洁勤政,不应只是挂在口头上;一味贪图享乐,对不起纳税民众. 2019-05-09
  • 【理上网来·喜迎十九大】以党的制度建设推进管党治党 2019-05-06
  • 点击天山网 掌握全新疆 2019-05-06
  • 在战火中诞生的党中央机关报(连载十) 2019-05-05
  • 歼20领衔 三款国产最先进战机训练让人眼花缭乱 2019-05-05
  • 2017中国(北京)跨国技术转移大会 2019-04-24
  • 关于举办“跨界视野下的理想城市”学术研讨会的通知 2019-04-24
  • 《中国教育报》电子版 2019-04-21
  • 全国青少年儿童“小金鱼”漫画大展6月10日启动 2019-04-15
  • 香港多地举办龙舟赛共庆端午节 2019-04-06
  • “中国网事·感动2018”活动说明 2019-04-03
  • 河南今天11选5走势图 > 技术文章 > Symbian > symbian 入门系列 -- document对象分析

    河南彩票22选五走势图:symbian 入门系列 -- document对象分析

    河南今天11选5走势图 2005年6月3日 cysnew            评论:1条 查看 我来说两句
    Document分析

    河南今天11选5走势图 www.9e4g.com   【继承关系】

       --------------------------
          CAknDocument -> CEikDocument -> CApaDocument
       --------------------------

      【主要作用】

        1) 是app的data model。
        2) 在基于文件的app中,document提供了对于文件的访问(store/restore)
        3) 负责创建AppUI,从而可以提供修改document的基础,CreateAppUiL()负责创建
           application的appUI对象。

        实际上,document起到了一个中间层(intermediate layer)的作用。负责在appui和

      app model(engine)以及 file之间建立联系。

          
               『AppUI』
         ----------------------- 『Document』
                    |
              『model』 <-> 『file』

       【Document的管理】

         1) OpenFileL() 

            这个函数的功能和app的资源文件中的TBUF段(segment)密切相关。

           RESOURCE TBUF r_default_document_name
           { 
             buf=""; 
           }

            这个segment决定了application关联的文件名。这里的文件名连同路径就作为参数传递给了

       OpenFileL() 函数。这就使得application在启动的时候能够调用缺省的file,如果这个segment是

       空的,那么缺省的document的名字和application的basename相同。这里需要注意的是series60只

       允许存在一个缺省的file。

            这个函数的返回值是CFileStore*,这是返回给application framework的指针,以方便

       application framework把它传递给其他函数。

           【注】

     注意OpenFileL() 需要三个参数,其中文件名(TDesC& aFilename)和file server session

            参数(RFs& aFs) 应当是由application framework自动创建的。但是另外一个参数怎么确定的呢?

         2) NewDocumentL()

           这个函数是由application framework来调用,用于初始化一个default document file。

          【注?】

           这个函数是不是在资源文件没有文件名的情况下调用的?如果是这样,那么这个函数应当在OpenFileL() 

       之前被调用?

          【解释】

           我在Document函数里面重载了函数NewDocumentL()和OpenFileL(),并分别加上了断点跟踪调试。发现:

       (#) 如果在资源文件中没有文件名的话,那么这两个函数都不执行。

       (#) 如果在资源文件存在文件名的话,那么首先执行的是OpenFileL()函数,但是这个时候的aOpen参数值是0,表明

       文件不存在或者文件没有打开。那么接下来调用NewDocumentL(),这个函数负责创建一个新的document file。

       接下来会调用document类的StoreL()函数。
        
       (#) 在晚上上述的步骤之后,再重新运行这个app,那么启动的时候会调用OpenFileL()函数,这个时候aOpen参数值是1,

       表明文件存在,那么接下来就调用ReStoreL()函数对文件进行读写。

         【对相关file的管理】

           document类提供了两个函数对文件的mode访问和修改。AppFileMode()和SetAppFileMode()。


         【对相关file的访问存取】

           document类提供了如下函数对file进行访问:
           SaveL();StoreL();RestoreL();ExternalizeL();PrintL();

           其中SaveL()会在app退出的时候被调用,用于保存app相关的数据到file中去。

           SaveL() --> StoreL();

           而RestoreL()是在app启动的时候调用的,负责把文件的信息保存在document相关的model(engine)中去。

     【具体的UI/engine的结构以后在仔细的研究一下:-)】
    (www.9e4g.com)

    读取...
    相关报道
    评 论
    1楼 52RD网友 109.230.*.* 发表于 2011-11-24 11:42 回复
    Now I'm like, well duh! Truly thanfukl for your help.
    共有评论1篇 查看所有评论
    文章导航 Navigation
    精彩评论 Commentmore...
    赞助商链接 Support
    特别推荐 Recommend
  • 女性之声——全国妇联 2019-05-13
  • 互助献血成有偿兼职 揭秘新型“血头”的“生财术” 2019-05-13
  • 全国妇联运用网络新媒体线上线下促女性“双创”能力提升  2019-05-11
  • [大笑]此文逻辑通透无懈可击!小萌们别费劲了,咬不动滴! 2019-05-09
  • 廉洁勤政,不应只是挂在口头上;一味贪图享乐,对不起纳税民众. 2019-05-09
  • 【理上网来·喜迎十九大】以党的制度建设推进管党治党 2019-05-06
  • 点击天山网 掌握全新疆 2019-05-06
  • 在战火中诞生的党中央机关报(连载十) 2019-05-05
  • 歼20领衔 三款国产最先进战机训练让人眼花缭乱 2019-05-05
  • 2017中国(北京)跨国技术转移大会 2019-04-24
  • 关于举办“跨界视野下的理想城市”学术研讨会的通知 2019-04-24
  • 《中国教育报》电子版 2019-04-21
  • 全国青少年儿童“小金鱼”漫画大展6月10日启动 2019-04-15
  • 香港多地举办龙舟赛共庆端午节 2019-04-06
  • “中国网事·感动2018”活动说明 2019-04-03