AppInventor:不需要编写一行代码开发Android程序

简介: 本文截取自《Android开发权威指南》  转发微博有机会赢得《Android开发权威指南》       从AppInventor本身的名字来看,可将其拆成两个单词:App和Inventor。

本文截取自《Android开发权威指南》  转发微博有机会赢得《Android开发权威指南》


      从AppInventor本身的名字来看,可将其拆成两个单词:App和Inventor。App表示应用程序,而Inventor是发明家。Inventor这个单词充满了艺术气息。那么将这两个单词连接来,就是发明程序(要注意,不是编写程序,而是发明程序),而且要用艺术的方法。下面先来看一看用AppInventor发明出的程序是个什么样。图1是一个用AppInventor发明的程序。功能很简单,随机产生一个1至100的整数,如果随机数的值大于50,则将按钮的背景色设为绿色,否则将按钮的背景色设为红色。

     很多读者一开始看到这个程序,肯定以为是拼图。但这的的确确是一段程序,只是看上去有些像艺术品。看到这,肯定很多读者和我一样按耐不住了,想快点了解如何使用AppInventor来发明Android程序。OK,在接下来的部分将为读者逐一揭开心中的迷团。

图1   用AppInventor发明的程序

         AppIntentor分为两部分:界面设计和代码编写(也可称为代码拼图)。其中界面设计部分是基于Web的应用程序。如果只是设计界面,并不需要安装任何的软件或SDK,只需要在浏览器中访问如下的URL即可。

http://appinventor.googlelabs.com

      使用AppIntentor之前需要有一个Google GMail帐号(没有GMail帐号的读者赶紧到http://mail.google.com去注册一个吧)。使用GMail登录后,直接访问上面的地址就可以进入如图2所示的AppInventor主界面。



  图2   AppInventor的主界面

         单击“New”按钮可以新建一个Android工程。在本例中已经建立了一个DrawRandomCircle工程。单击“DrawRandomCircle”链接进入工程主界面,如图2.35所示。在这个界面中已经包含了设计好的DrawRandomCircle程序,在下一节将会详细介绍如何使用AppInventor设计Android应用程序的界面。


 图3   AppInventor的设计界面

         AppInventor除了设计界面的工具外,还有一个C/S结构的编码工具(更准确地说是拼装代码工具)。这个编码工具需要从如下URL下载一个安装程序。其中包含了Android模拟器以及相应的命令行工具、开发包等。

http://appinventor.googlelabs.com/learn/setup/index.html

        在安装完该程序后,单击图2.35所示界面右侧的“Openthe Blocks Editor”按钮,会首先要求下载或打开一个JNLP文件,这是Java的部署文件。直接选择打该该文件即可。打开该文件后需要等待一段时间,然后会出现一个如图4所示的界面。


  图4    AppInventor拼装代码的地方


图4所示界面左侧的列表是各种Android控件,中间空白的区域是拼装代码的区域。在下面我们将看到如何拼装代码。

用拖拽控件的方式设计界面

     现在重新回到图3所示的设计界面。首先需要在界面上垂直方向放置两个按钮。并且在按钮下方放一个Canvas。这两个控件在界面左侧的“Basic”页中前两个位置,如图5所示。

图5  Button和Canvas控件的位置

      实际上,在完成上述的设计后,就可以进入下一节进行拼装代码了。但为了和2.2节实现的例子的效果完全一样,还需要设置Button和Canvas的相应属性。我们可以在右侧的“Properties”区域设置相应的属性,要设置属性的控件有4个:Screen1、Button1、Button2和Canvas1,属性值如下:

  • Screen1.BackgroundColor:Black
  • Screen1.Title:First Android Application
  • Button1.Text:Draw Random Circle
  • Button1.Width:Fill Parent
  • Button2.Text:Clear
  • Button2.Width:Fill Parent
  • Canvas1.BackgroundColor:Black
  • Canvas1.Width:Fill Parent
  • Canvas1.Height:350 pixels

 像拼图一样拼装代码

     首先我们打开图4所示界面左侧的某个标签,会看到如图6所示的拼图元素。这些元素都是公用元素,也就是所有的Android应用程序都可以使用的元素。再单击“My Blocks”标签,以及Button1,会看到如图7所示的拼图元素,这些拼图元素就是和在图3所示界面中绘制的控件相关的事件和动作。

                              图6     公用的拼图元素

                                 图7   与拖拽控件相关的拼图元素

          下面来看看如何使用这些拼图元素来拼装代码。首先我们来观察一下每一个拼图元素的形状,我们先来看看Button1的Click事件的拼图元素(图7所示拼图元素的第一个),如图8所示。这个拼图元素有一个半封闭的凹巢,内侧左上角有一个突起。再看一下Canvas1的DrawCircle拼图元素(在图7所示界面Canvas1标签中),如图9所示。DrawCircle拼图元素上方有一个凹陷的槽,下方有一个突起,在右侧有三个凹陷的槽。最后看看产生随机整数的拼图元素(在图6所示界面Math标签中),如图10所示。这个拼图元素自动生成了3个更小的拼图元素,其中有两个表示整数的拼图元素。从这3个拼图元素的位置来看,突起的部分正好嵌入到了凹槽中。从这一点可以推断突起是需要嵌入到凹槽中的,也就是说,代码片段需要通过突起和凹槽进行连接,从而形成一个完整的应用程序。以此类推,DrawCircle拼图元素上方的凹槽是可以和Click事件拼图元素内部的突起连在一起的,这样当单击Button1后,就会执行DrawCircle动作。


图8   Click事件拼图元素 


图9    DrawCircle拼图元素


图10  产生随机数的拼图元素

      按着这种方式,我们就可以开始拼装绘制随机实心圆程序了。下面先看看这个程序需要哪些拼图元素,除了图8、图9和图2.42所示的3个拼图元素外,还需要如下几个拼图元素。

  • Canvas1.PaintColor(在Canvas1标签中)
  • Choose(在Control标签中)
  • >(在Math标签中)
  • Number(在Math标签中)
  • Blue(在Color标签中)
  • Red(在Color标签中)
  • Green(在Color标签中)
  • Button2.Click(在Button2标签中)
  • Canvas1.Clear(在Canvas1标签中)
  • >(在Math标签中)
  • Number(在Math标签中)
  • Blue(在Color标签中)
  • Red(在Color标签中)
  • Green(在Color标签中)
  • Button2.Click(在Button2标签中)
  • Canvas1.Clear(在Canvas1标签中)

      这些拼图元素的形状如图11所示。


 图11   本例用到的拼图元素

         现在我们就可以利用图8至图10所示的12个拼图元素来拼装本例的代码了,拼装的过程在本节就不详细介绍了,在这里只给出拼装后的结果,如图12所示。感兴趣的读者可以利用上述12个拼图元素按着图12所示进行拼装。



 图12   拼装后的代码片段

           在拼装完代码后,单击图4所示界面右上角的“Connectto Device”按钮。如果这时已经启动了Android模拟器,那刚才拼装的程序会直接在模拟器上运行(如果通过USB连接了手机,并处于调试状态,也可以直接在手机上运行)。如果还没有启动模拟器,在打开图4所示的界面时会自动启动Android模拟器。在AppInventor自带的模拟器中运行的效果如图13所示。



图13    在AppInventor自带的模拟器中运行程序的效果


用程序实现的同样的程序: http://www.blogjava.net/nokiaguy/archive/2011/09/06/358115.html
目录
相关文章
|
16天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
40 19
|
16天前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
41 14
|
17天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
在数字时代,掌握安卓应用开发技能是进入IT行业的关键。本文将引导读者从零基础开始,逐步深入安卓开发的世界,通过实际案例和代码示例,展示如何构建自己的第一个安卓应用。我们将探讨基本概念、开发工具设置、用户界面设计、数据处理以及发布应用的全过程。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在安卓开发的道路上迈出坚实的步伐。
30 5
|
16天前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
|
17天前
|
XML 搜索推荐 前端开发
安卓开发中的自定义视图:打造个性化UI组件
在安卓应用开发中,自定义视图是一种强大的工具,它允许开发者创造独一无二的用户界面元素,从而提升应用的外观和用户体验。本文将通过一个简单的自定义视图示例,引导你了解如何在安卓项目中实现自定义组件,并探讨其背后的技术原理。我们将从基础的View类讲起,逐步深入到绘图、事件处理以及性能优化等方面。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
17天前
|
搜索推荐 前端开发 测试技术
打造个性化安卓应用:从设计到开发的全面指南
在这个数字时代,拥有一个定制的移动应用不仅是一种趋势,更是个人或企业品牌的重要延伸。本文将引导你通过一系列简单易懂的步骤,从构思你的应用理念开始,直至实现一个功能齐全的安卓应用。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你提供必要的工具和知识,帮助你将创意转化为现实。
|
17天前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
24 0
|
29天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
1月前
|
缓存 前端开发 Android开发
安卓开发中的自定义视图:从零到英雄
【10月更文挑战第42天】 在安卓的世界里,自定义视图是一块画布,让开发者能够绘制出独一无二的界面体验。本文将带你走进自定义视图的大门,通过深入浅出的方式,让你从零基础到能够独立设计并实现复杂的自定义组件。我们将探索自定义视图的核心概念、实现步骤,以及如何优化你的视图以提高性能和兼容性。准备好了吗?让我们开始这段创造性的旅程吧!
26 1
|
1月前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。