[Bada开发]HelloWorld篇
首先,要下载bada的SDK和IDE的压缩包,然后安装,我的IDE和SDK的版本都是1.0.0a3的,安装前先装SDK,然后安装IDE,一路Next就Ok。SDK和IDE的下载地址,下载过程可能要麻烦些,因为要注册,注册以后还要成为三星的合作伙伴,个人的话下载起来确实比较麻烦,注册是必须的,因为如果你要开发自己的Application的话,你必须注册,然后下载一个配置文件,这个配置文件会在你新建工程的时候会用到,没有这个配置文件,我们就无法新建工程并开发自己的App,稍后会讲到。
当然大部分的内容,我们可以参考其自带的帮助文件,可以从bada-IDE的菜单栏中打开,如下:
图:帮助文件
基本开发过程中如果要查资料就可以从这里查看。要试着自己建立自己的HelloWorld,可以参考里面的Developer Guide的HelloWorld篇,但是要注意,里面讲的内容如果你直接照搬不误的话,很可能就是错误的,根本运行不出结果,会有错误,下面会有讲到。
SDK和IDE安装好以后,下面开始bada的HelloWorld篇。
先看bada App的开发流程:
图:bada app的开发流程
这里面包含很重要的信息(比如开发自己的App前下载自己的配置文件,即manifest.xml)己要看明白,我就不赘述。
首先开始菜单→bada IDE→badaIDE,第一次打开会显示welcom界面,如下:
图:welcom界面
显然又是基于Eclipse的IDE。这里可以点击Developer Guide查看入门。
关闭这个页面。
点击File->new->bada Application project新建一个工程:
图:新建程序
我将工程名字命名为HelloApp,自选。
工程类型这里我们选择第二个,即bada Application(Hello World),为什么不选第一个?刚刚说过了,如果你要开发自己的Application,你必须到官网注册,下载自己的App的配置文件,而这里的bada Application(Hello World)类型带有一个默认的,演示版的配置文件,不用去官网下载,所以我们选择第二个,点击next,选择SDK的位置,如果安装了多个SDK,可以在这里选择不同版本,点击next,这一部就是选择配置文件的界面了:
图:选择配置文件
继续一路next或者直接finish。
完成以后可以看到界面中工程的结构:
图:工程文件和资源视图
建好以后,不能直接运行,要先Build 工程,让我非常纳闷的是这时候如果你点击运行,他不会自动的Build工程,右击工程,选择Build,ok
建好以后,我们就可以直接点击运行按钮运行,
图:Run As
选择第一项,点击ok运行
之后模拟器运行,bada的模拟器初始化非常快,比Windows Mobile, Symbian, Android快多了。
之后看到模拟器
图:模拟器
让人郁闷的界面,之后会看到HelloWorld的运行,如上图2所示。
接下来我们用资源文件为其添加一个Form的窗体,并添加几个控件,大体体验下bada App的开发体验。
首先我们看一下其UI的基本内容,层次结构:
图:UI的基本内容和层次结构
如图所示,一个App只有一个Frame,但是一个Frame之上有可以多个form,From上又有控件,在程序中我们可以设置当前的form。form左下方和右下方有两个soft key,可是设置显示图片或者文字。
当我们双击工程文件的事后,在Project视图的下方就会显示对应的resource视图。在这里,我们可以添加一个
首先点击Resource视图中的From,点击Insert Resource,
然后的编辑器视图就会显示Form的编辑网格。同时Resource视图现实Form的Id,在编辑网格中双击,下方区域就是现实Form的属性。界面如图
图:视图界面
然后我们可以试着在其中拖入几个控件,不是拖入,是点击相应的右侧控件,然后将鼠标移动到编辑区,点击一下,在窗体中添加控件。如图,添加几个控件:
图:添加控件
这时候,如果直接运行,肯定是看不到Form窗体的
我们还要为我们的工程添加Frame,然后frame之上添加From。
首先,我们打开inc文件夹下的HelloApp.h
然后,为类添加private变量:
- class HelloApp :
- public Application
- {
- private:
- Frame * helloFrame;
- Form * topForm;
- …
- }
然后打开src文件夹下的HelloApp.cpp
在OnAppInitializing() 函数中,添加如下代码:
- bool
- HelloApp::OnAppInitializing(AppRegistry& appRegistry)
- {
- helloFrame = new Frame();
- topForm = new Form();
- helloFrame->Construct();
- topForm->Construct( “IDF_FORM1″ );
- helloFrame->AddControl( *topForm );
- helloFrame->SetCurrentForm( *topForm );
- return true;
- }
然后在OnForeground() 函数中,注释或者删除掉原先所有的代码,添加如下代码:
- helloFrame->Draw();
- helloFrame->Show();
在OnAppTerminating()函数中,添加如下代码:
- if( topForm )
- delete topForm;
- if( helloFrame )
- delete topForm;
保存。
注意这时候直接运行工程,可能看不到你想要的From,原因是Form资源文件并没有保存,当你看到资源视图中Form前面有*号的时候,表示资源文件并没有保存,而且他不会自动保存(常识,带*号的选项卡一般都表示没有保存)。
这时,你要右击form选择,Save All Resources
然后Build工程,并运行。
看到如图所示。要退出模拟器,右击模拟器,选择close.
到此为止,我们的程序是全屏的,而且没有title和soft key,没有显示待机界面的indicator(三星称上方的menu bar为indicator,我们也这么称呼)。
下面我们就显示着三个东东。
首先打开Form,在Form上双击(不是在控件),打开Form的属性。
找到title属性,输入hello App
回车后看到界面的form如下:
然后添加Soft Key
找到属性里面的soft key 0 Text, soft key 1 Text以及Icon Path,这里我们在Soft Key 0 text 里输入Back,Soft Key Normal icon Path里添加一张图片。
更新后显示如下:
然后添加系统标题栏:
找到属性下style下的indicator,设为true
最后保存我们的资源文件,Build工程,运行工程。