いつもお世話になっています。
Android Studioで内部ストレージにtextファイルを保存しようとしています。
ボタンを押した時に下記コードのsaveFile、readFileが実行されるようにコードを組んでおり、
readFileの中身がちゃんと出力されることから内部ストレージへのファイルの保存は出来ているものと思われます。
これらのデータは/data/data/パッケージ名/files/内に保存されていると思われるのですが、その中身を見ようとして
adb shell
run-as パッケージ名
とターミナルに打ち込んでも「パッケージ名 is Unknown」となってしまいます。
この原因についてご存じの方がいらっしゃればお教え願えませんでしょうか。
class MainActivity : AppCompatActivity() {
private val fileName = "testfile.txt" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Save file buttonSave.setOnClickListener(View.OnClickListener { // get string contents of EditText val contents = editText.text.toString() if (!contents.isEmpty()) { saveFile(fileName, contents) textView.text = getString(R.string.saved) } else { textView.text = getString(R.string.no_text) } }) // Read file buttonRead.setOnClickListener(View.OnClickListener { val str = readFiles(fileName) if (str != null) { textView.text = str } else { textView.text = getString(R.string.read_error) } }) } private fun saveFile(file: String, str: String) { applicationContext.openFileOutput(file, Context.MODE_PRIVATE).use { it.write(str.toByteArray()) } //File(applicationContext.filesDir, file).writer().use { // it.write(str) //} } private fun readFiles(file: String): String? { // to check whether file exists or not val readFile = File(applicationContext.filesDir, file) if(!readFile.exists()){ Log.d("debug","No file exists") return null } else{ return readFile.bufferedReader().use(BufferedReader::readText) } }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/28 07:10
退会済みユーザー
2019/09/28 08:14
2019/09/28 10:41
2019/09/28 10:47
退会済みユーザー
2019/09/28 12:43
2019/09/29 23:59
2019/10/01 06:22
退会済みユーザー
2019/10/01 10:15
2019/10/02 05:36
2019/10/02 06:26
退会済みユーザー
2019/10/02 11:19
2019/10/03 07:24