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

相关推荐
zhangphil1 天前
Android将ImageView显示的图原样取出转换为Bitmap,Kotlin
android·kotlin
plainGeekDev1 天前
CountDownTimer → Flow
android·java·kotlin
消失的旧时光-19431 天前
Kotlin 协程设计思想(七):为什么 Kotlin 要设计 SupervisorJob 和 supervisorScope?
android·开发语言·kotlin
JohnnyDeng941 天前
【Android】RecyclerView性能优化与缓存机制:从卡顿到丝滑的完整指南
android·性能优化·kotlin·mvvm
zfoo-framework1 天前
kotlin中体会到一些比较好用的点
android·开发语言·kotlin
我是唐青枫1 天前
Kotlin also 详解:附加操作、链式调试与实战示例
kotlin
alexhilton2 天前
AppFunctions:让你的Android应用更容易被AI智能体发现
android·kotlin·android jetpack
赏金术士2 天前
Android 组件化概念和特征
android·kotlin·组件化
我命由我123452 天前
Android 开发,FragmentPagerAdapter 的 isViewFromObject 方法问题
android·java-ee·kotlin·android studio·android jetpack·android-studio·android runtime