sql >> データベース >  >> RDS >> SQLite

SQLiteDiskIOExceptionエラーコード10:ディスクI/Oエラー

    外部ストレージを使用しているため、アプリケーションは外部ストレージの状態を認識している必要があります。これは、Environment.getExternalStorageState()から取得できます。 。

    状態がMOUNTEDの場合にのみ、外部ストレージにアクセスする必要があります 。

    デバイスの起動中にファイル(またはSQLite DB、これは単なるファイルです!)を開こうとすると、間違いなく 外部ストレージがマウントされていないため、問題が発生します デバイスの起動が始まるまで(ホーム画面が表示された後)

    これを回避する方法は、IntentFilterを登録することです。 外部ストレージの状態のすべての変更が通知され、それに応じて動作します。

    ドキュメントを読むことは常に良い考えです!詳細については、Androidのドキュメントを参照してください:http://developer.android.com/reference/android/os/Environment.html

    この目的で外部ストレージを使用することは疑わしいです。なぜなら、いつ使用できなくなるかを制御できないからです。たとえば、ユーザーはデバイスをコンピューターのUSBに接続し、[USBマスストレージを有効にする]オプションを選択して、コンピューターからデバイスの外部ストレージにアクセスできるようにします。悪いニュース!アプリは外部ストレージから切断され、ほとんどの場合、クリーンアップIOを実行する機会がありません!

    このような状況では、データベースに入力するすべてのデータが利用可能である場合にのみ、それをどのように処理するかが決まります。




    1. VBAのDefTypeステートメント:下位互換性のダークサイド

    2. 19データベース設計エラーについて学ぶためのオンラインリソース

    3. 数値としてのSQL順序文字列

    4. SQLiteで2つの日付の差を計算する方法