要从应用程序库中的 .json 文件获取值,可以按照以下步骤进行操作:
在项目的根目录下创建一个名为 libs
的文件夹,并将 .json 文件放入该文件夹中。
在项目的 build.gradle
文件中添加以下代码,以将 .json 文件复制到构建输出目录中:
android {
// ...
sourceSets {
main {
assets.srcDirs += ['libs']
}
}
}
JsonReader.kt
的 Kotlin 文件,并在其中添加以下代码:import android.content.Context
import com.google.gson.Gson
import java.io.BufferedReader
import java.io.InputStreamReader
object JsonReader {
fun readJsonFile(context: Context, fileName: String, classOfT: Class): T? {
val jsonString = readJsonString(context, fileName)
return Gson().fromJson(jsonString, classOfT)
}
private fun readJsonString(context: Context, fileName: String): String {
val inputStream = context.assets.open(fileName)
val bufferedReader = BufferedReader(InputStreamReader(inputStream))
val stringBuilder = StringBuilder()
bufferedReader.use { reader ->
var line = reader.readLine()
while (line != null) {
stringBuilder.append(line)
line = reader.readLine()
}
}
return stringBuilder.toString()
}
}
val dataObject = JsonReader.readJsonFile(context, "your_json_file.json", YourDataClass::class.java)
其中,context
是当前的上下文对象,"your_json_file.json"
是 .json 文件的文件名,YourDataClass
是一个用于反序列化 .json 文件的数据类,可以根据需要自定义。
注意:在使用代码之前,需要确保将相应的 Gson 依赖项添加到项目的 build.gradle
文件中:
dependencies {
// ...
implementation 'com.google.code.gson:gson:2.8.6'
}
这样,你就可以通过读取应用程序库中的 .json 文件来获取值了。