【发布时间】:2019-07-15 20:47:38
【问题描述】:
我在 Android Studio 中有一个 Android 项目。由于某种原因,我的 kotlin 文件中的代码会自动被一些奇怪的 xml 代码替换。
我不知道为什么会这样
例如下面的代码:
package com.alex.willtrip.objectbox.helpers
import com.alex.willtrip.objectbox.ObjectBox
import com.alex.willtrip.objectbox.converters.LocalDateConverter
import io.objectbox.Box
import io.objectbox.annotation.Convert
import io.objectbox.annotation.Entity
import io.objectbox.annotation.Id
import io.objectbox.annotation.Index
import org.threeten.bp.LocalDate
@Entity
class DateEntity (@Id var id: Long = 0, @Index val link: Long,
@Convert(converter = LocalDateConverter::class, dbType = Long::class)
val date: LocalDate)
class DateSaver {
private fun getBox (): Box<DateEntity> {
return ObjectBox.boxStore.boxFor(DateEntity::class.java)
}
fun getDate (link: Long): LocalDate? {
return getBox().query().equal(DateEntity_.link, link).build().findUnique()?.date
}
fun saveDate (link: Long, date: LocalDate) {
val id = getBox().query().equal(DateEntity_.link, link).build().findUnique()?.id ?: 0
getBox().put(DateEntity(id, link, date))
}
}
被代码替换
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeSettings">
<configurations>
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
</configurations>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>
【问题讨论】:
-
我也遇到了同样的问题,可能是 UTF 8 转换问题,尝试重新定位你的项目。