首页 > 解决方案 > 如何解决 Android 中的“无法解析方法 getAssets()”

问题描述

我正在尝试使用 getAssets()。在 Android Studio,但它不起作用。我制作了这个文件来解析 JSON 数据。我该如何解决?

JsonParseData.java

package com.example.naviforyou;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;

public class JsonDataParse<SeoulData> {

private String getJsonString() {
    String json = "";

    try {
        //
        InputStream is = getAssets().open("SeoulData.json");
        int fileSize = is.available();

        byte[] buffer = new byte[fileSize];
        is.read(buffer);
        is.close();

        json = new String(buffer, "UTF-8");
    } catch (IOException ex) {
        ex.printStackTrace();
    }

    return json;
}

标签: android

解决方案


getAssets() 是上下文的方法,因此:使此类接受上下文对象,将其设置为成员上下文,然后您可以从上下文成员变量调用 getAssets()

您可以将上下文传递给让方法 getJsonString(Context context) 接受的类构造函数。然后你调用 contxt.getAssets()


推荐阅读