1

こんにちは、私は現在、JSON データを内部ストレージに書き込む Android アプリを開発しています。これは、 FragmentActivityを拡張するクラスから取得する必要があります。

これは、データを内部ストレージに書き込む方法に関するコードです。

private void createFile(String data) throws IOException{
    FileOutputStream fos = openFileOutput("userObj", Context.MODE_PRIVATE);
    fos.write(data.getBytes());
    fos.close();
}

Activity を拡張するクラスからデータを取得しているとき、このようにデータを読み取ることができます

private void readFile() throws IOException, JSONException {

     FileInputStream fis = openFileInput("userObj");
     BufferedInputStream bis = new BufferedInputStream(fis);
     StringBuffer b = new StringBuffer();

     while (bis.available() != 0){
        char c = (char) bis.read();
        b.append(c);
     }

     bis.close();
     fis.close();
     JSONObject data = new JSONObject(b.toString());
     Log.d(Constants.DATA,  data.getString("qr_code_png"));
}

しかし、同じコードでFragmentActivityを拡張するクラスからデータを取得しているときは、取得できません:

  public void readFile() throws IOException, JSONException {
        FileInputStream fis = openFileInput("userObj");
        BufferedInputStream bis = new BufferedInputStream(fis);
        StringBuffer b = new StringBuffer();
        while (bis.available() != 0){
            char c = (char) bis.read();
            b.append(c);
        }
        bis.close();
        fis.close();
        JSONObject data = new JSONObject(b.toString());
        Log.d(Constants.DATA,  data.getString("qr_code_png"));

    }

フラグメント アクティビティを拡張するクラスの内部ストレージから保存されたデータを取得するにはどうすればよいですか?

4

0 に答える 0