問題タブ [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.

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

android - AndroidにSQLiteを挿入するための文字列を適切に準備するにはどうすればよいですか?

そのため、Androidを学習しているときに、の使用ContentProvider方法と、を使用して正しく挿入する方法について多くのアドバイスをもらいましたSqliteDatabase。今、私には意味のないエラーがあります。少なくとも、誰もが私に言っていたことすべてについてです。エラーは次のとおりです。

'どこにも表示されない限り、すべてが正常に機能します。エスケープする必要があるので、理由はわかります。しかし、これは意味がありません。なぜなら、生のクエリを使用せず、提供されているバインディングメソッドを使用するように言われているからです。私の例が何であるかを提供させてください:

私が理解できたことから、それをバインドすることを想定しているので、なぜこれを回避する必要があるのですか?これがとのような他の方法にのみ適用される場合を除きquery()ますupdate()。どちらの場合でも、AndroidにSQLiteを挿入するための文字列を準備する際の適切な方法に誰かが光を当てることを望んでいます。前もって感謝します。

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

android - アプリの最大 sqlite db サイズを指定します。db full 例外の処理方法

インタビューで、Android アプリの sqlite db の最大サイズを設定する方法を尋ねられました。また、最大サイズに達した場合、どのように処理できますか?

EDIT : 以下の Marina Lynn の回答は、この質問に受け入れられるようです。しかし、データベースのサイズが指定した制限に近づいたときにトリガーされるある種のリスナーはありますか? (またはこのようなもの)

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

android - 複数の名前をキャプチャしてsqliteデータベースのテーブルに挿入できないのはなぜですか?

ListView、データベース、およびそのためのテーブルを作成しました。私はリストの5つの名前が好きです。sqliteデータベースのテーブルに複数の名前をキャプチャする必要がありますが、リストからは名しかキャプチャできません。どんな助けでもいただければ幸いです。ありがとう!=)

以下はコードです。

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

android - SimpleCursorAdapter を使用したカスタム ListView

SQLite データベースに保存されているデータを取得して、カスタム リスト ビューに表示しようとしています。

ファイルSettle.java:

ファイルSettle_entry.xml:

私のデータベーススキーマ

  • 名前 - VARCHAR
  • 金額 - REAL
  • 理由 - VARCHAR

SQLite データベースからデータを取得して Custom に表示するにはどうすればよいListViewですか?

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

android - 関連する格納された位置の代わりに listView に XML 文字列配列の値を表示する

質問のタイトルが不明確である場合は、最初に申し訳ありません。簡潔に表現する方法が思いつきませんでした。

個人の名前、生年月日、職種をデータベースに追加するための基本的なデータベース機能を備えたアプリがあります。ジョブの種類は、XML リソース ファイルの文字列配列から取り込まれたスピナーから選択されます。

データベースにはジョブ名は保存されず、文字列配列内の位置が保存されます (つまり、「ジョブ 1」は整数 0 として保存されます)。

次に、データベースの内容を listView に表示すると、その位置ではなく実際のジョブを表示したいのですが、これを行う方法がわかりません。

listView に使用しているコードは、Android Developers の例からのものです。

カーソル fetchAllPeople は、データベース内のすべての人のすべてのデータを取得します。

私の質問は; データベースに保存されているポジションだけでなく、実際のジョブを表示するにはどうすればよいですか。どんな助けでも大歓迎です。

編集:コードをまとめた

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

android - スレッドからsqllite dbにアクセスする

単一のデータベースとテーブルの作成と管理を支援するために、ストレージ アダプター (コンテキスト) をセットアップしました。レコードを読み取り、バックグラウンドで HTTP 経由で送信するために、新しいスレッドからテーブルにアクセスしようとしています。データベースへのその他のアクセスは、アクティビティ ベースで、挿入のみです。データは小さいですが、可能なレコードの数に基づいてスレッドが数秒実行される場合があります。UI とやり取りする必要はありません。

StorageAdapter クラス (SQL Lite セットアップ)

以下のスレッドからのエラー メッセージは次のとおりです。「コンストラクター StorageAdapter(Worker) は未定義です」

スレッドは次のとおりです。

私が皆を混乱させなかったことを願っています。数日間尻尾を追いかけていて、とても混乱しています。助けてくれてありがとう。

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

android - UIスレッドでカーソルを使用するAndroid

カーソルを使用してUIスレッドのsqliteデータベースからデータを取得するのはいつかどうか疑問に思っています。基本的に私はカーソルローダーを使ってカーソルを取得します。そして、そのカーソルで何かをしたいと思います。メインのUIスレッドからカーソルを使って何かをしても大丈夫ですか?本当に私はカーソルから1行を読み取る必要があります。

0 投票する
5 に答える
300 参照

android - 複数のデバイスで同じ DB

最初の起動時にアプリを高速化する必要があります。今のところ、解析するJSONファイルを使用し、最初の起動時にデータベースにデータを挿入します。問題は、大量のデータがあるため、これには長い時間がかかる可能性があることです (Samsung spica :/)。

別の方法を考えていました。最初のsqlite dbを生成するアプリが 2 つあり、それをメイン アプリのリソースにコピーします。したがって、JSON ファイルを埋め込む必要はもうありませんが、代わりに db を埋め込みます。私はこれが可能であることを知っており、その方法を知っています。

問題は、デバイスまたは Android API のバージョンによって DB が異なる可能性があるかどうかです。このデータベースをコピーすると、すべてのデバイスに正確なコピーが含まれます。これは問題ですか、データベースが X デバイス / API バージョンと互換性がないというリスクはありますか?いくつかの変更) ?

お時間をいただきありがとうございます。

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

android - SQL no such column エラーが存在する場合

データベースにクエリを実行すると、エラーが発生し続けSQLException: no such column、クエリが問題なく表示される理由がわかりません

ここに完全なエラーがあります

基本的に私がやろうとしていることは、データベースにクエリを実行してtype 1name

そのようなレコードが存在するという事実を知っているので、なぜこのエラーが発生するのかわかりません

編集: データベース作成コード

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

android - AndroidSQLのクラッシュ-そのような列はありません

私はこの問題を抱えてここ数日を過ごしました。私はここで同様の質問をすべて読み、多数のチュートリアルを参照しました。すべてが正しく見えても、プログラムがクラッシュします。

これがlogcatです:

したがって、存在しない列にアクセスしようとしているとのことです。これは、ReminderListProviderクエリメソッドの133行目からのビットで、エラーが発生していることを示しています。133行目はqueryBuilder.query呼び出しです。

列を宣言してデータベースを作成するコードは次のとおりです(RemindersTableMetaDataはBaseColumnsを実装しているため、_idの宣言はありません)。

クエリ呼び出しの直前に呼び出されるコードは次のとおりです。

解決した問題:この問題に遭遇する可能性のある他の人に明確にするために:何が起こったのか、メソッドへのsortOrder引数がどのように混乱したか

使われた。これはスクリプトコマンドのようなものだと思いました。たとえば、LOW_TO_HIGHなどを渡すと、それに応じて結果が並べ替えられます。はい、私は時々ばかです。ここで実際に渡したいのは、カーソルで返された行を並べ替えるために使用される列名です。とにかく、宣言された列名ではない「変更された」という文字列を渡していたため、プログラムがクラッシュしていました。データベースの設定方法がおかしいと思っていたのですが、それはずっと忘れていた、一見些細なことでした。それが人生だ。みんなの助けに感謝します。