android Lua下拉框,LuaView
LuaViewSDK 完全新手教程(Android)
说明:LuaView = LuaViewSDK
1.LuaViewSDK 是什么
LuaViewSDK 主要解决客户端开发中的两个常见问题:
相同的业务逻辑需要在 iOS 和 Android 平台各实现一次,除了开发成本高,也会引入体验的细微差别。是否有一种技术方案可以做到一份代码,两个平台运行,行为相同 ?
移动 APP 开发领域,要极致体验发布就不灵活(Native),要灵活发布就没有极致体验(H5)。有没有一种技术方案可以兼顾极致的体验和灵活的发布?
LuaView 可以完美解决上述两个问题。
LuaView 是一种运行在一个 ViewController/Activity 中,可以灵活加载Lua 脚本,并能够按照 Native
的方式运行的一种面向业务的开发技术方案。可以快速开发电商应用中既要求体验又要求灵活性的页面功能,例如首页,类目首页,垂直频道,大促活动会场等。
LuaViewSDK 对 iOS 和 Android 平台的接口做了包装,保证同一份 Lua 代码可以在两个平台运行,同时兼顾开发效率和运行性能。
LuaViewSDK 基于 LuaJ 和 LuaC 完成,所以有着与 Native 一样强大的性能。
LuaViewSDK 可以通过 Lua 脚本桥接所有 Native 的功能,所以具有与 Native 一样丰富的性能。
最关键的是 LuaViewSDK 已经开源了,可以在 https://github.com/alibaba/luaviewsdk 查看 LuaViewSDK 的全部代码。
说的这么好,有没有什么证明呢?请看聚划算客户端的量贩团、品牌团页面。
2.本文针对的人群
这里的内容主要针对没有无线开发经验,想快速学习无线开发的Android同学。
可能你是一个其他领域的程序员,做过前端或服务端开发,完全没有客户端开发经验。你只需要打开Android Studio
IDE,就可以完成这里的所有操作,可以快速建立一个简单的App,这个 App 没有其他功能,只是在屏幕上显示 Hello World
LuaView to Android!。
对,它就是又一个的 Hello Word!
3.大纲
环境安装( Android Studio 和 Android SDK )
Android Studio 建立Android工程(new Android Studio project)
通过 import module方式,导入 LuaViewSDK 依赖
使用 Lua 编写业务脚本
在 Activity Java 代码中加载 Lua 业务脚本
在模拟器中运行
4.环境配置
4.1 第一步是安装 Android Studio,Android开发必须用到的开发工具。
4.2 下载 Android SDK
Android SDK 在 Android Studio中已经包含,但是只是一个最新版的(当前最新为6.0),你可以将以前版本补全以进行所有代码测试。
通过 Androd Studio > Preferences 打开设置面板,然后选择 Appearance & Behavior > System Settings > Android SDK 看到SDK设置面板,
在SDK Platform中选择你要下载的SDK版本(这里需要讲Api Level 21、22 的版本全部钩上),然后点击 Apply 下载, 完成后重启 Android Studio即可。
4.3 第三步在github上clone LuaViewSDK到本地目录。
5. Hello World 开发
主要步骤为:
新建Androd工程
添加LuaViewSDK Module
编写 Lua 脚本
在Activity中加载 Lua 脚本
在模拟器中运行
5.1 新建Androd工程
(1)通过 File > New > New Project 建立新工程 或者
(2)选择 Empty Activity
(3)继续输入项目信息
(4)项目建成之后的目录结构
(4)项目建成之后的目录结构
5.2 添加LuaViewSDK Module
(1)通过 File -> New -> Import Module
选择之前git clone的LuaViewSDK目录下的Android/LuaViewSDK目录
点击ok后,在选择Module name 你可以直接用默认的“LuaViewSDK”,也可以自己选择一个新的module名称,注意不要去掉前面的“:”。直接点 finish。
(2) 引入时因为要下载LuaViewSDK中build.gradle中 buildToolsVersion
字段定义的gradle版本,过程可能会比较慢。先结束引入流程,然后文件目录版从Android切换成Project,找到LuaViewSDK下面的
build.gradle文件,进行编辑,将 buildToolsVersion字段的值替换成app目录下build.gradle中
buildToolsVersion 字段的值。
(3)点击一下 Sync Now 或者 build button 进行编译一下
(4)编译完成后如果当前compileSdkVersion的版本是23(Adnroid
6.0)的情况会报错,因当前LuaViewSDK暂不支持6.0编译,需要将compileSdkVersion降一下,这里可以直接改两个
module目录下的build.gradle文件。
app目录下的build.gradle文件添加
compileSdkVersion 21
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'junit:junit:4.12'
compile 'com.android.support:support-v4:21.0.0'
compile 'com.android.support:recyclerview-v7:+'
compile project(':LuaViewSDK')
}
LuaViewSDK目录下的build.gradle文件添加或修改
compileSdkVersion 21
也可以直接用ide的工具进行修改:
1.点击项目右键 -> 选择Open Module Settings,进入Module修改面板。
2.Modules选中LuaViewSDK,在Properties选项中找到 “Compile Sdk Version”,下拉选中API 21。
3.Modules选中app,在Properties选项中找到 “Compile Sdk Version”,下拉选中API 21。
Flavors选项中 “Target Sdk Version”也要修改一下。
修改Dependencies选项 先将V4 和 V7包的版本依赖修改如下
app Module中添加LuaViewSDK module的依赖。选择“+” -> Module dependency ,
chose module 中选中“:LuaViewSDK”。
然后查看LuaViewSDK依赖是否已加入。
(5)点击一下 Sync Now 或者 build button 进行编译一下
这里可能会遇到某些style因修改compileSdkVersion而找不到,可以将报错行直接删除,将app目录下
AndroidManifest.xml文件中Activity对应的style修改成
“@android:style/Theme.Holo.Light”,不用android 6.0版本的style即可。
同时主Activity修改成继承自Activity。
然后再编译一下。
5.3 编写 Lua 脚本
(1)在app目录添加 assets 文件夹,如下:
(2)在 assets 文件夹下添加hello.lua文件:New > File
(3)文件内容为:
w,h = System.screenSize();
window.frame(0, 0, w, h);
window.backgroundColor(0xDDDDDD);
label = Label();
label.frame(0,50,w, 60);
label.text("Hello World LuaView to Android");
如下:
5.4 在Activity中加载 Lua 脚本
按照如下内容修改Activtiy文件:
package com.luaview.hellolua;
import android.app.Activity;
import android.os.Bundle;
import com.taobao.luaview.global.LuaView;
public class LuaActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LuaView view = LuaView.create(this);
view.load("hello.lua");
setContentView(view);
}
}
如下:
5.5 在模拟器中运行
点击运行按钮:
运行结果:
6.后记
完成了这些,你可以骄傲的说你能跨平台进行移动开发了,欢迎进入LuaView的世界!
在LuaViewSDK目录下,也可以让Android Studio直接运行Android子目录。在项目中有一些简单的lua demo,这些将是后续进阶的利器。
Doc目录下的内容是LuaViewSDK的doc帮助文档。
LuaViewDebugger目录下的文件是LuaView的调试工具(目前只支持模拟器调试)。
android Lua下拉框,LuaView相关推荐
- Android 自定义下拉框的实现 Spinner
下拉框布局 a_spinner_checked_text.xml <?xml version="1.0" encoding="utf-8"?> & ...
- android spinner下拉框
下拉框其实自己很少用到,不过昨天因为写界面时,自己用到了,当时忘记怎么写,所以在网上找了一下资料,做了一个自定义的下拉框.这里,自己把所做的记录一下,以免自己以后还需要到网上查找. 1.用androi ...
- android自定义三级下拉,Android自定义下拉框的简单实现
安卓自带的Spinner不会用啊,换个图片都好麻烦,更别提做各种自定义的效果了 自己尝试着写了个能用的 实现思路: 给予一个控件点击事件,弹出PopupWindow,通过对PopupWindow内的控 ...
- android改变下拉框字体颜色,有没有简单的方法来改变Android中的Spinner下拉颜色?...
我创建我的主题以与应用程序一起使用,主题的父级是Theme.AppCompat.Light.NoActionBar 顺便说一句,我想要白色背景和黑色文字. 这是适配器代码 val adapter = ...
- android editext下拉框,android实现下拉框和输入框结合
1.如何实现:将一个EditText和ListView+PopupWindow 结合起来.自定义一个EditText,在自定义控件中用PopupWindow实现弹出ListView,已达到想要的效果. ...
- android联动下拉菜单,Android spinner下拉框连动
本代码主要功能 1. 向拉菜单 spinner添加数据 2.下拉菜单连动 以下是核心代码 //定义变量 private Spinner spinner3; private Spinner spinne ...
- android选择下拉框的默认值,如何在Android中将默认值设置为微调器下拉列表?
我需要将默认值文本"选择你的设备"值设置为我的微调器下拉列表,我把它作为列表项,所以它作为一个下拉列表项,我隐藏下拉列表,因为这我的下拉菜单中有一个空白区域. 我该怎么做? 这是我 ...
- Android 之 下拉框(Spinner)的使用
下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为 ...
- android改变下拉框字体颜色,AutoCompleteTextView下拉字体颜色
问题代码如下: public class WikiSuggestActivity extends Activity { public String data; public List suggest; ...
最新文章
- Java8 Stream应用:Map合并、过滤、遍历、values int求和等
- 《C++primer》第二章--变量和基本内置类型
- 根据STATUS信息对MySQL进行优化
- 用RPython在云端运行可扩展数据科学
- Python 类的特性讲解
- springboot 添加 jsp支持
- 第一章 计算机系统概述 1.1 计算机发展史 [计算机组成原理笔记]
- valueOf与toString
- iPhone 12 Pro/Pro Max最新渲染图曝光
- 关于gcc的一点小人性化提示
- 58. magento quote lifetime
- 序列化:ProtoBuf 与 JSON 的比较 !
- MATLAB设计不同结构的FIR或IIR滤波器
- sqlite如何与mysql连接数据库连接_c#中怎么连接到sqlite数据库?
- MFC开发wps演示
- 草图大师 2019 破解版|草图大师Sketchup pro 2019中文破解版64位下载 v19.0(附Sketchup 2019破解补丁)
- Java开源企业协同办公项目:O2OA如何集成WPS
- 处理MathType的兼容问题(下)
- 统计素数并求和python_Python练习题4.2统计素数并求和
- 系统辨识与自适应控制matlab程序_杂志精选 | 自适应声反馈抑制技术及其应用