一个App完成入门篇(一)-从Hello world开始
程序员学习新技术都是通过Hello World开始的,我们也不例外。第一课我们简单了解利用do平台开发App的基本流程,能了解到的知识点是:
- 开发环境搭建
- 创建开发者账号
- 新建项目
- 拖拽一个组件
- 修改js代码
- 手机查看效果
1. 开发环境搭建
do平台的开发的基本开发工作都是围绕DeviceOne提供的IDE(DevinceOne Stduio),我们通常简称为设计器。
设计器是基于Eclipse核心的RCP,熟悉Eclipse的的开发人员应该很熟悉基本的操作。设计器是跨平台的,可以在Windows,Mac下运行。以后可以支持更多,比如Linux。基本的运行条件是需要Java Development Kit(JDK7)及以上版本。
下载页面是这里

| 支持操作系统 | 设计器下载 | JDK版本 | 大小 | |
|---|---|---|---|---|
| Windows 32位 | 32位Windows版本 | 32位JDK7及以上版本For Windows | 140M左右 | |
| Windows 64位 | 64位Windows版本 | 64位JDK7及以上版本For Windows | 147M左右 | |
| MAC 64位 | MAC版本设计器 | 64位JDK7及以上版本For Mac | 144M左右 |
注:设计器运行碰到启动的问题基本上和Java环境相关,可以参考设计器运行常用问题说明
2. 创建开发者账号
do平台提供的开发者服务有一些服务项目需要在线,创建一个开发者账号是必须要的。注册没什么特殊,简单略过。申请地址是这里
3. 新建项目
下载设计器后,启动的界面类似常规的Eclipse界面,do平台基本的开发工作都是围绕着设计器,基本上所有的工作步骤都在设计器上操作:
首先需要新建一个项目,点击File-New-DeviceOne Project或者直接在Script Explorer窗口的右键New-DeviceOne Project:
新建项目需要联网,输入用户密码验证码后登陆。但是创建完之后是支持离线开发和调试的。
4. 拖拽一个组件
新建完成后,会自动生成一些文件。
双击打开index.ui,我们可以看到一个可视化的设计区域和右边的UI备选区,我们从右边找到do_Label拖拽到设计区
接着选中这个组件,然后在Properties窗口把它的bgColor改成00FF00FF(前6位表示颜色,后2位表示透明值),我们可以马上看到Label的背景变成了绿色效果
5. 修改js代码
我们再来双击打开index.ui.js,我们可以看到JavaScript的编辑器,修改一行代码,把Hello World改成Hello DeviceOne。在js文件里可以修改应用运行的逻辑。表示点击这个按钮,alert出一个信息

6. 手机查看效果
我们最后来手机上看看运行的效果。
首先我们需要安装一个调试用的App,打开这里扫描里面二维码安装一个doDebugger的App,Android,iOS手机都可以,windows和winphone版本不支持二维码扫描安装,这一课暂时不提。安装完如下图。这里提一下,这个调试App是可以定制的,这里暂时不详细解释。

然后我们回到设计器中的Service右键点击Create按钮,如果弹出一个选择窗口,请选择刚创建好的test项目。创建后,记录下显示的ip地址和port号。请确保state是Running


继续我们回到手机,打开doDebugger这个app,在服务地址处输入刚才我们记录下的地址和端口。请确保手机和电脑在同一网段。然后点击更新,把代码从电脑上同步到手机上。如果更新提示失败,请参考这里.

最后我们点击进入,就可以看到我们在设计器上设计的效果,点击按钮,会弹出Hello DeviceOne
这一课我们就到这里,是不是觉得很简单了。就这样,我们在设计器上可以继续修改代码,修改UI,然后再次点击更新按钮和进入按钮就可以实时的看到开发的效果。一直到这个App完成所有你需要达到的功能。
一个App完成入门篇(一)-从Hello world开始的更多相关文章
- 一个App完成入门篇(七)- 完成发现页面
第七章是入门篇的倒数第二篇文章了,明天整个APP将进入收官. 本节教程主要要教会大家使用二维码扫描和用do_WebView组件加在html页面. 导入项目 do_WebView组件 扫描功能 自定义事 ...
- 一个App完成入门篇-终结篇(八)- 应用收官
经过以上几步的学习,我们终于来到最后一个步骤了,应用APP也接近尾声. 通过之前的几节教程,不知道您对使用DeviceOne开发一个应用是不是已经得心应手了,本节教程将教会大家如何在开发完成之后通过D ...
- 一个App完成入门篇(六)- 完成通讯录页面
第五章和第六章间隔时间有点长,对不起大家了.下面继续. 本节教程将要教会大家如何加载本地通讯录. 导入项目 导入通讯录 自定义js模块 发送和订阅page消息 将要学习的demo效果图如下所示 1. ...
- 一个App完成入门篇(五)- 完成新闻页面
本节教程将介绍如何用DeviceOne简单而高效的完成一个新闻页面. 导入项目 数据模板分离MVVM模型 自定义事件 展示新闻 九宫格展示 将要学习的demo效果图如下所示 1. 导入完整项目 本节示 ...
- 一个App完成入门篇(三)-完善主框架
本节教程将继续带领大家完善教学demo 导入项目 完善主框架 完成viewShower子视图 打开新页 启动动画 将要学习的demo效果图如下所示 1. 如何导入完整项目 本节示例demo请参考下载地 ...
- 一个App完成入门篇(二)-搭建主框架
通过第一课的学习,你已经掌握了如何通过debug调试器来跟PC上的设计器联调来实时查看UI设计效果.调试代码了,接下来通过一系列的demo开发教学你将很快上手学习到如何开发一个真正的App. 要开发A ...
- 一个App完成入门篇(四)- 完成反馈页面
上一节中我们学会了如何通过点击不同按钮切换页面,这节专注于完成反馈页面的功能以及细节动画. 导入项目 添加新组件 同步新组件 完成页面布局 输入时加动画效果 弹出日期选择 直接引用UI页面 将要学习的 ...
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
随机推荐
- ue4 FPaths各目录
GetWrappedLaunchDir() 启动时的工作目录,因为马上要把工作目录改为下面所说的exe所在目录,所以会先把当前的缓存起来 FPlatformProcess::BaseDir() 这个是 ...
- Android Webview 调用JS跳转到指定activity
JAVA: WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(save ...
- mysql将一张表中多条记录按联系整合成一条
现有表如下:id time is_login 3 2012-07-03 11:20:20 13 2012-07-03 11:25:20 04 2012-07-03 12:30:20 14 2012-0 ...
- [08]APUE:进程控制
[a] getpid / getppid / getuid / geteuid / getgid / getegid #include <unistd.h> pid_t getpid(vo ...
- android应用中增加权限判断
android6.0系统允许用户管理应用权限,可以关闭/打开权限. 所以需要在APP中增加权限判断,以免用户关闭相应权限后,APP运行异常. 以MMS为例,在系统设置——应用——MMS——权限——&g ...
- easyui datagird 列宽自适应
代码如下: onLoadSuccess: function (data) { var rows = data.rows; //得到行数据 var columnMaxCharacter = new Ar ...
- javascript除法如何取整
Math.round(x) 四舍五入,如Math.round(0.60),结果为1:Math.round(0.49),结果为0: Math.floor(x) 向下舍入,如Math.floor(0.60 ...
- View优化
前面写了个View画圆弧,为了让他和底层图片效果融合,采用先把圆弧画到和图片一样大小的画布上,然后用canvas的变换位图方法映射过去. bitmapWithReflection = Bitmap.c ...
- 如何在SCENEKIT使用SWIFT RUNTIME动态加载COLLADA文件
问题:今天接到一个项目,负责弄需求的美眉跟我讲能不能做一个原型能够加载Collada文件,流程如下: 用户用app下载Collada 压缩包(如内购项目) 压缩包解压 展示Collada文件里的内容 ...
- Linux中仅主机模式下设ip
昨天在项目中接触到了Hadoop,需要用到linux来操作,以前有过接触,大致都忘了,在装备虚拟机的时候,遇到的IP ping不通的问题,模式是仅主机模式,今天分享一下,以便自己以后再遇到,也可以迎 ...