<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團(tuán)論壇 http://www.bjzhda.cn

    曙海教育集團(tuán)論壇
    共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
    [瀏覽完整版]

    標(biāo)題:Symbian 平臺(tái)技術(shù)開發(fā)技巧匯總

    1樓
    wangxinxin 發(fā)表于:2010-12-3 13:55:44
    問題一、如何枚舉出正在運(yùn)行的App

      結(jié)合RApaLsSession和TApaTaskList應(yīng)該可以做到.

      RApaLsSession:

      GetAppIcon()

      GetAppInfo()

      TApaTaskList:

      FindApp()

      問題二、從收件箱讀取彩信圖片

      mmslist實(shí)現(xiàn)了首先以listbox列表的形式列出了收件箱中的所有彩信,選擇某一條彩信后可以顯示出它的發(fā)送端號(hào)碼和彩信的文本信息;現(xiàn)在我想讓它顯示發(fā)送端號(hào)碼和彩信圖片(假設(shè)我的彩信都是圖片格式);請(qǐng)教兩位應(yīng)該怎么才能實(shí)現(xiàn)讀彩信圖片并顯示的功能。

      下面是讀彩信文本信息的代碼,你們參考一下:

      void CMmslController::GetMessageL( const TDesC& aItem,

      TDes& aMessageText ) const

      {

      //Read the message Uid from aItem

      TUint32 id = 0;

      TLex lexer( aItem );

      lexer.SkipSpace();

      TChar ch( lexer.Get() );

      while ( ( ch != ‘\t’ ) && ( ch != 0 ) ) // Finding end of 1.st line

      {

      ch = lexer.Get();

      }

      lexer.SkipSpace();

      lexer.Val( id, EHex );

      if( iCurEntries->Find( id ) == KErrNotFound )

      {

      return;

      }

      CMsvEntry* msvEntry = iSession->GetEntryL( id );

      CleanupStack::PushL( msvEntry );

      const TMsvEntry& msgEntry = msvEntry->Entry();

      CBaseMtm* clientMtm = iMtmReg->NewMtmL( msgEntry.iMtm );

      CleanupStack::PushL( clientMtm );

      clientMtm->SwitchCurrentEntryL( msvEntry->EntryId() );

      // An instance of the TDesOverflow derived class used to suppress

      // the panic that would be generated if buffer length was exceeded

      // in calls to AppendFormat

      TOverrideOverFlow noOflo;

      // Text is located in iDescription field.

      aMessageText.AppendFormat( msgEntry.iDescription, &noOflo );

      //aMessageText.AppendFormat( msgEntry.iDetails );

      CleanupStack::PopAndDestroy( 2 ); // clientMtm, msvEntry

      }

      問題三、如何讓程序在安裝后自動(dòng)運(yùn)行

      如何讓一個(gè)程序(或是一個(gè)server)在安裝后自動(dòng)運(yùn)行于手機(jī)中,這是非常容易的,只需在你的PKG文件中,在包含你的app或exe文件的那行末尾加上“FR,RI”。

      “FR”表示“File Run”,而“RI”則表示“Run during Installation”。請(qǐng)注意,務(wù)必要先開始rsc,aif,mbm文件的安裝,然后才能是APP等(也就是在pkg文件的末尾進(jìn)行app的安裝)

      舉例:

      “\Symbian.1\Series60\Epoc32\release\thumb\urel\MyApp.rsc” -

      “!:\system\apps\MyApp\MyApp.rsc”

      “\Symbian.1\Series60\Epoc32\release\thumb\urel\MyApp_caption.rsc” -

      “!:\system\apps\MyApp\MyApp_caption.rsc”

      “\Symbian.1\Series60\Epoc32\release\thumb\urel\MyApp.aif” -

      “!:\system\apps\MyApp\MyApp.aif”

      “\Symbian.1\Series60\Epoc32\release\thumb\urel\MyApp.app” -

      “!:\system\apps\MyApp\MyApp.app”,FR,RI

      問題四、全面了解文件類型和從屬關(guān)系

      下圖顯示了在一個(gè)典型的Symbian程序中各文件的從屬關(guān)系。

      

      .hrh文件中包含所有要在.rss、.h和.cpp中使用的枚舉類型。它們主要使用在應(yīng)用程序的菜單、工具欄等地方,下面展示了一個(gè)典型的例子:

      //MyApp.hrh

      //

      enum{

      EMyAppCmdOpenFile = 0×6000,

      EMyAppCmdEdit,

      };

      按照慣例這些命令I(lǐng)D值的范圍應(yīng)該從0×6000開始向上。

      .rss文件中是資源文件,這些文件包括所有靜態(tài)字符串、按鈕、菜單和列表等的定義,都使用在應(yīng)用程序UI中。此外,Nokia Series 60向?qū)н可能生成一個(gè).loc文件,這個(gè)文件同.rss文件很相似但只用于描述你程序中的靜態(tài)字符串,利用它你可以很容易的將程序變成多語(yǔ)言版本。

      .rsg是生成的資源文件。它們是在編譯時(shí)刻由資源編譯器產(chǎn)生的,.cpp文件將包含它們以便處理資源。

      .mbm是symbian位圖文件,它里面可以存儲(chǔ)幾個(gè)位圖。

      .mbg是在創(chuàng)建.mbm時(shí)生成的。這些文件一般包含在那些使用位圖的RSS文件中,一個(gè)mbg文件包括在.mbm中各位圖的ID。

      問題五、如何在網(wǎng)絡(luò)通訊中正確顯示中文

      1。經(jīng)過對(duì)照GB2312/GBK編碼表,在程序中定義_LIT8(KTest, “中文測(cè)試”);是GB2312/GBK編碼

      2。直接從輸入框取出的字符串,經(jīng)過按照byte分析并比較中文和unicode對(duì)照表,發(fā)現(xiàn)是UTF-16LE(Sixteen-bit UCS Transformation Format, little-endian byte order)編碼

      3,中文對(duì)服務(wù)器的傳輸建議統(tǒng)一處理成UTF8編碼進(jìn)行,從對(duì)話框獲得的也一樣處理,服務(wù)器需要對(duì)應(yīng)識(shí)別過來的字符串并做處理。

      問題六、如何動(dòng)態(tài)更改CEikLabel 的text

      CEikLabel* iLabelStatus;

      …..

      iLabelStatus = new (ELeave) CEikLabel;

      iLabelStatus->SetContainerWindowL( *this );

      iLabelStatus->SetTextL( this->iStatusStr );

      ….

      //動(dòng)態(tài)在這里更改

      iLabelStatus->SetTextL(iStatusStr);

      iLabelStatus->DrawNow();

      如果初始化時(shí)就無法顯示,請(qǐng)對(duì)照helloworld代碼檢查自己label是否設(shè)置正確;如果是進(jìn)度進(jìn)行中無法顯示,請(qǐng)檢查CActive是否正確執(zhí)行,單步DrawNow是否被正確調(diào)用。

      問題七、在listbox中怎么處理所選項(xiàng)的事件

      觸發(fā)事件并不是很復(fù)雜的事情,

      TKeyResponse CXXContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)

      {

      TInt code = aKeyEvent.iCode;

      switch(code)

      {

      // is navigator button pressed導(dǎo)航按鈕被按下時(shí)

      case EKeyOK:

      {

      // pass the key press event to view,

      // then view will pass it to ui class’s handler

      iXXView->ProcessListEvent(iListBox->CurrentItemIndex()) ;

      }

      return (EKeyWasConsumed);

      case EKeyLeftArrow :

      case EKeyRightArrow :

      return (EKeyWasConsumed);

      default:

      // Let Listbox take care of its key handling

      return iListBox->OfferKeyEventL(aKeyEvent, aType) ;

      }

      }

      這個(gè)iXXView的ProcessListEvent()函數(shù)就是傳入當(dāng)前用戶選擇的那個(gè)list item的index。

      問題八、pkg文件中指定多個(gè)操作系統(tǒng)版本

      pkg file定義了安裝文件(sis)的內(nèi)容,它包括應(yīng)用程序的UID,一個(gè)支持的語(yǔ)言列表,目標(biāo)產(chǎn)品的UID和打包在sis的一組文件:

      ; MyGame.pkg

      ; Specifies an installation file for MyGame ///////為MyGame文件制定一個(gè)安裝文件

      ;Languages

      &EN

      ;Header

      #,(0×1000ABCD),1,0,0

      ; Required line for Series 60 devices. Defines the target product

      ; UID.

      (0×101F6F88), 0, 0, 0,

      “\epoc32\release\thumb\urel\MyGame.app”-“!:\system\apps\MyGame\MyGame.app”

      “\epoc32\release\thumb\urel\MyGame.rsc”-“!:\system\apps\MyGame\MyGame.rsc”

      “\epoc32\release\thumb\urel\MyGame.mbm”-“!:\system\apps\MyGame\MyGame.mbm”

      “\epoc32\release\thumb\urel\MyGame.aif”-“!:\system\apps\MyGame\MyGame.aif”

      “..\MyGame\MyGameSample.wav”-“!:\system\apps\MyGame\MyGameSample.wav”

      Product UID定義了應(yīng)用程序的目標(biāo)環(huán)境,大部分的s60版本是向下兼容的。

      參見下表:

      Nokia 7650 0×101F6F87

      Nokia 3650 0×101F7962

      Nokia 9210/9290 0×10005E33

      Nokia N-gage 0×101F8A64

      Siemens SX1 0×101F9071

      Series 60 Platform v0.9 0×101F6F88

      Series 60 Platform v1.0 0×101F795F

      Series 60 Platform v1.1 0×101F8201

      Series 60 Platform v1.2 0×101F8202

      Series 60 Platform v2.0 0×101F7960

      如果程序需要依據(jù)各不同的平臺(tái)來進(jìn)行安裝,那就可以使用條件語(yǔ)句塊來處理,這時(shí)pkg里的語(yǔ)句如下:

      ;

      ; Files to install

      ;

      IF MachineUID=0×101fb3dd

      ; Nokia 6600 specific files

      “..\MyFiles\FileFor6600.dat”-“!:\system\apps\MyGame\MyData.dat”

      ELSEIF MachineUID=0×101f466a

      ; Nokia 3650 specific files

      “..\MyFiles\FileFor3650.dat”-“!:\system\apps\MyGame\MyData.dat”

      ELSE

      ; Files for other devices

      “..\MyFiles\FileForOthers.dat”-“!:\system\apps\MyGame\MyData.dat”

      ENDIF

      就可以生成一個(gè)支持多平臺(tái)的安裝文件,除了機(jī)器UID外,還有很多屬性,如內(nèi)存和CPU的標(biāo)識(shí):

      注意,機(jī)器UID和Product UID是不同的,見下:

      Nokia 7650 0×101F4FC3

      Nokia 3650 0×101F466A

      Nokia 6600 0×101FB3DD

      Nokia 9210/9290 0×10005E33

      Nokia N-Gage 0×101F8C19

      Win32 Emulator 0×10005F62

      可以使用如下的代碼來找出該設(shè)備的機(jī)器UID:

      #include //and link with hal.lib

      TInt machineUid = 0;

      HAL::Get(HALData::EmachineUid, machineUid);

      問題九、如何按字節(jié)讀取文件

      1.RFile::Read()

      TInt Read(TDes8& aDes,TInt aLength) const;

    共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

    Copyright © 2000 - 2009 曙海教育集團(tuán)
    Powered By 曙海教育集團(tuán) Version 2.2
    Processed in .04736 s, 2 queries.
    主站蜘蛛池模板: 国产亚洲蜜芽精品久久| 免费观看欧美一级牲片一| 国产免费观看视频| 国产欧美日韩另类一区乌克兰| a毛看片免费观看视频| 中文精品久久久久国产网址| 久久久久久久99精品免费观看| 中文字幕无码精品三级在线电影| a国产成人免费视频| 蜜桃成熟时3之蜜桃仙子电影| a色毛片免费视频| 黑人巨大sv张丽在线播放| 舔舔小核欲成欢| 欧美成人看片一区二区三区尤物| 日本阿v视频高清在线中文| 成年女人色毛片| 好男人在线社区www我在线观看| 在线观看中文字幕码| 国产无遮挡又黄又爽在线观看 | 国产成人无码精品一区在线观看| 和搜子居的日子2中文版| 国产成人麻豆亚洲综合无码精品| 四虎影视8848a四虎在线播放| 亚洲日韩精品一区二区三区| 久久国产劲暴∨内射新川| 中文字幕人成人乱码亚洲电影 | 亚洲国产欧美无圣光一区| 久久人人爽爽爽人久久久| h片在线播放免费高清| 里漫社扶她全彩口工漫画| 目中无人在线观看免费高清完整电影| 波多野结衣办公室| 日韩一区二区三区精品| 日本不卡免费新一二三区 | 成年网在线观看免费观看网址| 国产精品熟女一区二区| 国产亚洲欧美日韩v在线| 伊人色院成人蜜桃视频| 久久综合香蕉国产蜜臀AV| 一级特黄aaa大片免费看| 99久热只有精品视频免费看|