こんにちは、私は現在、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"));
}
フラグメント アクティビティを拡張するクラスの内部ストレージから保存されたデータを取得するにはどうすればよいですか?