Symbian/S60

| 本頁或本節是一個未完成的草稿或提綱。 您可以幫助開發工作,或者您可以在專案室尋求幫助。 |
諾基亞的 S60,以前稱為 Series 60,是一個基於 Symbian OS 的移動平臺。S60 包含各種功能的手機。大多數這些手機是由諾基亞製造的,但 S60 也授權給一些其他手機制造商,如松下和三星。有關 S60 的一般資訊,請參見維基百科上的文章.
該平臺包含各種庫和預裝應用程式。平臺是開放的(但不是開源的),因此第三方可以為其開發應用程式。諾基亞為 S60 提供軟體開發工具包,可以在諾基亞論壇找到 SDK 列表。特別是如果您計劃使用更新的 SDK,您將需要Carbide.vs.
S60 資源定義有時可能很繁瑣,因為完全缺乏適當的文件。尋找有關資源定義資訊的最佳位置是示例,位於 SDK 的 Series60Ex 目錄中,但它們也不盡完美。
- CAknMessageQueryDialog
某些 SDK 版本的示例中完全缺少一個控制元件,即 CAknMessageQueryDialog,它實際上非常有用,一旦您知道如何使用,就非常容易使用。以下是定義此控制元件的工作資源的方法
RESOURCE DIALOG r_messagequery_dlg
{
flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
items=
{
DLG_LINE
{
type = EAknCtPopupHeadingPane;
id = EAknMessageQueryHeaderId;
control = AVKON_HEADING
{
label = "The Heading";
};
},
DLG_LINE
{
type = EAknCtMessageQuery;
id = EAknMessageQueryContentId;
control = AVKON_MESSAGE_QUERY
{
message = "The Actual Text";
};
}
};
}
請注意,標題和訊息文字都可以從程式碼中動態設定。但是,以下程式碼使用資源中給定的值
CAknMessageQueryDialog* dlg = new (ELeave) CAknMessageQueryDialog; dlg->ExecuteLD( R_MESSAGEQUERY_DLG );
至少在兩部手機上,對舊版 RCameraServ 的支援已被刪除。如果您將您的應用程式連結到 cameraserver.lib,它將不會在 3230 或 6260 上啟動。相反,您應該使用新的 CCamera 類。
- 透明度
在使用 6.1 之前的 SDK 時(注意:不確定 9.1 是否仍然存在此問題),將 PNG 的 alpha 通道(蒙版)載入到顏色深度為 EGray16 的 CFbsBitmap 中不起作用。您必須使用顏色深度為 EGray256 的蒙版,否則 MiuoConvertComplete 將始終返回錯誤。轉換完成後,您可以轉換回 EGray16。
- DataAddress()
在新的 9.1 SDK 上,如果未在之前呼叫 LockHeap(),則呼叫 CFbsBitmap::DataAddress() 會導致崩潰(記住在完成操作後呼叫 UnlockHeap())。