1. 首页
  2. 全部文档
  3. 移动端开发手册
  4. 安卓应用(3节)
  5. 开发导出安卓应用

开发导出安卓应用

开发导出原生安卓应用

  • TERSUS开发工具可以直接调用安卓开发包导出安卓可安装程序(.apk文件);用安卓开发包工具的模拟器来测试应用,或者在安卓手机中直接运行
  • 首先需要在开发者电脑上安装安卓开发工具,请参考“安卓SKD安装”一节内容,注意其中的SDK_HOME我们会在导出时用到

开发概述

开发一个原生的安卓应用主要有两部分:
1、开发一个移动应用项目
2、导出生成安卓安装文件

开发移动应用

  • 和其他应用开发一样采用拖放和连线开发,唯一要求是开发内容需要在模板的<Mobile View>移动端显示块中开发
  • 如果是从一个新项目开始处理的,建议新建项目(File>New>Tersus Project)时选“New Mobile Application”模板,模板中已有移动端显示块不需要自己拖入并进行属性设定处理
  • 一般不可以直接使用服务器端行为处理元件设计逻辑,因为可能并不与服务器进行数据交互处理,数据放于客户端;如果需要设计与服务器进行交互的应用,应用以下处理方式:
    方式一:服务器端的处理设计在同一个应用中

    • 开发服务器端处理的方式和网页应用服务一样,直接在服务器行为处理元件中进行逻辑开发
    • 开发过程中边开发边测试和所有开发测试一样(使用开发工具栏绿角形本地运行按钮),应用就是通过网页程序使用的方式来调用的
    • 如果应用开发完成,可以部署到服务上使用,部署方式和所有TERSUS项目部署一样
    • 部署完成后,可以访问http://host[:port]/app/mobile.html来使用应用,也可以通过访问部署的项目来确认成功部署
    • 在正式将项目导出为原生应用前,应在项目文件夹的“Web”文件夹中放一个js文件,在其中添加以下内容:
        if (tersus.isNative)
           tersus.serverURL='http://host[:port]/app';
      
    • 用部署时的信息来替换其中的host、port、app内容
    • 如果项目文件夹中没有“Web”文件夹或js文件,可以创建,建议js文件命名为“Server.js”
    • 注意:可以开发工具测试一下此处理程序,并不需要部署到服务器再进行测试
      使用开发的本机电脑IP,替代**server.js***host*
      用开发工具的运行按钮来运行项目(开发平台自带的服务器)
      将原生应用导入到手机中
      将手机联网到开发电脑所在同一个网络中
      在手机中运行原生应用

    如果运行时,出现“Failed to execute service”报错信息,则意味着与开发电脑服务器连接失败,需要确认以上步骤;用“http://host[:port]/app”来在手机的浏览器访问应用,此时手机就是”客户端”,而开发电脑就是“服务器端”

  • 另一处理方式更为常用,且服务器和客户端可以分离
    方式二:服务器端的处理设计在不同的应用中

    • 将服务器端的逻辑开发在另一个应用的“Callable Service可调用服务”元件中(比如命名为“fuwu”,且将可调用服务放于项目最底层系统元件中),并将此项目部署在服务器
    • 要在原生应用中调用服务器端的处理逻辑,在移动应用项目的逻辑需要位置放入一个与服务器端逻辑项目可调用元件同名的“Service服务器端行为处理”元件(同样命名为fuwu,注意),为此元件添加一个“URL”输入元件(选中Service元件右键单击在弹出的菜单中添加子元件中的“URL”子元件),将可调用元件所在的服务器端信息传入“URL”输入元件(比如为“http://host[:port]/fuwu”)
  • 原生应用可以使用设备本地、客户端的数据;所有数据库操作处理,如果不是在服务器端元件中的(Service/Secured Service/Show File等元件),则都是对本地数据库的操作,如果没有库表字段对象,则自动在运行时生成,请参考“离线应用及本地数据库”一节说明
  • 默认情况下,TERSUS会为原生应用在导出时生成项目名称对应的图标;如果开发者想用自己设计的图标和图片,在项目文件夹底层中新建一个“images”文件夹,并将图标图片放于此文件夹中,注意这些图标图片必须符合安卓的图标图片标准,如:尺寸、背景色、其他属性要求,请查看安卓官方的应用开发文档来设计
    部分尺寸及名称说明:

    icon36.png(36x36 pixels) - Android ldpi icon
    icon48.png(48x48 pixels) - Android mdpi icon
    icon57.png(57x57 pixels) - Android fallback icon
    icon72.png(72x72 pixels) - Android hdpi icon
    icon96.png(96x96 pixels) - Android default and xdpi icon
    

更多要求请参考安卓图标设计规范,需注意由于国内限制原因,安卓工具包下载和官方文档尽量网络服务使用VPN等才能触达

  • 安卓应用的开机动画或图片需要在其他软件中另外设计,并在其他开发工具中将我们生成的应用文件作为子程序加入,当这个开机动画或程序加载完后,TERSUS开发内容正式运行时,先加载“Loading…”信息,然后才显示移动端的显示界面
  • 可以在项目文件夹的“web”子文件夹下,添加一个loading.txt文件,用这个文件中的信息代替“Loading…”信息,注意这个文件是**.txt**格式的,但是内容可以用超文本来设计,也可以放入图片信息,可以处理为如下内容:
    <div style="height:480px;background-image:url(images/splash.png);background-position:0px -20px;"></div>
    

    这个处理中,一个splash名称的图片放于web/images子文件夹下,这个图片不是开机动画的部分,而是TERSUS程序加载后的正式界面显示前的信息显示

生成原生应用

  • 在TERSUS开发工具中选File>Export>Tersus>Native Mobile Application可在菜单工具栏点选导出按钮导出原生应用
  • 在弹窗中选导出目标平台为Android
    · 如果这是TERSUS开发工具在当前电脑上第一次导出安卓应用,则需要指定安卓开发包的地址,也就是SDK_HOME,请参考“安卓SDK安装”一节
    · 这个地址也可以通过Window>Preferences>Tersus>Application Export Wizard来时行修改
  • Export Location是TERSUS导出项目资源文件,并由安卓工具包(SDK)来编译生民安卓可安装文件的存放位置,注意这个地址不能有空格
  • Class NamePackage Name这两个信息是安卓应用的识别归类名称,需要按需设定为自己的名称
  • 选择以下一个Install on Devices选项
    • Install application in device:[Device ID]—生成原生应用(debug package),并在指定的设备上运行,[Device ID]是手机等移动设备制商生产设备时分配的标识号,用USB线将移动设备与开发电脑相连时,就会显示供选择
    • Install application in device: emulator-[serialNumber]—在模拟器中加载运行原生应用(debug package),模拟器请参考“安卓SDK安装”一节,[serialNumber]会在模拟器的标题中显示
    • Launch and install application in AVD:[AVD name]—生成原生应用(debug package),启动[AVD name]名称的虚拟设备模拟器,并在其中加载应用
    • Create debug package—在导出的文件夹的bin子文件夹下,生成原生应用(debug package),这个导出的文件可以在任意模拟器或设备中加载用于测试
    • Create release package—在导出的文件夹的bin子文件夹下,生成原生应用(release package),这个导出的文件中可以添加认证信息及导入其他开发工具重新生成安卓.apk程序文件,最终的安卓程序是用于使用或上传应用商店分发给用户的
    • None (export only)—这个选项会导出安卓程序源文件,可以用安卓工具包等进行开发处理生成安卓.apk可安装程序
  • 点击“Finish”生成安卓应用