問題タブ [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.
android - Android アーキテクチャ: 複数の ContentProvider と onUpgrade イベントの使用
私のアプリケーションには、 と の 2 つのデータベース テーブルがProducts
ありShoppingCard
ます。だから私は と を作成しましProductContentProvider
たShoppingCardContentProvider
。それぞれのメソッドで、 の子であるプライベート クラスをContentProvider
呼び出します。onCreate()
SQLiteOpenHelper
私の観点からは、両方のコンテンツ プロバイダーを担当
DATABASE_VERSION
する個別の ConfigBeanにグローバルな静的変数を作成します。したがって、更新すると、すべてのテーブルが更新されます。 =>それは機能しません。単に onUpdate イベントが発生することはありません。各コンテンツ プロバイダでa を指定している
DATABASE_VERSION
が、各コンテンツ プロバイダでバージョン番号が異なる
場合 => 機能しません。また、私の観点からは、パラメータ inSQLiteOpenHelper
が not と呼ばれるため、意味がありDATABASE_VERSION
ませんTABLE_VERSION
。つまり、すべてのonUpgradeリスナーでイベントを更新/スローしない限り、テーブルを更新することはできません。各コンテンツ プロバイダでを指定するが
DATABASE_VERSION
、各コンテンツ プロバイダのバージョン番号が等しい場合。
=>それはうまくいきます。
質問:
アップグレードをグローバルに処理するために public static 変数を外部に作成できないのはなぜですかDATABASE_VERSION
、それとも私のアーキテクチャで完全に間違った道を進んでいるのですか?
android - SQLiteDatabase.openDatabaseとSQLiteOpenHelper.getReadableDatabase
これら2つの方法に違いはありますか?どちらも開いたSQLiteDatabaseを返します。どちらもデータベースが存在しない場合は、どちらもデータベースを作成できます。SQLiteOpenHelperには、読み取り/書き込みが必要な場合のgetWriteableDatabaseもあります...
どの方法をどこで使用すればよいですか?私が見たサンプルコードに基づいて、私は最初にSQLiteOpenHelperを使用してデータベースを作成していますが、データベースを使用する必要があるときにSQLiteDatabase.openDatabaseを呼び出しています。
android - SQLiteOpenHelper の onCreate でコンテキストを取得する
私のAndroidアプリで:SQLiteOpenHelperのonCreateメソッドでContextにアクセスするにはどうすればよいですか?
android - DabaseHelper に値を渡す
OnItemSelectedListener
(スピナーにアタッチされた) クラスからDatabaseHelper
( ) クラスに値を渡すにはどうすればよいSQLiteOpenHelper
ですか?
セッターを使用しようとしていますDatabaseHelper
が、何らかの理由で機能していません。:|
MyOnItemSelectedListener:
データベースヘルパー:
前もって感謝します。:)
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は使用していません。誰か考えがありますか?これを理解したいと思います。
android - Android SQLiteOpenHelper によって生成された print ステートメント
正しく機能しない update ステートメントがあり、最終的なステートメントがどのようになるか知りたいです。Android SQLiteOpenHelper によって生成されたステートメントを出力する方法はありますか?
これまでのところ、スタックトレースをステップスルーすることで、データが取り込まれていないステートメントを取得することができました。
未入力のステートメントの構文は正しいです。
android - OnCreate()メソッドを呼び出すときのSqliteOpenHelper
こんにちは、MyDatabase Manager クラスのオブジェクトを作成しているときに、SqliteOPenHelper の Oncreate() メソッドが呼び出されるタイミングを知りたいです。
質問は、アプリを実行するとデータベースが作成されますが、テーブルが作成されず、例外テーブルがスローされないということです。
}
ここで私は自分の AdatabaseManager を呼び出しました
android - SQLiteOpenHelper-Androidの混乱
sqlite-androidに関していくつか質問があります
onUpgrade
アプリケーションでメソッドが呼び出されるのはいつですか?1つのアプリケーションに2つのヘルパークラスを含めることはできますか?もしそうなら...
次に、どのように/いつ2番目のクラスを呼び出すか
android - マーケットからのアップグレード時にアプリケーションの状態をリセットする方法
開発者として、私はすでにアプリケーションを市場に公開しています。ユーザーが新しいバージョンをダウンロードするときに、アプリケーションの状態 ( SharedPreferences 、SQLite スキーマ ... ) を消去する必要があります。SQLiteOpenHelperについて読みました。Eclipse からデバイスに新しい .apk をロードしているとき、アプリは以前の SharedPreferences を保持していると思います。DB スキーマが変更された場合、アプリはクラッシュします。
アプリケーションが市場からアップグレードされているときに「クリーンな状態」をトリガーすることは可能ですか?
android - SQLiteOpenHelperがonCreateを呼び出さない
これは、私がSQLiteOpenHelper(またはAndroid上のデータベース)を使用した最初の時間です。書き込み可能なデータベースを取得したとき、クラスの新しいインスタンスごとにonCreateが呼び出されないのはなぜかと思っていました。私は何か間違ったことをしていますか?
}