0

我正在尝试使用 Kotlin 和 Android Studio 将本地 JSON 文件导入 Android 应用程序,但是该应用程序似乎找不到该文件。即使使用显式路径,JVM 似乎也无法获取文件。我试过制作一个 .txt 文件,但 JVM 也找不到。Klaxon 的教程不起作用,因为 Parser 类已被弃用;无论如何这都没关系,因为那不是错误所在。是的,该文件存在于目录中,并且是这样拼写的。

fun parse(name: String) : Any? {
    val inputStream: InputStream = File("C:\\Users\\Athena\\AndroidStudioProjects\\AD340HW1\\app\\zombie_movies.json").inputStream()
    val lineList = mutableListOf<String>()

    //val cls = Parser::class.java
    //inputStream.bufferedReader().useLines { lines -> lines.forEach {lineList.add(it)  } }
    //val strArray = arrayOfNulls<String>(lineList.size)
    return lineList
 }

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.athena.ad340hw1/com.example.athena.ad340hw1.ZombieMovies}:java.io.FileNotFoundException:C:\Users\Athena\AndroidStudioProjects\AD340HW1\app\僵尸电影.json(没有这样的文件或目录)

4

2 回答 2

0

要使用文本文件或任何其他外部文件,您必须让 android 应用程序要求用户授予权限。那里有代码会弹出一个框,询问是否允许使用文件系统。这是一个帮助您入门的链接我相信还有很多其他关于这个主题的好教程。https://developer.android.com/training/permissions/requesting.html

于 2018-04-20T21:17:03.917 回答
0

所以我最终做的只是将 JSON 托管在服务器上,然后将其从服务器上拉下来。这最终比在我的本地机器上使用它更好,因为将来需要从远程设备访问数据。我想我的根本错误是试图进行得太慢,太有条理。我应该刚刚启动我需要的服务器并完成它。

于 2018-05-20T16:50:19.263 回答