2

これらは、SAMSUNG TAB2 のメモリです。

1-Internal

2-Sdcard

3- (リムーバブル メモリ) とを**Extrenal_sdcard**混同しないでください。sdcardExtrenal_sdcard

Extrenal_sdcardmicro sd cardタブから削除できるものです。

Extrenal_sdcard (リムーバブル)内に SQLite データベースを作成しようとしていました。

しかし、私は成功しませんでした。

私は私たちがしていることのようにやろうとしていましたSdcard.

Environment.getExternalStorageState() +filename

しかし、Extrenal_sdcard (リムーバブル) の場合は機能しませんでした。

私がやろうとしていることは可能ですか?

私を助けてください。

SDカードにデータベースを作成する方法に関連するリンクを提供しないでください。

4

2 に答える 2

0

私は答えを得ました。

外部MicroSdカードにこのパスを提供する必要があります。

"/mnt/name_of_your_card/your_dbfile"

例:-

"/mnt/MyExternal_Card/My_database"

このリンクに感謝します。

Android 4.0以降の外部SDカードパスを取得するにはどうすればよいですか?

于 2013-02-07T05:23:16.570 に答える
0

私はあなたがそこで説明したことをやろうとはしていませんが、おそらくそれを行うことができ、うまくいくかもしれません-いくつかの注意事項があります. まず、外部ストレージ (SD カード) は安全ではないため、他のアプリケーションやユーザーが読み書きできる可能性があります。第二に、あなたが指摘したように、マウントを解除するとDBは消えます。

これらの欠点があるため、内部ストレージ データベース (デフォルト) を使用することをお勧めします。これは小さく、外部データ (画像やファイルなど) へのポインターを含む可能性があります。それ自体が外部ストレージにある可能性があります。 (および、外部ストレージが利用できない場合のプレースホルダーまたはその他の処理があります)。

それでも、試してみたい場合は、独自のApplicationオブジェクトなどでContextのgetDatabasePathメソッドをオーバーライドしてから、それを通常のSQLiteOpenHelperに渡す方がよいでしょう。次に、カーソルファクトリについて心配する必要はありません(ソースが確認しているように、これはオプションです-代わりにそのルートに行きたい場合は null を渡すだけです)。

于 2013-02-06T10:45:28.420 に答える