問題タブ [sqliteopenhelper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
601 参照

android - Android アーキテクチャ: 複数の ContentProvider と onUpgrade イベントの使用

私のアプリケーションには、 と の 2 つのデータベース テーブルがProductsありShoppingCardます。だから私は と を作成しましProductContentProviderShoppingCardContentProvider。それぞれのメソッドで、 の子であるプライベート クラスをContentProvider呼び出します。onCreate()SQLiteOpenHelper

  1. 私の観点からは、両方のコンテンツ プロバイダーを担当DATABASE_VERSIONする個別の ConfigBeanにグローバルな静的変数を作成します。したがって、更新すると、すべてのテーブルが更新されます。 =>それは機能しません。単に onUpdate イベントが発生することはありません。

  2. 各コンテンツ プロバイダでa を指定しているDATABASE_VERSIONが、各コンテンツ プロバイダでバージョン番号が異なる
    場合 => 機能しません。また、私の観点からは、パラメータ inSQLiteOpenHelperが not と呼ばれるため、意味がありDATABASE_VERSION ません TABLE_VERSION。つまり、すべてのonUpgradeリスナーでイベントを更新/スローしない限り、テーブルを更新することはできません。

  3. 各コンテンツ プロバイダでを指定するがDATABASE_VERSION、各コンテンツ プロバイダのバージョン番号が等しい場合。
    =>それはうまくいきます。

質問:

アップグレードをグローバルに処理するために public static 変数を外部に作成できないのはなぜですかDATABASE_VERSION、それとも私のアーキテクチャで完全に間違った道を進んでいるのですか?

0 投票する
1 に答える
4056 参照

android - SQLiteDatabase.openDatabaseとSQLiteOpenHelper.getReadableDatabase

これら2つの方法に違いはありますか?どちらも開いたSQLiteDatabaseを返します。どちらもデータベースが存在しない場合は、どちらもデータベースを作成できます。SQLiteOpenHelperには、読み取り/書き込みが必要な場合のgetWriteableDatabaseもあります...

どの方法をどこで使用すればよいですか?私が見たサンプルコードに基づいて、私は最初にSQLiteOpenHelperを使用してデータベースを作成していますが、データベースを使用する必要があるときにSQLiteDatabase.openDatabaseを呼び出しています。

0 投票する
2 に答える
4100 参照

android - SQLiteOpenHelper の onCreate でコンテキストを取得する

私のAndroidアプリで:SQLiteOpenHelperのonCreateメソッドでContextにアクセスするにはどうすればよいですか?

0 投票する
0 に答える
139 参照

android - DabaseHelper に値を渡す

OnItemSelectedListener(スピナーにアタッチされた) クラスからDatabaseHelper( ) クラスに値を渡すにはどうすればよいSQLiteOpenHelperですか?

セッターを使用しようとしていますDatabaseHelperが、何らかの理由で機能していません。:|

MyOnItemSelectedListener:

データベースヘルパー:

前もって感謝します。:)

0 投票する
3 に答える
10865 参照

android - Android SQLiteSQLiteOpenHelperIllegalStateException-DBはすでに閉じられていますエラー

これは私を数日間夢中にさせてきました。私はかなり複雑なAndroidアプリケーションを持っています。複数のスレッドを使用してサーバーからデータをプルし、SQLiteデータベースにデータを入力します。SQLiteOpenHelperの拡張機能を参照するためにシングルトンを使用しています。それぞれのアクティビティでデータベースを開いたり閉じたりしています。

このエラーは、私が4アクティビティの深さで、バックアウトしようとした場合にのみ発生します。データベースを開いたり閉じたりするさまざまな方法を試しました。たとえば、closeをonDestroy()からonPause()メソッドに移動したり、別のopenをonResume()に追加したりしました。

また、私のアクティビティではListViewsとExpandableListViewsを多用しているため、次の記事に基づいてデータベースが閉じられる可能性があることを理解しています。http: //darutk-oboegaki.blogspot.com/2011/03/sqlitedatabase-is-closed- automatically.html

コードを確認し、すべてのカーソルを閉じるか、アダプターに割り当てられている場合はstartManagingCursor()を呼び出していることを確認しました。

誰かが何が起こっているのかについての手がかりを持っていますか?

更新: 問題を修正しましたが、なぜこれが修正されたのかわかりません。だから、多分そこにいる誰かが知っているか、説明することができます。

アクティビティのスタックの4番目のアクティビティにいるとき、db.close()を介してdbを閉じようとしていました。これをどこに置いても、必要なデータを取得した後のonCreate、またはonStopまたはonDestroyで、このエラーが発生します。データベースを閉じない場合、問題は発生していません。そのため、何かが原因でデータベースが自動的に閉じています。奇妙なことに、この最後のアクティビティではexpandableListViewを使用していますが、cursorAdapterは使用していません。誰か考えがありますか?これを理解したいと思います。

0 投票する
1 に答える
236 参照

android - Android SQLiteOpenHelper によって生成された print ステートメント

正しく機能しない update ステートメントがあり、最終的なステートメントがどのようになるか知りたいです。Android SQLiteOpenHelper によって生成されたステートメントを出力する方法はありますか?

これまでのところ、スタックトレースをステップスルーすることで、データが取り込まれていないステートメントを取得することができました。

未入力のステートメントの構文は正しいです。

0 投票する
1 に答える
2547 参照

android - OnCreate()メソッドを呼び出すときのSqliteOpenHelper

こんにちは、MyDatabase Manager クラスのオブジェクトを作成しているときに、SqliteOPenHelper の Oncreate() メソッドが呼び出されるタイミングを知りたいです。

質問は、アプリを実行するとデータベースが作成されますが、テーブルが作成されず、例外テーブルがスローされないということです。

}

ここで私は自分の AdatabaseManager を呼び出しました

0 投票する
1 に答える
149 参照

android - SQLiteOpenHelper-Androidの混乱

sqlite-androidに関していくつか質問があります

  1. onUpgradeアプリケーションでメソッドが呼び出されるのはいつですか?

  2. 1つのアプリケーションに2つのヘルパークラスを含めることはできますか?もしそうなら...

  3. 次に、どのように/いつ2番目のクラスを呼び出すか

0 投票する
1 に答える
671 参照

android - マーケットからのアップグレード時にアプリケーションの状態をリセットする方法

開発者として、私はすでにアプリケーションを市場に公開しています。ユーザーが新しいバージョンをダウンロードするときに、アプリケーションの状態 ( SharedPreferences 、SQLite スキーマ ... ) を消去する必要があります。SQLiteOpenHelperについて読みました。Eclipse からデバイスに新しい .apk をロードしているとき、アプリは以前の SharedPreferences を保持していると思います。DB スキーマが変更された場合、アプリはクラッシュします。

アプリケーションが市場からアップグレードされているときに「クリーンな状態」をトリガーすることは可能ですか?

0 投票する
1 に答える
6904 参照

android - SQLiteOpenHelperがonCreateを呼び出さない

これは、私がSQLiteOpenHelper(またはAndroid上のデータベース)を使用した最初の時間です。書き込み可能なデータベースを取得したとき、クラスの新しいインスタンスごとにonCreateが呼び出されないのはなぜかと思っていました。私は何か間違ったことをしていますか?

}