データベースのファイルが作られているか確認するために、
ファイルがある場所のパスを取得しようとしてものの、
意外とうまくいかず時間がかかってしまった…っていう時の解決策メモですー

getDatabasePathだとファイル名まで入っちゃった

とりあえず、getDatabasePathを使うと、ファイルの場所+ファイル名は確認できました。
こんな感じです…

println(this.getDatabasePath(“database.db”))

※”database.db“に、データベースファイルの名前を入れてください。
※Activityで使う場合はthisでいけるんですが、
 場合によってはthisの代わりに、Contextを取得して使う必要があるかもしれません)

これを実行すると、例えばこんな感じで表示されます。

/data/user/0/(プロジェクト名)/databases/database.db

くっ…… 近いんだけど、データベース名はいらないんだ…。
どうにかしてパスだけ取得したい…。

parent!

しかし、これで解決しました!

println(this.getDatabasePath(“database.db”).parent)

最後にparentをつければOKです!(javaの場合はgetParentとかかもしれません)
指定したファイルの、親を表示してくれるようです。
(参考:Path  |  Android Developers(公式、英語)

出力結果は、例えばこんな感じになります!

/data/user/0/(プロジェクト名)/databases

これでなんとかパスが取得できましたー。

スポンサーリンク