一个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出来 ...
随机推荐
- Android之GridView
<GridView android:id="@+id/gridView" android:layout_width="match_parent" andr ...
- Http协议与TCP协议简单理解(转)
在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解.TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上 ...
- uploadify 后台动态传参数
最近项目中用到上传控件,参数需要动态传参,经过查询总结了一下Uploadify 动态传参 jQuery(document).ready(function () { var ctrlid = getQu ...
- js动态时间
一.在<head></head> 之间写入下面js代码 <script type="text/javascript" language="J ...
- the fourth class
6 居右 label加宽度,text-align:right 7 list copy: list1.concat(list1) 8 灵活运用addHandle,addEventListener 给in ...
- eclipse生成uml
安装eclipse插件在help->Install new software里面add 有本地和网络两种 1.ModelGoon 该插件需要在file中new ModelGoon Diagram ...
- 【jquery】flexiGrid新增功能的方式
到目前为止,我用过的jquery表格插件只有jqGrid和flexiGrid.今天,只说后者. 关于参数配置,使用方法,博客园文章很多. 原生的flexiGrid架包不大,内容可以扩展,比如在每行数据 ...
- 14.Xcode8imageview图片圆角不显示的bug
第一种方法: 在imageView调用clipToBounds的之前,[super awakeFromNib]之后,加上[self.contentView layoutIfNeeded];就可以了,反 ...
- 三种Scriptlet总结
什么是Scriptlet? 在JSP中,Scriptlet称为脚本小程序,所欲嵌套在HTML代码中的Java程序都必须使用Scriptlet标记出来. 第一种:<% %> 在此Script ...
- 【线段树】bzoj1018 [SHOI2008]堵塞的交通traffic
线段树的每个叶子节点存一列. 每个节点维护六个域,分别是左上左下.左上右上.左上右下.左下右上.左下右下.右上右下在区间内部的连通性,不考虑绕出去的情况. 初始每个叶子的左上左下.右上右下是连通的. ...