getFilesDir()がどのように機能するかを説明するリンクを説明したり、提供することはできますか?私はそれが特定のパッケージ名の内部ストレージ上のパスを返すことを知っています。しかし、私はそれがパスをどのように返すのか知りたがりましたか?アプリケーションのインストール時にフォルダが直接作成されるか、メソッドが最初に呼び出されたときにフォルダが作成されますか?その他の同様の質問。アンドロイドgetFileDirメソッドはどのように動作しますか
0
A
答えて
1
Here is the stock implementation of Context
ContextImpl
として知られている。
getFilesDir()
の実装は、Androidの6.0のように、次のとおりです。
@Override
public File getFilesDir() {
synchronized (mSync) {
if (mFilesDir == null) {
mFilesDir = new File(getDataDirFile(), "files");
}
return createFilesDirLocked(mFilesDir);
}
}
createFilesDirLocked()
は、必要に応じて、ディレクトリを作成するために、いくつかの複雑な曲折を経る:
// Common-path handling of app data dir creation
private static File createFilesDirLocked(File file) {
if (!file.exists()) {
if (!file.mkdirs()) {
if (file.exists()) {
// spurious failure; probably racing with another process for this app
return file;
}
Log.w(TAG, "Unable to create files subdir " + file.getPath());
return null;
}
FileUtils.setPermissions(
file.getPath(),
FileUtils.S_IRWXU|FileUtils.S_IRWXG|FileUtils.S_IXOTH,
-1, -1);
}
return file;
}
は直接フォルダですアプリケーションのインストール時に作成されるか、メソッドが最初に呼び出されたときに作成されますか?
AFAIKは、メソッドが呼び出されると作成されます。これを自分でテストすることができます:アプリケーションを作成し、それをエミュレータにインストールしますが、実行しないでください。 Androidデバイスモニタまたはadb shell
を使用して、ディレクトリが存在するかどうかを確認します。
および他の同様の質問
あなたのレジャーでのAndroidのフレームワーククラスのためのJavaコードを熟読することを歓迎しています。
関連する問題
- 1. jQueryの.delayメソッドはどのように動作しますか?
- 2. BufferedReaderのread()メソッドはどのように動作しますか?
- 3. メソッドはどのようにPythonで動作しますか?
- 4. Jquery Mobile pageLoading()メソッドどのように動作しますか?
- 5. インチ単位のドットは、どのようにアンドロイドで動作しますか?
- 6. Meteorはどのように動作しますか?クライアントとサーバーはどのように動作しますか?
- 7. laravelはメソッドオブジェクトをメソッドの動作にどのように渡しますか?
- 8. model_path()メソッドはどのように動作するのですか?
- 9. HashSetは "contains"メソッドの動作をどのようにしますか?
- 10. Log4j FileNotFoundException - Java FileSystemのgetBooleanAttributes()メソッドはどのように動作しますか?
- 11. write(byte []、int、int)メソッドはどのように動作していますか?
- 12. 拡張TestFixtureクラスでSetUpメソッドがどのように動作しますか?
- 13. tf.train.Saverはどのように正しく動作しますか?
- 14. LINQ IEnumerableはどのようにして動作しますか?
- 15. Hibernateコールセパレーションジェネレータはどのようにして動作しますか?
- 16. Makefileでは、VPATHはどのように動作しますか?
- 17. PHPは "リモートインクルード"とはどのように動作しますか?
- 18. execlpはどのように正確に動作しますか?
- 19. インポートライブラリはどのように正確に動作しますか?
- 20. #+ BIND:実際にはどのように動作しますか
- 21. bindingnameはどのように正確に動作しますか?
- 22. CloudConfigurationManager.GetSetting( "")は実際にどのように動作しますか?
- 23. getline()は実際にどのように動作しますか?
- 24. .gitconfigの[github]セクションはどのように動作しますか?
- 25. Javaのガベージコレクタはどのように動作しますか?
- 26. listViewのsetListAdapter(Arrayadaper)はどのように動作しますか?
- 27. アクティビティタイマーイベントのデフォルトカレンダーはどのように動作しますか?
- 28. このC++コードはどのように動作しますか?
- 29. 残りのオペレーターはどのように動作しますか?
アンドロイドSDKの 'getFileDir'メソッドはありません – pskink