2016-08-28 15 views
0

AndroidアプリをテストするためにBluestacksを使用しています。私はSDCardにファイルを書くのは難しいですが、そのパスを特定できないようです。私は次のように試しました:/mnt/sdcard/ext_sd & /mnt/extSdCardしかし、どちらも働いていません。AndroidでのSDカードの位置

答えて

0

私は次のことを試してみた:/mnt/sdcard/ext_sd & /mnt/extSdCardしかし 働いていた人々のどちらも。

パスをハードコードしないでください。 SDカードの保存場所やパスは電話によって異なります。自分の携帯電話のSDカードの保管場所は、APIレベル19

、あなたの質問に来て今/storage/sdcard1

で、SDカードに保存するためには公式API methodありませんでした。しかし、多くの人が非公式の図書館やAPIを使ってそれを行うことができます。

正式には、APIレベル19(Androidバージョン4.4 - Kitkat)のContextクラスに1つのメソッド(getExternalFilesDirs)が導入されました。

File[] getExternalFilesDirs (String type) 

これは、アプリケーションが、それが所有している 永続的なファイルを置くことができ、すべての 共有/外部ストレージデバイス上のアプリケーション固有のディレクトリへの絶対パスを返します。これらのファイルは、アプリケーション内では であり、通常はメディアとしてユーザーに表示されません。

つまり、内部メモリとMicro SDカードの両方のストレージにパスが返されます。一般に、の第2の返されたパスは、マイクロSDカードの記憶パスになります(必ずしもそうではありません)。だから、このメソッドでコードを実行してチェックアウトする必要があります。

パスをハードコーディングする代わりに、アプリケーションソースコードでこのメソッドを使用してSDカードの場所を取得する必要があります。次に、その場所にファイルを書き込みます。

あなたは、Androidで保管場所またはパスの詳細をお知りになりたい場合は、API 19前my other answer

+0

を通過してください、公式の方法は、 '/ sdcard'ました。それは実際の場所へのシンボリックリンクである新しい電話機(下位互換性のため)でも引き続き使用できます。 – StenSoft

+0

@StenSoft私はAPI 19の前に公式のAPIメソッドがないことを意味しました。とにかく、指摘してくれてありがとう。私はこの混乱を避けるために私の答えを更新しました:) – AnV

関連する問題