从resorce文件中读取

时间:2018-02-08 16:13:19

标签: android

enter image description here

嗨!这是我的项目的图像。我在这里尝试做的是从dictionary_zip_code.json文件中读取。你有我在图片中使用的方法。

问题是函数的结果为null。有人可以帮助我这个坦克吗?

public String loadJSONFromAsset(Context context) {
    String json = null;
    try {
        InputStream is = context.getAssets().open("dictionary_zip_code.json");

        int size = is.available();

        byte[] buffer = new byte[size];

        is.read(buffer);

        is.close();

        json = new String(buffer, "UTF-8");


    } catch (IOException ex) {
        ex.printStackTrace();
        return null;
    }
    return json;

}

这是我得到空指针异常的地方:

try {
        String text = loadJSONFromAsset(this); // text turns out to be null
        Log.e(TAG , text+"");
        object = new JSONObject(text); // here is where i get the npe.
    } catch (JSONException e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:2)

  

您需要将json文件复制到assets文件夹而不是java包。

注意:如果您没有资源文件夹,则需要创建项目。

enter image description here