[kotlin项目中使用luban配置] 1.java + kotlin共存

1)新建一个kt_json的项目

2)把java_json下的gen.bat复制到项目下,修改好导出json和代码的目录

复制代码
set WORKSPACE=..\..

set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll
set CONF_ROOT=%WORKSPACE%\DataTables

dotnet %LUBAN_DLL% ^
    -t all ^
    -c java-json ^
    -d json  ^
    --conf %CONF_ROOT%\luban.conf ^
    -x outputCodeDir=src\main\java\cfg ^
    -x outputDataDir=json ^
    -x pathValidator.rootDir=%WORKSPACE%\Projects\Csharp_Unity_bin ^
    -x l10n.provider=default ^
    -x l10n.textFile.path=*@%WORKSPACE%\DataTables\Datas\l10n\texts.json ^
    -x l10n.textFile.keyFieldName=key

pause

重点!!! java的代码必须在 src/main/java 目录下!!!

3)加载luban配置文件

复制代码
import cfg.Tables
import cfg.Tables.IJsonLoader
import com.google.gson.JsonParser
import java.nio.file.Files
import java.nio.file.Paths

/*
加载luban配置文件
 */
object TableManager {
    lateinit var tables: Tables

    fun init() {
        tables = Tables(IJsonLoader { file: String? ->
            JsonParser.parseString(
                String(Files.readAllBytes(Paths.get("json", file + ".json")), charset("UTF-8"))
            )
        })
    }
}

4)写kotlin测试用例

运行结果:

复制代码
== run == 1101001101
== x7 == [1, 2, 3, 4]

一切ok!!!

相关推荐
YB137512 小时前
jetpack compose 副作用 SideEffect
android·kotlin
唐青枫18 小时前
Kotlin interface 详解:别再把接口写成空壳和万能开关
kotlin
dalong101 天前
Savitzky-Golay 的C# 实现
开发语言·kotlin·c#
Android-Flutter1 天前
不阻塞线程
android·kotlin
Android-Flutter1 天前
kotlin 协程 - 核心概念
android·kotlin
Android-Flutter1 天前
为什么说ActivityThread是主线程?
android·kotlin
学习使我健康2 天前
一个基于 **Jetpack Compose + Material 3** 的 Android 入门示例项目,演示 Compose 声明式 UI 的核心用法
ui·kotlin·android jetpack
alexhilton2 天前
Android XR 开发入门完全指南
android·kotlin·android jetpack
我命由我123454 天前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法
4 天前
Android 自定义 View 实战:从零打造工业级全向摇杆控件(OmniJoystickView)
android·kotlin·自定义view·摇杆控件