問題タブ [android-sqlite]
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データベースの問題
別のアクティビティからデータベースを呼び出すアプリケーションを作成していますが、データベース側からあらゆる種類のエラーが発生し続けています。最初、私は
「SQLiteExceptionそのようなデータはありません」
アプリケーションを削除して再度インストールすると、今では
"android.database.sqlite.SQLiteConstraintException:エラーコード19:制約に失敗しました"
もうどうしたらいいのかわからない。データベースの作成に関して非常に多くの異なる例を経験しましたが、何かが足りないかどうかわかりませんか?..データベース側のコードは次のとおりです。
主なエラー出力は次のとおりです。
android - 複数のテーブルを操作するためのベストプラクティス
アプリケーションで複数のテーブルを持つデータベースを使用しています。解析中に2つのテーブルにデータを書き込む必要があるXMLパーサーがあります。両方のテーブル用に2つのデータベースアダプタを作成しましたが、問題が発生しました。1つのテーブルで作業している場合、それは簡単です。
これはSAXパーサーであるため、私の意見では(おそらく私は間違っています)、これはさらに優れています。
しかし、2番目のテーブルにデータを挿入する必要がある場合はどうすればよいですか?たとえば、2つ目のアダプターがある場合、これは悪い考えだと思います。
これを達成する方法について何か考えはありますか?
android - AndroidはSQLiteのデータベースバージョンをどこに保存しますか?
AndroidがSQLiteデータベースファイル内のどこにデータベースバージョンを保存しているかがわかりません。データベースのバージョンは正確にどこに保存されていますか?
android - Android のデータベース エラー
SQLite でアプリケーションを作成しています。データベースから値をフェッチすると、次のエラーが発生します。
データベースから取得しているデータが表示されるまでに時間がかかるのは、このエラーが原因だと思います。それを解決する方法に関する提案はありますか?
android - SQLiteデータベースのリークが見つかりました
アプリケーションを作成しています。このエラーが発生します:
11-08 13:46:24.665:ERROR / Database(443):java.lang.IllegalStateException:/data/data/com.testproj/databases/Testdb SQLiteDatabaseが作成され、閉じられませんでした
時々エラーが表示されるので、理由がわからないようです。これが私のコードです:
別のクラスでは、次のクエリがあります。
私の問題は、を取得する新しいアクティビティを開始するときですAsyncTask
。このタスクは、Webサービスからデータを取得し、のデータベースにアクセスしますString
。これがAsyncTask
:
活動を軌道に乗せれば、すべてうまくいきます。そうしないとすぐに戻るボタンを押すと、エラーが発生します。この問題を解決する方法について何か提案はありますか?
android - テーブルから最初のデータのみをクエリします
テーブルの最初のデータのみをクエリしようとしています。
最初のデータのみがテーブルから取得されるクエリを実装する方法を誰かに教えてもらえますか?
解決
私は答えを解決したと思います:
最初に使用limit 1
しましたが、アプリケーションがクラッシュしました。私が番号を渡す場合にのみ、String
それは機能します。limitパラメーターを使用している間、クエリには8つのパラメーターがあります。
android - SQLiteデータベースとの間でバイト配列(画像データ)を保存および取得するにはどうすればよいですか?
AndroidのSQLiteデータベースとの間でバイト配列(画像データ)を保存および取得するにはどうすればよいですか?
android - AndroidでDBにログイン登録
ユーザー名とパスワード EditText
のフィールドとボタンを備えたログイン登録ページを作成しています。編集フィールドに値を入力してボタンをクリックすると、 に登録されますDB
。しかし、それはしませんでした。どうすればこれを行うことができますか?
私の登録コードを以下に示します。
そして、私の DBAdapter クラスを以下に示します..
android - Android SQLite はエミュレータでクラッシュしますが、電話ではクラッシュしませんか?
コードが電話で正常に実行されるという興味深い問題がありますが、エミュレーターで実行すると、アプリがデータベースから値を取得しようとするとすぐにクラッシュします。
これがクラッシュしているDB Helper関数です
そして、それがスローするエラーは次のとおりです。
getWriteableDatabase() が再帰的に呼び出されました。
android - Android マルチスレッド アプリケーションでの yieldIfContendedSafely() の適切な使用
私のアプリケーションでAsyncTask
は、トランザクションでデータベースにデータを書き込むために を使用しています。このデータベースは、UI スレッドからもアクセスされます。利用可能なデータベース メソッドを調べているうちに、yieldIfContendedSafely()
. このメソッドは、トランザクションが別のスレッドから行われている場合に使用する必要があるようです。ただし、この方法に関するドキュメントは、次のものを除いてほとんどありません。
トランザクションを一時的に終了して、他のスレッドを実行できるようにします。これまでのところ、トランザクションは成功していると見なされます。
setTransactionSuccessful
これを呼び出す前に呼び出さないでください。これが返されると、新しいトランザクションが作成されますが、成功としてマークされません。これは、ネストされたトランザクションがない (1 回だけ呼び出された) ことを前提としておりbeginTransaction
、そうでない場合は例外をスローします。
スレッドからこのメソッドを使用すると仮定すると、次のようになります。
これは、このメソッドを使用する正しい方法ですか? db.yieldIfContendedSafely()
データベース内の異なるテーブルへの複数の書き込みの間に、同じトランザクションで複数回使用しても問題ありませんか? 助言がありますか?