基于Basic4android的Android应用开发指南——引言 .
1.1 Android介绍Android(读音:['ændrɔid])是一个以linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟持续开发与领导。Android 系统最初由安迪·鲁宾(Andy Rubin)开发制作,最初主要支持手机,于2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组成开放手
1.1 Android介绍
Android(读音:['ændrɔid])是一个以linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟持续开发与领导。
Android 系统最初由安迪·鲁宾(Andy Rubin)开发制作,最初主要支持手机,于2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统,随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。让生产商推出搭载Android的智慧型电话,Android操作系统后来更逐渐拓展到平板电脑及其他领域上。
Google透过官方网上商店平台Google Play,提供应用程序和游戏供用户下载,截止至2011年10月,Google Play商店拥有超过30万个官方认证应用程序,同时用户亦可以通过第三方网站来下载。
目前,Android操作系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智慧型手机操作系统。
1.2 用于Android平台的开发工具
对于Android应用程序的开发,官方推荐的是基于 Java 语言实现,开发工具是Android SDK+Eclipse+ADT插件。当然,这要求程序员熟悉Java语言。对于不熟悉Java语言的程序员要想进入Android开发领域,是不是必须先学Java呢?当然不是。目前已有多种非Java的Android应用开发工具面试,当然有一些还在beta阶段。这些工具所基于的语言包括free pascal、c#、c++、basic等。下面一一介绍。
1.2.1 Lazarus4android
Lazarus是一个基于Free Pascal的快速应用开发(RAD)集成开发环境(IDE),不仅可以编译运行简单的控制台程序,还有很强的窗体处理功能,界面清晰,操作简单方便。Lazarus的设计目标是应用Free Pascal,因此,凡是Free Pascal能运行的平台,Lazarus也可以运行。最新版本的Lazarus能运行于Linux,Win9x/2000/xp/win7和FreeBSD。目前,Lazarus已提供32位和64位版本支持。Lazarus的工作界面、外观和操作和Borland(目前的Embarcadero)的Delphi IDE非常相似,所不同的是Lazarus 是完全的自由软件。Lazarus 可以直接移植Delphi的代码。Lazarus的编程语言是以Free Pascal(Free Pascal是Linux、Win32、WinCE、Mac OS、OS/2、68K等操作系统下的一个基于GPL/LGPL的Pascal编译器)为基础,创建的应用程序只生成单个可执行文件(.EXE,但生成的可执行文件体积相对Delphi的来说有点大,只包含一个空窗体的工程生成的可执行文件就达到了10多M。这里,可以通过编译选项来减小可执行文件的大小,可以减为1M多点,然后通过UPX压缩,可以减为600多K。)。
为了让Lazarus这一优秀的开发工具能够开发Android应用程序,Lazarus团队对Lazarus进行了改造,使其能编译ARM平台的Android应用,即Lazarus4android。目前,这一工具还在开发阶段,可以参看以下网页的介绍:http://wiki.freepascal.org/Android_Programming/zh_CN。
1.2.2 Mono for Android
Mono for Android由Xamarin团队推出,其目标是使开发者可以使用C#和.NET来开发Android应用。
近日,该团队升级了它的Mono for Android SDK,添加了一个用于构建Android应用界面的、拖放式图形设计器,除了在Xamarin的MonoDevelop IDE中可以使用该设计器外,还可以将该设计器添加到微软的Visual Studio中。
通过新版Mono for Android,开发者能够控制和编辑原生Android部件,以及可视化设计器和标准Android XML布局文件中UI控件,如窗体部件、文本字段、布局、图像和媒体等。
该设计器遵循Visual Studio中的规定,并且支持API级别为4的Android系统(API向前兼容,即针对低级别API开发的应用可以运行在高级别API的系统中)。设计器支持的Android系统版本包括:Froyo(冻酸奶,Android 2.2)、Gingerbread(姜饼,Android 2.3)、Honeycomb(蜂巢,Android 3.x)和ICS(冰淇淋三明治,Android 4.0)。
该SDK中还包括用于在非微软平台上运行.Net应用程序的Mono运行时,还集成了Java库。另外,该SDK允许开发者在老款Android手机中使用最新的Android功能。
Mono for Android的网址是http://xamarin.com/monoforandroid。
1.2.3 Necessitas
Necessitas是一个用于Android平台的qt开发的实现。众所周知,Qt是诺基亚所有(最初由奇趣科技创建后由诺基亚收购)的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。qt目前已经支持windows、linux、mac os x等平台,并且在智能手机操作系统领域,支持Windows Mobile、Symbian、Meego平台。然而,目前android平台已经成为智能手机领域举足轻重的平台,而android目前只支持java开发,可惜的是,对C++开发的支持十分有限并残缺的。
java开发的应用程序,由于运行在虚拟机上,采用同样的算法,与原生的C++代码相比,存在着一定的性能损失。后来谷歌公司意识到这一点,允许使用C++语言开发类库并被java程序调用,但并不能创建完整的GUI程序。因此,便有了将qt与android相结合的Necessitas项目。
Necessitas的网址是http://sourceforge.net/p/necessitas/home/necessitas/。
1.2.4 Basic4android
Basic4android是一个简单然而功能非常强大的Android应用开发环境。
Basic4android语言类似于Visual Basic语言,支持更多的对象。
Basic4android将代码编译成Android原生(native)应用,无需其它运行环境的支持。
与其它的集成开发环境不同,Basic4android是完全用于Android应用开发的开发工具,不支持其它平台。
Basic4android包含一个强大的GUI设计器,内建对多屏和坐标的支持,不需要开发者再写XML。
开发者可以在Basic4android环境下利用Android模拟器或Android物理设备(利用USB连接或通过本地网络连接)进行程序开发和调试。
Basic4android带有丰富的库函数,支持所有的Android 核心特性,因而使其非常容易进行高级应用开发。这些库函数包括:SQL数据库、GPS、串口(蓝牙)、照相机、XML、JSON、Web服务(HTTP)、后台服务、动画、网络(TCP和UDP)、文本阅读(TTS)和声音识别、Web浏览、移动电话广告(AdMob)、图表、OpenGL、图像,等等。
Basic4android支持Android1.6及以上版本(包括平板电脑,如摩托罗拉的Xoom)。
Basic4android的网址是:
从下一章开始将开始我们的Basic4android开发之旅。
2.1 安装Android SDK和Basic4android
2.1.1 安装Android SDK
“工欲善其事,必先利其器”。要使用Basic4android开发Android应用,需要先安装它。本章详细介绍Basic4android的安装步骤。
安装Basic4android之前,需要先安装以下两个组件:
‒ Java JDK
‒ Android SDK
安装方法:
第一步,安装Java JDK[注1]。
在Java JDK下载页面下载Windows x86版本的JDK[注2](Java SE即可),然后安装到你喜欢的目录下,例如,我一般喜欢安装到D:\Java目录下。
第二步,安装Android SDK[注3]及相应的工具,见图2-1。
在这一步中应安装Android平台工具及至少一个版本的Android。可以使用API 8及以上版本,推荐使用API 8。
如果需要用USB直接连接到物理设备上,也可以安装Google USB设备驱动程序。
图 2-1
点击“Install Selected”按钮将安装所选择的组件。
2.1.2 安装和配置Basic4android
从http://www.basic4ppc.com/android/files/b4a-trial.exe下载Basic4android并安装,安装方法同一般的Windows程序。
打开Basic4android,执行“Tools”菜单下的“Configure Paths”命令,弹出路径配置对话框,如图2-2所示。
图 2-2
在此对话框中配置javac.exe和android.jar的安装路径,以及附加的Basic4android库。
【常见问题】
-在Windows XP系统下,Basic4android启动时出现“0xc0000135”错误,原因是Basic4android要求.Net Framework 2.0及以上版本的支持,因此,Windows XP用户在安装Basic4android之前,应先安装.Net Framework 2.0或以上版本。
2.2 安装Android模拟器
运行Basic4android,执行“Tools”菜单下的“Run AVD Manager”命令,稍等片刻,将出现SDK管理器窗口,如图2-3所示。
图 2-3
执行2-3窗口中“Tools”菜单下的“Manage AVDs...”命令,将出现AVD(Android virtual device)管理器窗口,如图2-4所示。
图 2-4
点击“New”按钮,出现创建新的AVD对话框。在该对话框中填写相应内容,如图2-5所示。
图 2-5
点击“Creat AVD”按钮,将会创建一个新的AVD,如图2-6所示。
图 2-6
点击图2-6中的“Start”按钮,经过几个窗口闪烁之后,将出现模拟器启动窗口,如图2-7所示。
图 2-7
等待几分钟,以便模拟器准备就绪。完全启动后的模拟器如图2-8所示。
图 2-8
锁屏情况下的模拟器如图2-9所示。
图 2-9
向右拽动“锁”,即可解锁屏幕。
【小提示】
1. 无需在每次发布程序时都重新启动模拟器,模拟器可以始终保持在运行状态。
2. 如果出现以下错误信息:
invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe.
Hint: use '@foo' to launch a virtual device named 'foo'.
你需要重新安装Android SDK。注意:路径中不能带有空格,如d:\android.
________________________________
注1:在同一台机器上可以安装多个不同版本的Java JDK。
注2:Android SDK不支持64位的JDK。
注3:注意:Android SDK安装路径中不能带有空格。
2.3 第一个程序
下面开始编写我们的第一个程序。正如许多关于程序设计方面的书籍所介绍的第一个程序几乎都是“Hello,world!”,我们这个程序将是点击一下按钮,屏幕显示“你好,Android !”。
Ø 运行Basic4android,保存工程,例如F:\Develop\Android\First\MyFirst.b4a。
Ø 执行“Tools”菜单下的“Run AVD Manager”命令,打开Android 虚拟设备管理器,如图2-10所示。
图 2-10
Ø 选择所创建的模拟器,然后点击“Start”按钮,启动模拟器,首次运行模拟器,将需要几分钟的等待时间。
Ø 执行“Designer”命令,运行设计器,如图2-11所示。
图 2-11
Ø 执行设计器中“Tools”菜单下的“Connect To device / Emulator”命令,将设计器连接到模拟器。当连接成功后,设计器的状态指示将变为“Connected”,模拟器外观变成图2-12所示样子。
图 2-12
下面让我们往图2-12所示模拟器上放置一个标签和一个按钮,方法如下:
执行设计器“Add View”菜单下的“Label”命令,向模拟器加一个标签,修改其属性如下:Name='LbHello',Text.Color=HotPink,其它属性采用默认值,如图2-13所示。
图 2-13
执行设计器“Add View”菜单下的“Button”命令,向模拟器加一个按钮,修改其属性如下:Name='BtnHello',Text='你好',textWidth=100,Height=40,其它属性默认。最后的界面如图2-14所示。
图 2-14
执行设计器“File”菜单下的“Save as”命令,保存所设计的层文件,如“MyFirst”。见图2-15所示。
图 2-15
下面让Basic4android自动产生成员变量声明。方法如下:
执行设计器“Tools”菜单下的“Generate members”命令,出现“Generate members”对话框,像图2-16所示那样进行设置,然后点击“Generate member”按钮,产生变量声明和子函数框架代码,然后点击“Close”按钮,关闭对话框。
图 2-16
产生的代码如图2-17所示。
图 2-17
现在,我们回到Basic4android IDE,完成代码编写。
首先,我们需要在Activity_Create函数中调用我们之前所设计的层文件。键入Activity和一个小点,代码专家将显示所有可用的属性或函数。选择“LoadLayout”,然后按回车键,键入“(”,出现参数提示,键入“"MyFirst")”,完成该子函数代码编写。
接着,我们需要在BtnHello_Click函数中加入一些代码,以便点击“你好”按钮后,标签显示为“你好,Android”。键入LbHello和一个小点,选择“Text”,按回车键,键入代码“="你好,Android!"”,完成该子函数代码编写。
完整的代码如下:
1 'Activity module
2 Sub Process_Globals
3 'These global variables will be declared once when the application starts.
4 'These variables can be accessed from all modules.
5 End Sub
6 Sub Globals
7 'These global variables will be redeclared each time the activity is created.
8 'These variables can only be accessed from this module.
9 Dim LbHello As Label
10 Dim BtnHello As Button
11 End Sub
12 Sub Activity_Create(FirstTime As Boolean)
13 Activity.LoadLayout("MyFirst")
14 End Sub
15 Sub Activity_Resume
16 End Sub
17 Sub Activity_Pause (UserClosed As Boolean)
18 End Sub
19 Sub BtnHello_Click
20 LbHello.Text="你好,Android!"
21 End Sub
激动人心的时刻即将到来。让我们编译程序,然后在模拟器中执行。
在IDE的工具栏中点击向右的小三角按钮,编译并运行程序。
图 2-18
由于我们还没有设置包名,因此,IDE将出现提示框,如图2-19所示。
图2-19
【注意】:包名必须为小写字母。
在随后出现的对话框中,设置Label为“MyFirstProgram”。点击“Ok”按钮,程序开始进行编译。当出现“Completed successfully”,说明编译成功完成,点击“Close”按钮,关闭对话框。
现在让我们重新回到模拟器界面。点击“你好”按钮,LbHello显示“你好,Android !”,见图2-20。
图 2-20
恭喜你,你已经完成了你的第一个程序!
更多推荐
所有评论(0)