一.继承UiApp class
class MyApp: public Tizen::App::UiApp, public Tizen::System::IScreenEventListener
二.创建application entry point
int OspMain(int argc, char* pArgv[]) { r= Tizen::App::UiApp::Execute(MyApp::CreateInstance, pArgs); }
// Declare the method static Tizen::App::UiApp*MyApp::CreateInstance(void); // Define the method UiApp* MyApp::CreateInstance(void) { //Create the instance through the constructor return new MyApp; }
三.管理UI application life-cycle
1. Overview
2. Application State Transition
1) Initializing
使用Tizen::App::AppRegistry初始化application data;
OnAppInitializing();
OnAppInitialized() – AddFrame();
2) Running
可以在前后台切换
3) Terminnating
移除所有的资源并使用Tizen::App:AppRegistry保存配置信息;
4) Terminated
此外:
1) 可以通过Tizen::App::IappFrame类的方法GetAppFrame()来获取当前的applicationframe,或者如果有多个frame,可以使用GetFrameList()来获取当前的frame列表。
2) 可以通过实现Tizen::App::IappCheckpointEventListener接口的OnAppCheckpointing()方法,在application突然中止时将application state 和上下文保存到application registry或者device storage。
3. Window State Transition
1) application有一个activation state 和一个show state。
2) 一个application可以完全显示,可以部分被遮挡,或者完全看不见。使用Tizen::App::UiApp的接口GetAppUiState()来获取application的状态。
3) 如果一个pop-up 消息显示了,那么一个application就是被部分遮挡,这时不会接收到来自手机的输入信息。
4) 当windowsstate在shown 和 hidden state切换时会调用OnWindowStateChanged()