Android開発記録雑記 -23ページ目

Android開発記録雑記

パソコン中級者ぐらいの私が
スマホアプリの開発をしてみようと思い立ち
Androidで動くアプリ開発過程をこれから書き記していきます。

今日は新しい項目 Saving Data の2番目
Saving Files を進めます。

前回はキーと値の組合せを書き出しただけですが
今回はファイルの保存方法です。

まず、2種類の方法があります。
特徴は以下のとおりです。

内部ストレージ
 いつでも使える
 外部アクセス制限がある
 アプリ削除と一緒に削除される

外部ストレージ

 デバイスが無いと使えない
 基本的にアクセスは自由
 アプリ削除されてもファイルは残る


ではまず、内部ストレージの保存法から

getFilesDir()   アプリの内部ディレクトリを取得
getCacheDir()  キャッシュファイルの内部ディレクトリを取得

以下のようにしてファイルを作成できる。
File
file = new File(context.getFilesDir(), filename);

そして作成したファイルにデータを書き込むには
String
filename = "myfile";
tring
string = "Hello world!";
FileOutputStream
outputStream;
try {
openFileOutput() で作成したファイルに書き込む
 outputStream
= openFileOutput(filename, Context.MODE_PRIVATE);
 outputStream
.write(string.getBytes());
 outputStream
.close();
}
...

さらに幾つかのファイルをキャッシュする方法
public File getTempFile(Context context, String url) {
   
File file;
   
try {
       
String fileName = Uri.parse(url).getLastPathSegment();


createTempFile( キャッシュディレクトリにファイルを作成
        file
= File.createTempFile(fileName,null,context.getCacheDir());
   
catch (IOException e) {
   
}
...
内部ストレージに作成されたファイルは外部からアクセスされることは
決してないと書かれているので信用します。

次に外部ストレージの保存法です。
といきたいとこですが、結構長くなるので今日はここまで~。