DroidScript应用开发指南

DroidScript是一个强大的应用开发工具,它允许开发者轻松创建各种类型的应用,比如数据库应用、消息应用、邮件应用等。此外,DroidScript还提供了对移动设备上各种传感器的访问,如加速度计、指南针、相机、GPS等。DroidScript应用内置了一个编辑器,可以直接在设备上创建应用,也可以通过在PC上使用WiFi编辑器进行脚本的创建或编辑。

本文将展示如何使用DroidScript Android应用来开发Android平台的应用。将创建一个简单的数据库应用,该应用可以在设备的SQLite数据库中插入、更新、删除和查询数据。

本应用创建了一个名为empdb的示例数据库,并在其中创建了一个名为emp的表,包含empid、empname和salary三列。应用中包含六个按钮:添加、显示、显示全部、编辑、删除和删除全部,用于执行数据库表的常见操作。

使用代码

当应用程序开始运行时,会自动执行OnStart()函数。用户界面可以在OnStart()函数中进行编码。内置的app对象代表当前应用。app对象的CreateLayout()函数可以用来创建布局。SetBackGradient()函数可以用来为应用创建一个背景渐变。布局的AddChild()函数可以向布局中添加控件。以下代码在OnStart()函数中创建了一个接受员工ID的文本字段界面:

mainLayout = app.CreateLayout("linear", "Vertical,FillXY"); mainLayout.SetBackGradient("#ff0000ff", "#ffff0000"); empidLayout = app.CreateLayout("linear", "Horizontal"); empidLabel = app.CreateText("Emp ID: ", 0.5, 0.1); empidText = app.CreateTextEdit("", 0.5, 0.1); empidLayout.AddChild(empidLabel); empidLayout.AddChild(empidText); mainLayout.AddChild(empidLayout);

布局可以嵌套在彼此内部,以创建复杂的布局。例如,以下代码在主布局中创建了三个水平排列的按钮。

btnLayout1 = app.CreateLayout("linear", "Horizontal"); btnAdd = app.CreateButton("Add", 0.25, 0.1); btnAdd.SetOnTouch(btnAdd_OnTouch); btnDisplay = app.CreateButton("Display", 0.25, 0.1); btnDisplay.SetOnTouch(btnDisplay_OnTouch); btnDisplayAll = app.CreateButton("Display All", 0.25, 0.1); btnDisplayAll.SetOnTouch(btnDisplayAll_OnTouch); btnLayout1.AddChild(btnAdd); btnLayout1.AddChild(btnDisplay); btnLayout1.AddChild(btnDisplayAll); mainLayout.AddChild(btnLayout1);

按钮对象的SetOnTouch()函数指定了按钮点击事件的事件处理程序。添加完所有控件后,最终可以使用appAddLayout()函数将主布局添加到应用中:

app.AddLayout(mainLayout);

可以使用appOpenDatabase()方法创建或打开数据库(如果数据库已存在)。数据库对象的ExecuteSql()方法可以用来执行数据库上的任何SQL命令。以下代码创建或打开一个名为empdb的数据库,并在不存在的情况下创建emp表。

db = app.OpenDatabase("empdb"); db.ExecuteSql("create table if not exists emp(empid integer primary key, empname text, salary integer)");

可以使用ExecuteSql()函数对表执行其他DML操作和查询。

以下代码插入一条新记录,以参数形式获取字段值,并指定错误事件处理程序:

function btnAdd_OnTouch() { db.ExecuteSql("insert into emp values(?,?,?)", [empidText.GetText(), empnameText.GetText(), empsalaryText.GetText()], null, OnError); empidText.SetText(""); empnameText.SetText(""); empsalaryText.SetText(""); empidText.Focus(); }

类似地,可以根据主键查询记录:

function btnDisplay_OnTouch() { db.ExecuteSql("select * from emp where empid=?", [empidText.GetText()], OnResult); }

所有记录都可以在警告对话框中检索并显示:

function btnDisplayAll_OnTouch() { db.ExecuteSql("select * from emp", [], OnAllResults); }

记录可以像下面这样进行编辑:

function btnEdit_OnTouch() { db.ExecuteSql("select * from emp where empid=?", [empidText.GetText()], OnEditResult); }

以下代码删除指定ID的员工的详细信息:

function btnDelete_OnTouch() { db.ExecuteSql("select * from emp where empid=?", [empidText.GetText()], OnDeleteResult); } function btnDeleteAll_OnTouch() { dlgDeleteAllConf.Show(); }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485