小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

LuaView

 quasiceo 2016-07-14

/LuaViewSDK

58c4a56 on 17 Mar
yuyi.lwm 文檔修正
233 lines (158 sloc) 9.92 KB

LuaViewSDK 完全新手教程(Android)

說明:LuaView = LuaViewSDK

1.LuaViewSDK 是什么

LuaViewSDK 主要解決客戶端開發(fā)中的兩個(gè)常見問題:

  • 相同的業(yè)務(wù)邏輯需要在 iOS 和 Android 平臺(tái)各實(shí)現(xiàn)一次,除了開發(fā)成本高,也會(huì)引入體驗(yàn)的細(xì)微差別。是否有一種技術(shù)方案可以做到一份代碼,兩個(gè)平臺(tái)運(yùn)行,行為相同 ?

  • 移動(dòng) APP 開發(fā)領(lǐng)域,要極致體驗(yàn)發(fā)布就不靈活(Native),要靈活發(fā)布就沒有極致體驗(yàn)(H5)。有沒有一種技術(shù)方案可以兼顧極致的體驗(yàn)和靈活的發(fā)布?

LuaView 可以完美解決上述兩個(gè)問題。

LuaView 是一種運(yùn)行在一個(gè) ViewController/Activity 中,可以靈活加載Lua 腳本,并能夠按照 Native 的方式運(yùn)行的一種面向業(yè)務(wù)的開發(fā)技術(shù)方案??梢钥焖匍_發(fā)電商應(yīng)用中既要求體驗(yàn)又要求靈活性的頁面功能,例如首頁,類目首頁,垂直頻道,大促活動(dòng)會(huì)場等。

LuaViewSDK 對(duì) iOS 和 Android 平臺(tái)的接口做了包裝,保證同一份 Lua 代碼可以在兩個(gè)平臺(tái)運(yùn)行,同時(shí)兼顧開發(fā)效率和運(yùn)行性能。

LuaViewSDK 基于 LuaJ 和 LuaC 完成,所以有著與 Native 一樣強(qiáng)大的性能。

LuaViewSDK 可以通過 Lua 腳本橋接所有 Native 的功能,所以具有與 Native 一樣豐富的性能。

最關(guān)鍵的是 LuaViewSDK 已經(jīng)開源了,可以在 https://github.com/alibaba/luaviewsdk 查看 LuaViewSDK 的全部代碼。

說的這么好,有沒有什么證明呢?請(qǐng)看聚劃算客戶端的量販團(tuán)、品牌團(tuán)頁面。

2.本文針對(duì)的人群

這里的內(nèi)容主要針對(duì)沒有無線開發(fā)經(jīng)驗(yàn),想快速學(xué)習(xí)無線開發(fā)的Android同學(xué)。

可能你是一個(gè)其他領(lǐng)域的程序員,做過前端或服務(wù)端開發(fā),完全沒有客戶端開發(fā)經(jīng)驗(yàn)。你只需要打開Android Studio IDE,就可以完成這里的所有操作,可以快速建立一個(gè)簡單的App,這個(gè) App 沒有其他功能,只是在屏幕上顯示 Hello World LuaView to Android!。

對(duì),它就是又一個(gè)的 Hello Word!

3.大綱

  • 環(huán)境安裝( Android Studio 和 Android SDK )
  • Android Studio 建立Android工程(new Android Studio project)
  • 通過 import module方式,導(dǎo)入 LuaViewSDK 依賴
  • 使用 Lua 編寫業(yè)務(wù)腳本
  • 在 Activity Java 代碼中加載 Lua 業(yè)務(wù)腳本
  • 在模擬器中運(yùn)行

4.環(huán)境配置

4.1 第一步是安裝 Android Studio,Android開發(fā)必須用到的開發(fā)工具。

4.2 下載 Android SDK

Android SDK 在 Android Studio中已經(jīng)包含,但是只是一個(gè)最新版的(當(dāng)前最新為6.0),你可以將以前版本補(bǔ)全以進(jìn)行所有代碼測(cè)試。 通過 Androd Studio > Preferences 打開設(shè)置面板,然后選擇 Appearance & Behavior > System Settings > Android SDK 看到SDK設(shè)置面板, 在SDK Platform中選擇你要下載的SDK版本(這里需要講Api Level 21、22 的版本全部鉤上),然后點(diǎn)擊 Apply 下載, 完成后重啟 Android Studio即可。 Android SDK 下載

4.3 第三步在github上clone LuaViewSDK到本地目錄。

5. Hello World 開發(fā)

主要步驟為:

  1. 新建Androd工程
  2. 添加LuaViewSDK Module
  3. 編寫 Lua 腳本
  4. 在Activity中加載 Lua 腳本
  5. 在模擬器中運(yùn)行

5.1 新建Androd工程

(1)通過 File > New > New Project 建立新工程 或者 新建android工程1 新建android工程2 新建android工程3

(2)選擇 Empty Activity 新建android工程4

(3)繼續(xù)輸入項(xiàng)目信息 新建android工程5

(4)項(xiàng)目建成之后的目錄結(jié)構(gòu) 新建android工程6

(4)項(xiàng)目建成之后的目錄結(jié)構(gòu) 新建android工程6

5.2 添加LuaViewSDK Module

(1)通過 File -> New -> Import Module 引入新module 選擇之前git clone的LuaViewSDK目錄下的Android/LuaViewSDK目錄 選中LuaViewSDK目錄 點(diǎn)擊ok后,在選擇Module name 你可以直接用默認(rèn)的“LuaViewSDK”,也可以自己選擇一個(gè)新的module名稱,注意不要去掉前面的“:”。直接點(diǎn) finish。 選擇Module name

(2) 引入時(shí)因?yàn)橐螺dLuaViewSDK中build.gradle中 buildToolsVersion 字段定義的gradle版本,過程可能會(huì)比較慢。先結(jié)束引入流程,然后文件目錄版從Android切換成Project,找到LuaViewSDK下面的 build.gradle文件,進(jìn)行編輯,將 buildToolsVersion字段的值替換成app目錄下build.gradle中 buildToolsVersion 字段的值。 文件目錄版切換

build.gradle文件

替換buildToolsVersion字段

(3)點(diǎn)擊一下 Sync Now 或者 build button 進(jìn)行編譯一下

Sync Now build button

(4)編譯完成后如果當(dāng)前compileSdkVersion的版本是23(Adnroid 6.0)的情況會(huì)報(bào)錯(cuò),因當(dāng)前LuaViewSDK暫不支持6.0編譯,需要將compileSdkVersion降一下,這里可以直接改兩個(gè) 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的工具進(jìn)行修改:

1.點(diǎn)擊項(xiàng)目右鍵 -> 選擇Open Module Settings,進(jìn)入Module修改面板。 打開Module Settings

2.Modules選中LuaViewSDK,在Properties選項(xiàng)中找到 “Compile Sdk Version”,下拉選中API 21。 Modules中修改LuaViewSDK 3.Modules選中app,在Properties選項(xiàng)中找到 “Compile Sdk Version”,下拉選中API 21。 Modules中修改LuaViewSDK

  1. Flavors選項(xiàng)中 “Target Sdk Version”也要修改一下。 Flavors中修改Target Sdk Version
  2. 修改Dependencies選項(xiàng) 先將V4 和 V7包的版本依賴修改如下 V4 和 V7包的版本
  3. app Module中添加LuaViewSDK module的依賴。選擇“+” -> Module dependency , Module dependency chose module 中選中“:LuaViewSDK”。 chose module 然后查看LuaViewSDK依賴是否已加入。 LuaViewSDK依賴

(5)點(diǎn)擊一下 Sync Now 或者 build button 進(jìn)行編譯一下

Sync Now build button

這里可能會(huì)遇到某些style因修改compileSdkVersion而找不到,可以將報(bào)錯(cuò)行直接刪除,將app目錄下 AndroidManifest.xml文件中Activity對(duì)應(yīng)的style修改成 “@android:style/Theme.Holo.Light”,不用android 6.0版本的style即可。 修改AndroidManifest.xml 同時(shí)主Activity修改成繼承自Activity。 主Activity集成修改成Activity 然后再編譯一下。

5.3 編寫 Lua 腳本

(1)在app目錄添加 assets 文件夾,如下: 添加assets文件夾1 添加assets文件夾2

(2)在 assets 文件夾下添加hello.lua文件:New > File 添加hello.lua

(3)文件內(nèi)容為:

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");

如下: hello.lua內(nèi)容

5.4 在Activity中加載 Lua 腳本

按照如下內(nèi)容修改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);
    }

}

如下: Activity內(nèi)容

5.5 在模擬器中運(yùn)行

點(diǎn)擊運(yùn)行按鈕: 運(yùn)行按鈕 運(yùn)行結(jié)果: 運(yùn)行結(jié)果

6.后記

完成了這些,你可以驕傲的說你能跨平臺(tái)進(jìn)行移動(dòng)開發(fā)了,歡迎進(jìn)入LuaView的世界!

在LuaViewSDK目錄下,也可以讓Android Studio直接運(yùn)行Android子目錄。在項(xiàng)目中有一些簡單的lua demo,這些將是后續(xù)進(jìn)階的利器。

Doc目錄下的內(nèi)容是LuaViewSDK的doc幫助文檔。

LuaViewDebugger目錄下的文件是LuaView的調(diào)試工具(目前只支持模擬器調(diào)試)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多