bada-开发入门之HelloWorld(下)

接上篇,看看HelloWorld的启动过程。

展开项目视图:

bada-开发入门之HelloWorld(下)_第1张图片


展开/inc,/src目录,我们看到对应的.h,.cpp文件,还有个很特别的HelloWorldEntry.cpp,

bada-开发入门之HelloWorld(下)_第2张图片

我们可以猜到这个就是HelloeWorld程序的入口了,
进去瞧瞧:

bada-开发入门之HelloWorld(下)_第3张图片

果然有个int OspMain(int argc, char *pArgv[])的方法,
找到这句:
r = Osp::App::Application::Execute(HelloWorld::CreateInstance, pArgs);
Excute前一个参数传的是ApplicationInstanceFactory对象,由HelloWorld类产生。
我们再打开HelloWorld的cpp文件
HelloWorld::CreateInstance(void)
{
// Create the instance through the constructor.
return new HelloWorld();
}
HelloWorld继承Osp::App::Application这个类,所以Main方法中Execute实例化这个对象。
我们打开HelloWorld.h文件:

bada-开发入门之HelloWorld(下)_第4张图片

会看到一系列的生命周期函数,可以类比android的Activity类。
实例化HelloWorld对象会首先调用其HelloWorld::OnAppInitializing(AppRegistry& appRegistry)方法。
我们可以使用AppLog("HelloWorld init.")进行日志输出;
其它函数:
OnAppTerminating:应用程序终止的时候调用。
OnForeground    :应用程序前台显示的时候调用。
OnBackground    :应用程序转入后台的时候调用。
OnLowMemory     :内存不足的时候调用,如释放资源或者关闭应用程序。
OnBatteryLevelChanged:电量不足调用,如关闭多媒体(拍照,播放音频,视频等)。
OnScreenOn      :屏幕关闭调用,可恢复应用程序的数据。
OnScreenOff     : 屏幕关闭调用,可保存应用程序的数据。

在OnAppInitializing方法中,我们可以看到:

bada-开发入门之HelloWorld(下)_第5张图片



在OnAppInitializing方法中,我们可以看到:
我们看到的界面就是Form1这个类的实例,
Form1继承Form类,打开Form1.cpp,我们在OnInitializing方法中看到我们期待的Button了,

bada-开发入门之HelloWorld(下)_第6张图片
实例化Button,添加响应事件__pButtonOk->AddActionEventListener(*this);

bada-开发入门之HelloWorld(下)_第7张图片


日志输出:

bada-开发入门之HelloWorld(下)_第8张图片


结束HelloWolrd。

你可能感兴趣的:(helloworld)