时间:2010-07-28 14:56作者:刘皓

首先,要下载bada的SDK和IDE的压缩包,然后安装,我的IDE和SDK的版本都是1.0.0a3的,安装前先装SDK,然后安装IDE,一路Next就Ok。至于SDK和IDE的下载,地址:http://developer.bada.com,下载过程可能要麻烦些,因为要注册,注册以后还要成为三星的合作伙伴,个人的话下载起来确实比较麻烦,注册是必须的,因为如果你要开发自己的Application的话,你必须注册,然后下载一个配置文件,这个配置文件会在你新建工程的时候会用到,没有这个配置文件,我们就无法新建工程并开发自己的App,稍后会讲到。

当然大部分的内容,我们可以参考其自带的帮助文件,可以从bada-IDE的菜单栏中打开,如下

基本开发过程中如果要查资料就可以从这里查看。要试着自己建立自己的HelloWorld,可以参考里面的Developer Guide的HelloWorld篇,但是要注意,里面讲的内容如果你直接照搬不误的话,很可能就是错误的,根本运行不出结果,会有错误,下面会有讲到。

SDK和IDE安装好以后,下面开始bada的HelloWorld篇。

先看bada app的开发流程:

这里面包含很重要的信息(比如开发自己的app前下载自己的配置文件,即manifest.xml)己要看明白,我就不赘述。

首先开始菜单→bada IDE→badaIDE,第一次打开会显示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

建好以后,我们就可以直接点击运行按钮运行,

选择第一项,点击ok运行

之后模拟器运行,bada的模拟器初始化非常快,比Windows Mobile, Symbian, Android快多了。

之后看到模拟器

 

让人郁闷的界面,之后会看到HelloWorld的运行,如上图2所示。

接下来我们用资源文件为其添加一个Form的窗体,并添加几个控件,大体体验下bada app的开发体验。

首先我们看一下其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工程,运行工程。

ok,本节到此结束

后续会学习添加时间,处理点击,按钮,拖拽等事件

No related posts.

以上关联文章由 Yet Another Related Posts Plugin 提供支持。

bada学习之HelloWorld篇相关推荐

  1. idea java jni 调试_IntelliJ IDEA平台下JNI编程(一)—HelloWorld篇

    JNI(Java Native Interface),出于学习JNI的目的,为了能够更方便快速地运行程序.本文的是在IDEA中进行,而不在AndroidStudio,这样能够对NDK的工作过程有个更深 ...

  2. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  3. Vue学习笔记进阶篇——Render函数

    本文为转载,原文:Vue学习笔记进阶篇--Render函数 基础 Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编 ...

  4. C# 学习笔记入门篇(上)

    文章目录 C# 学习笔记入门篇 〇.写在前面 Hello World! 这篇学习笔记适合什么人 这篇学习笔记到底想记什么 附加说明 一.命名空间 "进入"命名空间 嵌套的命名空间. ...

  5. 深度学习——数据预处理篇

    深度学习--数据预处理篇 文章目录 深度学习--数据预处理篇 一.前言 二.常用的数据预处理方法 零均值化(中心化) 数据归一化(normalization) 主成分分析(PCA.Principal ...

  6. [BTS]BizTalk学习之Functoid篇(ID Cross-References)

    早在三周前,就已经收集了所有有关Cross-Reference Functoid的资源,虽然现在看来,它并不是很难,但想真正的应用它,还是需要花费一些心思的研究一下,不过,托了三周时间,还是写完了. ...

  7. redis 3.0 cluster 集群 学习之路篇 [3]

    周氏一族,整理技术文档,给下一代留点教程...... redis 3.0 cluster 安装篇,请看 http://zhoushouby.blog.51cto.com/9150272/1560400 ...

  8. Bada学习-Privileged API

    Privileged API bada 的开放API有三个级别. 有些API叫做Privileged API,用于处理平台和用户敏感数据.要使用特权API,你必须在你的(C++/FLASH应用或者WE ...

  9. ASP.NET MVC学习之路由篇(2)

    ASP.NET MVC学习之路由篇(2) 原文:ASP.NET MVC学习之路由篇(2) 继ASP.NET MVC学习之路由篇(1)后继续学习. 7.解决与物理路径的冲突 当发送一个请求至ASP.NE ...

  10. python学习历程-安装篇(一)

    python学习历程-安装篇 之前工作中数据量很少,每天也就是用excel发一下报表,函数已经足够应付工作内容,但心里一直渴望学习更深层次一点的数据分析(崇拜那些技术大神),网上看了很多有关数据分析挖 ...

最新文章

  1. AngularJs 1.5 $location获取url参数
  2. Pixhawk-姿态解算-互补滤波
  3. (二)html5中的属性
  4. apache下IE6对js的bug处理
  5. 基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则
  6. 腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践
  7. 3-点的坐标及最远距离问题
  8. 2021年中国债务承销服务市场趋势报告、技术动态创新及2027年市场预测
  9. linux curl post/put请求
  10. java中实现多线程的两种基本方法
  11. CSDN新版下载频道介绍之二——上传和下载资源页面介绍
  12. ReportMachine终于有更新了。
  13. 网线插座板上网络模块接线
  14. 属性编辑器PropertyEditor
  15. 如何绘制论文中的图表
  16. 操作系统的功能和意义
  17. C语言中的puts()、putchar()、printf()
  18. RocEDU.阅读.写作《苏菲的世界》书摘(四)
  19. bzoj 4755: [Jsoi2016]扭动的回文串 manachar+hash+二分
  20. php5.3升级到php5.6

热门文章

  1. Python 阿拉伯数字转换成英文
  2. PM42L-048 步进电机
  3. JAVAWEB NOTE 3
  4. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 3
  5. 本体技术视点 | 为什么 BIP - 340 选择引入 Schnorr 签名算法?
  6. 2020年11月程序员工资统计,平均14327元
  7. 中职计算机教学工作随笔,教师随笔日记(精选6篇)
  8. 安全管家安卓_手机管家和顽固木马专杀哪个更好用
  9. 【破解三网】iphone5 国行 A1429
  10. PL/SQL Developer 9.0.1.1613+注册机