[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!!!

相关推荐
传奇开心果编程2 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack
传奇开心果编程6 小时前
【Jetpack Compose基础语法学与练】第7课 if条件渲染 + 列表基础(LazyColumn)
学习·ui·kotlin·android jetpack
ai2work6 小时前
ch12 系统能力接入:TTS、剪贴板、分享、文件选择器
kotlin
传奇开心果编程7 小时前
【Jetpack Compose基础语法学与练】第9课 SideEffect副作用 + LaunchedEffect,处理异步任务和生命周期
android·学习·ui·kotlin·android jetpack
不要喷香水1 天前
00-总览与架构
kotlin·app·档案管理
hai_android1 天前
Android 组件化开发实践
android·java·kotlin
传奇开心果编程2 天前
【Jetpack Compose基础语法学与练】第6课 TextField文本输入,字符串状态与输入交互
学习·前端框架·kotlin·android jetpack
ai2work2 天前
ch06 Jetpack Compose 入门:状态驱动 UI
kotlin
JMchen3 天前
第 12 篇|项目整合与打包发布 —— 从 Demo 到可安装 APK 的完整收官指南
kotlin·android studio
Android打工仔3 天前
不要在 Data 层随意把 Cold Flow 转换成 Hot Flow
android·架构·kotlin